中断回来继续测试,晚上测试了一下串口通信。本以为按照常规的配置应该没什么问题,还是在软件修改上出了点问题,导致多花了一些时间。! @8 i! p( w/ F( v 开始还是使用CubeMx配置基本环境,如图1所示:8 A8 h0 h( b4 Q' l. ^: u" W) g: _ 图1 首先需要测试一下发送,隔1S发送一次,代码如下所示:3 s& U' ]7 j$ z# q/ k
4 D. L: B/ w* w9 K 通过串口助手是正常的,如图2所示: 图2# j; S/ e2 d0 R, U( j0 G/ u9 M 增加接收数据callback函数,检查一下中断,debug。发现无法进入中断。设置断点检查,发现能进入Handler函数,却无法调用callback函数。Debug时弹出一些莫名其妙的错误,如图3所示: 图3* j% j( W p$ i2 ^. ~ 2 s- m- N+ K' H* t 找到Handler函数的定义,发现接收完中断函数使用的是huart->RxISR(huart);其中并未调用callback函数,故将这个函数修改为UART_RxISR_8BIT(huart);,重新debug。通过串口助手发送数据,查看watch窗口,可以看到接收到的数据,如图4所示。7 _1 M. u: e" E, j: l/ Y
图4 / E2 a" z! c) ]6 e 中断接收正常。所以由Cubemx生成程序的时候,还需要再检查一下。 |
【NUCLEO-C0评测】硬件OLED显示
【Stm32C0测评】学习PWM比较实现呼吸灯
【STM32C0测评】外部中断控制小灯
【STM32C0评测】3、基于Nucleo-c031c6开发板的MAX6675温度采集实验
【STM32C031 评测】ADC采样测试
【STM32C0评测】5、娱乐一下,分享2048游戏
【STM32C0评测】4、驱动Lorasx126x,实现透传
【NUCLEO-C031C6】FOC开环测试
【NUCLEO-C031C6】 FOC开环控制
【STM32C031 评测】基于spi接口驱动OLED显示测试