作為單片機入門的我們,在做普通串口通信實驗時候,我們發(fā)送的都是十六進制數!如U0DBUF = j,默認j為十六進制數,串口調試助手有兩種顯示格式,當勾選hex時,就是顯示字符對應的十六進制數,取消勾選,則顯示我們所發(fā)的字符!比如:情景一:void UartTX_Send_String(uchar *Data,int len)
{
int j;
for(j=0;j
{
U0DBUF = *Data;
while(UTX0IF == 0);
UTX0IF = 0;
Data++;
}
}
UartTX_Send_String("nihaoaaa",8);
情景二: for(j=0;j<10;j++)
{
U0DBUF = j+0x30;
while(UTX0IF == 0);
UTX0IF = 1;
delay(3000);
}
但是!對應情景三!就不行了
for(j=0;j<10;j++)
{
U0DBUF = j;//+0x30;
while(UTX0IF == 0);
UTX0IF = 1;
delay(3000);
}
它發(fā)送的就是十進制數字,那么必須勾選hex來看,否則顯示不認識的字符(當然這個字符是十進制數對應的字符,)?。?!因為串口調試助手不能顯示十進制數(當然,可以通過字符顯示十進制數字),只能顯示十六進制數和字符!??!
評論