|
發布時間: 2025-8-29 08:04
正文摘要:STC 開天斧 三 先用圈圈的USB開發板測試 8個按鍵分別發送8個不同的HEX數據 只能按一次發送正確 第二次就發不出去了 今天很早就起床 用開天斧三開發板 改了一下例程字符 ... |
|
上位機向下位機發數據卡死:檢查驅動程序,與單片機的關系較小 下位機向上位機發數據卡死:單片機串口寄存器、中斷配置有問題 具體用示波器或邏輯分析儀捕捉信號數據才能知道什么問題。 |
| 你沒有開中斷, void Send(u8 puts) //發送一個字符串 |
| 你沒有開串口發送中斷, void Send(u8 puts) //發送一個字符串 |
|
要改成這個樣子才可以 void Send(u8 puts) //發送一個字符串 { SBUF = puts; while(!TI); TI=0; } 范例程序 bit busy;是全局變量 不是寄存器位檢測標志 void UartSend(char dat) { while (busy); busy = 1; SBUF = dat; } |
| 你沒有開串口發送中斷, void Send(u8 puts) //發送一個字符串 { B_TX1_Busy = 1; SBUF = puts; while(B_TX1_Busy); } B_TX1_Busy永遠不會等于0,正確的方法是{ SBUF = puts; while(!TI); TI = 0; |