打印
[STM32F1]

dma的bug

[复制链接]
1335|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
myxiaonia|  楼主 | 2015-3-17 13:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在使用stm32f103vct6的dma时,dma通道传输完成时,ccr寄存器直接写入0关闭此通道,结果ccr值从0x513变成了0x510,只有最低2位清0.。。。导致程序运行结果出现错误

再次清0时才真正清0,这种类似问题不是f2系列的dma才有的么,怎么f1也有类似的问题,,,而且勘误手册上也没有指出
沙发
diweo| | 2015-3-17 15:15 | 只看该作者
直接写0貌似有点偷懒了吧。位14:4是控制信息,应该是只有在通道关闭的情况下才可以改变吧。

使用特权

评论回复
板凳
zh113214| | 2015-3-17 18:57 | 只看该作者
diweo 发表于 2015-3-17 15:15
直接写0貌似有点偷懒了吧。位14:4是控制信息,应该是只有在通道关闭的情况下才可以改变吧。 ...

不错 我也觉得是这样。。

使用特权

评论回复
地板
myxiaonia|  楼主 | 2015-3-18 10:41 | 只看该作者
diweo 发表于 2015-3-17 15:15
直接写0貌似有点偷懒了吧。位14:4是控制信息,应该是只有在通道关闭的情况下才可以改变吧。 ...

如果不是因为遇上了这个问题,我也不会分开清0

手册上面已知使能后操作其他寄存器是无效的,这个寄存器总能操作吧,现在是使能后也只有低2位可以操作的

使用特权

评论回复
5
一切都有我| | 2015-3-18 11:50 | 只看该作者
受教

使用特权

评论回复
6
diweo| | 2015-3-18 16:18 | 只看该作者
myxiaonia 发表于 2015-3-18 10:41
如果不是因为遇上了这个问题,我也不会分开清0

手册上面已知使能后操作其他寄存器是无效的,这个寄存器 ...

具体情况我没试验。
我估计位1和位2,3是平等的,都是控制中断的。既然位1能够操作,位2,3应该也可以操作。

反正我是使能或除能都是和其他操作分开的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:只灌水,不技术

18

主题

499

帖子

5

粉丝