
中断回来继续测试,晚上测试了一下串口通信。本以为按照常规的配置应该没什么问题,还是在软件修改上出了点问题,导致多花了一些时间。" N4 U; N6 H9 c2 S" e# C1 c 开始还是使用CubeMx配置基本环境,如图1所示: ![]() 图10 Z- ^# [$ L$ i) q% u % v* M0 X& G2 @; v3 h 首先需要测试一下发送,隔1S发送一次,代码如下所示:# o! m) V: q2 k/ f) u
/ p' |/ E) ]2 z6 O 通过串口助手是正常的,如图2所示:2 b3 u: R1 @, W ![]() 图2 增加接收数据callback函数,检查一下中断,debug。发现无法进入中断。设置断点检查,发现能进入Handler函数,却无法调用callback函数。Debug时弹出一些莫名其妙的错误,如图3所示: ![]() 图3 找到Handler函数的定义,发现接收完中断函数使用的是huart->RxISR(huart);其中并未调用callback函数,故将这个函数修改为UART_RxISR_8BIT(huart);,重新debug。通过串口助手发送数据,查看watch窗口,可以看到接收到的数据,如图4所示。
![]() 图4; N! S U% S8 H0 v$ [ V6 d) X) {. o2 D! G" ]' k 中断接收正常。所以由Cubemx生成程序的时候,还需要再检查一下。 |
【STM32C0评测】C071:USB的使用
【STM32C0评测】C071:IIC的使用
NUCLEO-C071RB评测6_四种工作模式的功耗测试
【STM32C0评测】GPIO测试:使用外部中断控制小灯点亮熄灭
【STM32C0评测】+NUCLEO-C071 UART测试
NUCLEO-C071RB评测5_I2C通讯测试
【STM32C0评测】C071:加个PWM
NUCLEO-C071RB评测1_GPIO测试
【STM32C0评测】C071:GPIO+定时器+串口
STM32C0评测】C071开箱