Compteur avec des caractères
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:
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.