你可以先用串口调试助手,向单片机发送一个数据,如果有j-link,用j-link在中断函数里设置断点,进入中断后程序会停在usart中断那里,还有,通常情况下不使用发送中断,而是接收中断,对于多数据发送,可以等待发送完成标志
while(!(USART1-SR 0X80));//判断发送寄存器的数据是否到移位寄存器发送
USART_SendData(USART2, rxdata2); /* Write one byte to the transmit data register */
把这个放在循环里,就可以连续发送多个数据,
除此之外,还可以用DMA的方式,让处理器自动发送多个数据到串口
电压问题,电脑输出电压与单片机不符 2、通讯问题,查看连接口,及协议 3、单片机问题,芯片程序是否正确 4、连接线问题,换连接线试试。串口通讯如果波特率如果有误差的话,有时候会出现数据错误的,这很正常。比如12M晶振,如果波特率为9600,就会又一些误差。一个用12V电池经过7805稳压管供电,电源没有问题,不至于会影响到通信。两个不同的板子不同的电源,那么两个板子的地(GND)是必须接到一起的,即要共地的。你的两个板子的串口是TXD,RXD直接连接的,即是TTL连接还是用RS232或RS485连接只有在RS485模式下,只接两条线就可以通信的,TTL连接或RS232连接都必须共地,另外,TTL连接的距离要很短的,最好还是接成RS232连接可靠。单片机 与 单片机 直接 串口通信,需要连接 RXD、TXD、GND, 如果 用同一个 电源 只连接 RXD、TXD 是没有问题 的, 如果 不是 同一个 电源,则必须 连接RXD、TXD、GND。 如果 距离比较 长 几百米,可以转换成 RS485 连接 只要RS485 的 A、B 两根线就可以。单片机 通过RS232串口 与PC 通讯,一般来说应该不成问题的, 现在的单片机应该抗干扰也是不成问题的, 你可以 先试试 不接 强电,光控制继电器,和其它的所有正常操作,如果这样正常, 才能说明干扰问题,否则可能是软件问题。用排除法找到问题的所在。
两个usat全在初始化就可以了,中断中配置好中断函数处理就可以了。一般都开5个串口。
stm单片机双串口的介绍就聊到这里吧,感谢您花时间阅读,谢谢。
本文标签:stm单片机双串口