向日葵男人 发表于 2025-3-12 18:04:31

有请大神上线指导DMA串口问题 | 已解决

为什么程序执行到DMA_UR2R_CR = 0xa1;这里就死机了呢,,,请大神帮忙分析下
程序中1.3   1.7   4.7   可以调试用
我的程序简单易懂 老少皆宜,
程序里有modbus的模板,也是从论坛里借鉴的,挺好用的,程序一点都没有隐藏和删减,大家互相参考!

向日葵男人 发表于 2025-3-12 18:05:25

有用的两位只要是赋值就死机

DebugLab 发表于 2025-3-12 18:50:59

DMA发送地址设置了吗
中断函数外面设置DMA_UR2T_CR试试,检查一下有没有中断重入和阻塞的问题

向日葵男人 发表于 2025-3-12 20:07:19

DebugLab 发表于 2025-3-12 18:50
DMA发送地址设置了吗
中断函数外面设置DMA_UR2T_CR试试,检查一下有没有中断重入和阻塞的问题
...
主函数里启动一秒后设置DMA_UR2T_CR,依然死机,DMA的发送地址也设置了,问题依旧

王昱顺 发表于 2025-3-12 21:53:08

向日葵男人 发表于 2025-3-12 20:07
主函数里启动一秒后设置DMA_UR2T_CR,依然死机,DMA的发送地址也设置了,问题依旧 ...

我看你是借用了13号中断地址,那么对应的isr.asm有没有定义跳转地址呢?没有定义的话会造成中断部分无实际代码造成程序跑飞。

向日葵男人 发表于 2025-3-12 22:27:34

王昱顺 发表于 2025-3-12 21:53
我看你是借用了13号中断地址,那么对应的isr.asm有没有定义跳转地址呢?没有定义的话会造成中断部分无实 ...1

向日葵男人 发表于 2025-3-12 22:55:31

自己顶起来

王昱顺 发表于 2025-3-13 06:57:15

向日葵男人 发表于 2025-3-12 22:27
CSEG    AT0123H         ;RTC_ISR
      JMP   RTC_ISR
      CSEG    AT012BH   ...

可以尝试赋值前先对dma_ur2t_cr寄存器清零,再进行赋值
如果仍然不行,可以将出现稳定的工程打包发上来我们帮你找找问题所在

向日葵男人 发表于 2025-3-13 09:33:54

王昱顺 发表于 2025-3-13 06:57
可以尝试赋值前先对dma_ur2t_cr寄存器清零,再进行赋值
如果仍然不行,可以将出现稳定的工程打包发上来我 ...
这帖子发了也没人看,我怎么把程序单发给你?15142908788我微信,怎么联系您

王昱顺 发表于 2025-3-13 09:54:07

向日葵男人 发表于 2025-3-13 09:33
这帖子发了也没人看,我怎么把程序单发给你?15142908788我微信,怎么联系您 ...
论坛可以直接上传文件,如果不会可以论坛内搜索一下“论坛如何上传文件”
如果觉得程序有敏感信息,可以提取出来一个可以复现问题的最小工程上传
页: [1] 2
查看完整版本: 有请大神上线指导DMA串口问题 | 已解决