
STM32C031C6开发板带有串口通讯的功能,可以通过板载的ST_LINK与电脑进行通讯,不需要另接USBtoTTL转换板。其基本的系统就包含了一个用户LED、一个用户按键和配置了UART2的串口通讯,通过CubeMX生成代码后就可以直接使用printf函数来向电脑发送数据。下面是CubeMX的默认设置截图: 按照默认的设置,可以直接使用重定向函数printf来发送数据到电脑串口助手: 串口接收的实验准备启用中断接收的功能,但我找不到如何设置,最后还是禁用了默认的串口设置,手动设置了uart2才获得了成功: 然后再主程序中启用指定长度的中断接收功能,代码如下: __HAL_UART_ENABLE_IT(&huart2,UART_IT_IDLE); //打开串口空闲中断 HAL_UART_Receive_IT(&huart2,RxBuff,64); //启用UART2接收中断 但这样接收不定长的数据却出现了问题,每次接收到的数据依次排在字符串的后面,如下图: 一定要接收满指定的长度之后才回到字符串首。 最后我改用单个字符中断的方式来接收不定长的数据: __HAL_UART_ENABLE_IT(&huart2,UART_IT_RXNE); //打开串口接收中断 HAL_UART_Receive_IT(&huart2,&RxByte,1); //启用UART2接收中断 同时添加了接收中断处理函数: 然后在主循环中根据变量RxLen的值来判断和处理,RxLen是本次接收到字符的个数,也就是字符串的长度。在处理完之后还需要将其复零: 这样就可以顺利接收到不定长的字符串了: |
STM32C092-NUCLEO PWM实现呼吸灯
【STM32C0评测】3、GPIO测试
【STM32C0评测】2、开发配置验证
【STM32C0评测】1、开箱
【STM32C0测评】Nucleo-C092开发板使用PWM控制板载LED呼吸灯
【STM32C0测评】Nucleo-C092板卡外部中断控制板载LED灯
【STM32C0评测】Rt-thread nano 添加PIN驱动
【STM32C0评测】STM32C092 适配运行RT-thread
【STM32C0评测】sleep,standby,stop,run四种状态功耗检测
【STM32C0评测】低功耗状态电流测试
晕!编辑一下,中间的文字就全部丢失了,仅剩开头一段文字及照片。
重新编辑了帖子,首次上传的图片就全留在末尾了。