![]() |
波特率的緣故吧 |
亂碼出現一半可能是 波特率不對,或者接線沒接好 |
rtyweq 發表于 2024-5-22 00:01 因為你發送時沒有加換行回車,判斷不到那兩個就認為錯誤了 |
把你收到的數據打印出來看看(最好16進制),看看又沒有發送回車換行符,把ERROR編號,看看從哪出的錯。也可不要文本發送,全改為16進制發送看看,確定發送回車和換行 |
uart_recv[0] 這個是在哪里賦值的?看一下賦值的是不是有問題,看了一下你的代碼,應該是你的問題,不是串口的問題 |
還有你串口波特率選 的是4800 |
void UartInit(void) //9600bps@12.000MHz 你下載的時候選的是11.0592 |
keil軟件中更改格式吧 edit configuartation encoding 是國標2312還是UTF8 |
應該是波特率的問題,你看看你左側硬件選項是不是選了內部時鐘,看你下載后的時鐘應該是11.0592(11.063MHz),程序中按照12MHz時鐘設置的波特率。 |
波特率好像不對,代碼里的是9600,圖片里的是4800 |