OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5087|回复: 5

MSR寄存器的INAK位不会自动清0

[复制链接]

1

主题

3

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2016-1-14
在线时间
4 小时
发表于 2016-1-14 11:24:36 | 显示全部楼层 |阅读模式
1金钱
请问原子哥和高手:用的是探索者的板子来移植程序,当CAN寄存器MCR中 位0 INRQ 在手动清0后(将CAN硬件从初始化切换到正常模式),这时,CAN的MSR寄存器中的位0 INAK也应该会自动硬件清0,来指示退出初始化进入正常模式。对吧?

但是,该位不会自动清0,怎么回事?是时钟设置不对导致CAN无法正常工作,还是????串口收发其他功能都正常。

因为后面的程序需要根据该位来做个判断,这样后面程序没办法写了。

    while (((CCI_bxCANx_REG->MSR & MSR_INAK) == ((bWaitState_p) ? (0) : (MSR_INAK))))   //CCI_bxCANx_REG->MSR,该值一直为0x00000009
    {
     XXXXXXX
     XXXXXX
    }


1.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2016-1-14 23:44:20 | 显示全部楼层
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2016-1-14
在线时间
4 小时
 楼主| 发表于 2016-1-15 14:16:10 | 显示全部楼层

原子哥,
我现在自己写的程序,情况就像照片那样,程序执行到这里时,一直进入while()语句,等待,超时,返回退出初始化失败。
板子测试CAN程序没错,我移植了其他程序,就出现这种情况,是不是时钟方面设置出错?

[img]file:///D:\Users\JQ\AppData\Roaming\Tencent\Users\2865494154\QQ\WinTemp\RichOle\ZP(K`](5}~L}[L7A3T%X_3M.png[/img]


1.png
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2016-1-17 23:46:24 | 显示全部楼层
海球王 发表于 2016-1-15 14:16
原子哥,
我现在自己写的程序,情况就像照片那样,程序执行到这里时,一直进入while()语句,等待,超 ...

不太清楚哦
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
4
金钱
4
注册时间
2018-10-8
在线时间
1 小时
发表于 2018-10-8 14:55:47 | 显示全部楼层
请问这个问题最后怎么解决的那?
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2019-3-19
在线时间
3 小时
发表于 2019-3-19 13:02:01 | 显示全部楼层
xiaocao 发表于 2018-10-8 14:55
请问这个问题最后怎么解决的那?

我也遇到了上面的问题,请教一下,最后怎么解决的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-17 18:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表