STMCU小助手
发布时间:2022-12-16 13:00
2.cubumx配置串口,如下图
3.配置DMA
4.配置中断
5.生成代码后,添加空闲中断使能代码 __HAL_UART_ENABLE_IT(&huart1, UART_IT_IDLE);//使能idle中断 6.h743的DMA比较特别,他有几个内存区,默认的内存区与DMA不相连,所以定义buf的时候要定义到与DMA相连的地址上
7.所以修改工程下的stm32h743xx_flash.icf文件,添加如何下画圈部分
8.定义buf时这样定义:
9.串口DMA发送代码: if(HAL_UART_Transmit_DMA(&huart1,cbuffer,csize) != HAL_BUSY) 10.串口中断接收代码 HAL_UART_Receive_IT(&huart1, cbuffer, RX_BUF_SIZE); 11.中断处理
12. usart1_Rx() ,usart1_Tx() 为加入了环形队列的发送接收接口函数 13.中断中不能调用ucosii先关的函数,例如信号量的处理等,加了暴力测试串口时会出错,查了下貌似和内核管理中断有关,这个玩意CPU_CFG_KA_IPL_BOUNDARY。但也尝试了中断加OSIntEnter() 和OSIntExit(),修改中断号范围>CPU_CFG_KA_IPL_BOUNDARY, 也不行。 ———————————————— 版权声明:鱼入大海_ |
经验分享 | STM32H723 SPI 通讯异常排查:实时观察窗口的 “隐形干扰” 解决方案
经验分享 | STM32H7 SPI NSS 脉冲模式灵活应用:解决外置 ADC 通信干扰问题
经验分享 | STM32H7 双核调试配置:STM32CubeIDE 下 M7+M4 协同调试实操
经验分享 | STM32H7 TouchGFX 花屏速解:更换 HyperRAM 后 latency 值适配实操
经验分享 | STM32H743 BDMA+LPTIM+LPUART应用演示
经验分享 | STM32H7Sx MCE 加密解密:外部存储安全防护全解析
如何在STM32和Arduino上实现卷积神经网络
STM32 LSE 不起振排查指南:五大核心原因与快速解决方案
详解STM32单片机的堆栈
我心中的ST中文论坛
微信公众号
手机版