Bonjour à tous,
j'aimerais déboguer mes programmes, pour microcontrôleurs, de manière séquentielle. Je crée mes fonctions et je mets une ligne d'impression vers le port RS-232 aux endroits qui posent problêmes, un peu comme le déboguage avec printf();.
Je ne peux envoyer que des caractères sur ce port RS-232.
Je voudrais comme résultat cette représentation : "X.X" où X est un numéro allant de 0 à 9.
Mon problème est que je ne peux modifier une chaîne de caractères donc il me faudrait 100 tableaux pour déboguer de 0.0 à 9.9.
Voilà une fonction de principe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/*******FONCTION PRINCIPALE*******/
void main(void)
{
	unsigned int number=0;
	const unsigned char numb[]="0123456789";
	port_init();
	init_USART();
 
	while(1)
	{
		if(BOUTON==0)
	{
		/***OPERATION-1***/
		Sendchar_UART(numb[number++]);//Valeur à envoyer sur UART
		tempo(65500);
		/***OPERATION-2***/
		Sendchar_UART(numb[number++]);//Valeur à envoyer sur UART
		tempo(65500);
		/***OPERATION-X***/
		/*****************/
	}
	}
}
/***ENVOI D'UN CHAR SUR RS-232***/
void Sendchar_UART(unsigned char data)
{
 
	TXREG=data;//TXREG écrit sur le RS-232
	while(TXSTAbits.TRMT==0);//Si débordement de tampon
 
}
Je pourrais déboguer en répétant ce code à l'infini(0->9, 0->9...), mais je préfère réaliser ce système.

Je vous remercie pour vos suggestions.