為什么用51單片機調(diào)試串口藍牙模塊或者是串口wifi模塊很困難呢?因為串口只有一個,串口一旦用于與模塊通信之后,就沒有辦法進行調(diào)試信息的打印了,這次分享的程序是基于stm32f103zet6單片機,串口1和串口2的信息可以互發(fā),舉一個例子說明:
這里面 寫了串口1 和串口2
串口一的打印語句是printf()
串口二的打印語句是u2_printf()
串口一接pa9 pa10
串口二接pa2 pa3
這個代碼的功能就是雙串口的消息互相發(fā)送
比如電腦給串口1發(fā)送 aaa,則單片機通過串口1和串口2向電腦發(fā)送aaa,在電腦的串口調(diào)試助手可以看出來
比如電腦給串口2發(fā)送 bbb,則單片機通過串口1和串口2向電腦發(fā)送bbb,在電腦的串口調(diào)試助手可以看出來
通過修改這套程序,可以讓串口藍牙調(diào)試模塊或者是串口wifi模塊的調(diào)試再也不需要用到usb轉(zhuǎn)ttl模塊進行測試了,可以直接用單片機兩個串口來聯(lián)合測試,單片機用一個串口接模塊,用一個串口接電腦,這樣用電腦串口助手給單片機發(fā)送AT指令的時候,單片機的串口就會將AT指令通過另一個串口轉(zhuǎn)發(fā)到模塊上,同時模塊返回的信息也可以打印回電腦串口調(diào)試助手,相當方便。
后期會推出基于串口藍牙的智能小車程序,用雙串口進行調(diào)試。