
中断回来继续测试,晚上测试了一下串口通信。本以为按照常规的配置应该没什么问题,还是在软件修改上出了点问题,导致多花了一些时间。 7 b/ v6 p5 u R7 G( F 开始还是使用CubeMx配置基本环境,如图1所示:1 {3 }+ o2 Y' M" J! N7 e+ C ![]() 图1 首先需要测试一下发送,隔1S发送一次,代码如下所示:; r) X- L3 ?% C& @
通过串口助手是正常的,如图2所示: ![]() 图20 X4 k- g# j3 Y/ D $ d; {' s& M6 L/ |) m 增加接收数据callback函数,检查一下中断,debug。发现无法进入中断。设置断点检查,发现能进入Handler函数,却无法调用callback函数。Debug时弹出一些莫名其妙的错误,如图3所示:5 W$ J7 h1 z; f. Z* U4 \ ![]() 图3. T* A: X4 _9 c% i; h* L 找到Handler函数的定义,发现接收完中断函数使用的是huart->RxISR(huart);其中并未调用callback函数,故将这个函数修改为UART_RxISR_8BIT(huart);,重新debug。通过串口助手发送数据,查看watch窗口,可以看到接收到的数据,如图4所示。; Y, `; F0 z( p" ]: Z$ o, V) \ S
5 T/ R2 p3 z' r) g! w; s ![]() 图4 中断接收正常。所以由Cubemx生成程序的时候,还需要再检查一下。" N( F2 S c2 i" ?5 s/ l( h1 [. a |
【新品发布】STM32C0 三大子产品线齐发,精准适配价格敏感应用(文末有奖)
STM32怎么选型
STM32C031芯片串口的Modbus特性
狂欢三】STM32C031使用TIM定时器DMA方式实现WS2812彩灯输出(三)
【狂欢三】STM32C031使用TIM定时器DMA方式实现PWM输出(二)
【狂欢三】STM32C031使用TIM定时器PWM输出
有奖直播 | 详解最新入门级32位MCU-STM32C071
新品STM32C071不简单,高达128KB闪存和24KB RAM,让成本5美元的图显系统也拥有丝滑GUI!
【STM32C0评测】追光小实验
【NUCLEO-C0评测】硬件OLED显示