熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2024-5-20 22:32
正文摘要:主函數(shù) void uartdo() { if(uart_index==0) return; if(u ... |
波特率的緣故吧 |
亂碼出現(xiàn)一半可能是 波特率不對,或者接線沒接好 |
rtyweq 發(fā)表于 2024-5-22 00:01 因?yàn)槟惆l(fā)送時(shí)沒有加換行回車,判斷不到那兩個(gè)就認(rèn)為錯(cuò)誤了 |
把你收到的數(shù)據(jù)打印出來看看(最好16進(jìn)制),看看又沒有發(fā)送回車換行符,把ERROR編號(hào),看看從哪出的錯(cuò)。也可不要文本發(fā)送,全改為16進(jìn)制發(fā)送看看,確定發(fā)送回車和換行 |
uart_recv[0] 這個(gè)是在哪里賦值的?看一下賦值的是不是有問題,看了一下你的代碼,應(yīng)該是你的問題,不是串口的問題 |
還有你串口波特率選 的是4800 |
void UartInit(void) //9600bps@12.000MHz 你下載的時(shí)候選的是11.0592 |
keil軟件中更改格式吧 edit configuartation encoding 是國標(biāo)2312還是UTF8 |
應(yīng)該是波特率的問題,你看看你左側(cè)硬件選項(xiàng)是不是選了內(nèi)部時(shí)鐘,看你下載后的時(shí)鐘應(yīng)該是11.0592(11.063MHz),程序中按照12MHz時(shí)鐘設(shè)置的波特率。 |
波特率好像不對,代碼里的是9600,圖片里的是4800 |
Powered by 單片機(jī)教程網(wǎng)