打印

STM DMA数据错位问题

[复制链接]
2068|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
iwjj1985|  楼主 | 2012-4-1 10:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
if (ARCM.YEAR<11||ARCM.YEAR>31||ARCM.MONTH==0||ARCM.DAY==0)
            {
    IIC_Configuration();
    DMA_Configuration();   
   }

我在用IIC+DMA都时钟芯片时,有时候时间会乱显示,疑是DMA错位,就加了上述代码保护,问题解决了,但新的问题又来了,在电池没电的时候,读出数据不对,导致频繁复位;
沙发
香水城| | 2012-4-1 10:58 | 只看该作者
“上述代码保护”的含义是什么?请解释一下。

使用特权

评论回复
板凳
iwjj1985|  楼主 | 2012-4-1 21:51 | 只看该作者
因为在发生错误时,时间总是显示2000-00-00,我检测到时间不在我设定的范围内时就将IIC和DMA初始化程序重来一下,

使用特权

评论回复
地板
iwjj1985|  楼主 | 2012-4-1 21:56 | 只看该作者
我晚上将程序重新做了下处理,开机后将时钟芯片的‘年’数据读到一个变量x里,然后在循环里将读到的年与x相比,如果差在2以上,说明发生了错误,复位,  。。。。。。。。。如果差=1,说明年份更新了,x更新新值

使用特权

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

本版积分规则

5

主题

134

帖子

2

粉丝