suite à une remarque que j'ai emise sur le forum mikroC
et une reponse ne corroborant pas ma remarque..
j'ai fait un test
"Stupeur et tremblement" comme dira N.Nothomb
j'ai faux !
quelqu'un pourrait m'expliquer pourquoi ces 2 versions
GSMcmd1 et GSMcmd2 se comportent d'une façon identique ?
car pour moi, il manque dans la version GSMcmd1 , des parentheses pour encadrer la boucle while!
=> tomberait en marche que pour un string de 1 seul char
mais problemo si plusieurs char dans la chaine
et non ?
Code : Tout sélectionner
void GSMcmd1(char *ch)
{
while(*ch)
if (UART1_Tx_Idle() == 1)
UART1_Write(*ch++);
UART1_Write(0x0D); // Send CR - command terminate character
}
void GSMcmd2(char *ch1)
{
while(*ch1)
{
if (UART1_Tx_Idle() == 1)
UART1_Write(*ch1++);
}
UART1_Write(0x0D); // Send CR - command terminate character
}programme de test ci joint projet zippé
resultats identiques ?
Test #1 GSMcmd1 cde avec 1 seul char
AT+CMGS="+381658025017"<CR>
Test #1 GSMcmd1 cde avec plusieurs char
txt
AT+CMGS="+381632198765"<CR>
GSMcmd1
AT+CMGS="+381632198765"<CR><CR>
Test GSMcmd2
txt
AT+CMGS="+381632198765"<CR>
GSMcmd2
AT+CMGS="+381632198765"<CR><CR>

