上次的程序由于串口2USART2.c文件里串口2中断函数对数据的处理中没有对0x0a和0x0D进行判断,因此只有串口一是可以正常用的,这次的程序我对串口2中断函数进行了修改,完全按照串口一的处理,同时保留了u2_printf函数可用于和单片机向测距模块传送字符串;另外按照相同的模式,扩展了串口三,也是串口一中断的方法,扩展了u3_printf函数。
因此可以用三个串口中任何一个使单片机与上位机通信,另外两个各接一个激光测距模块,可以同时监控两个测距模块,实际做小车等机器人时,三个串口都可以接激光测距模块,这样可以同时搞三个,如果还想扩展,可以按照相同方法加入新的串口。程序完全自己写的,也是在网上没找到stm32的实现例程,淘宝卖家说只有用Arduino的程序,所以就自己写了,希望用这个模块的人都能看到。
1