STM32串口通讯程序

STM32F103ZET,我用USART3接收外部串口信号,通过USART2发送接收到的数据,再用USART1接收发出去的数据,问题是USART接收传回来的数据时接收中断始终触发不到,接收不到数据,示波器和PC机串口工具证实是有数据发出的,求高人指点。 USART2与USART1交换,由USART1发,USART2接收,也一样,能发但收不到。 USART3正常接收,USART2和USART1是参考USART3改的。

注意初始化是否正确!没有进入中断应注意中断使能位是否已经配置还,如果是根据别的代码修改的话还要注意:
1、GPIO口时钟的使能和GPIO口模式的配置。
2、USART模块时钟的使能。
3、NVIC中断通道和优先级相关的配置!!!
能发送数据说明1、2应该是没问题的吧,如果第3点没有注意到的话是不会发生中断!!!追问

你好,第一次使用,对NVIC不是很了解,我看网上说新版的固件库取消了NVIC,不晓得是不是真的?我从官方下载了新版的固件库,也没有看到NVIC.c和NVIC.h?如何来配? 原来的程序用usart3接收来自DSP的串口数据,可以出发中断,我照样改USART1和USART2的初始化和中断函数,如下参考

追答

新版固件库的NVIC相关在misc.c和misc.h里边,你可以在初始化串口之前加入以下代码来配置NVIC。

STM32的NVIC的说明你可以自己在网上查找,很多的,这里只是简单的设置NVIC。



温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答