查看: 1848|回复: 1

(S08DZ60)单片机休眠前无法关闭CAN模块?求助!急!

[复制链接]

该用户从未签到

3

主题

22

帖子

0

注册会员

Rank: 2

积分
64
最后登录
1970-1-1
发表于 2013-11-26 17:17:27 | 显示全部楼层 |阅读模式
我目前的程序关闭CAN模块流程如下:
CAN模块正常工作模式
                |
申请进入CAN睡眠模式
                |
等待进入睡眠模式完成
                |
申请进入CAN初始化模式
                |
等待进入初始化模式完成
                |
清零CAN使能位         (单步调试看过,无法清零CAN使能位,该位一直保持为1)
(Datasheet说:正常模式下只可以写入CAN使能位一次,但在初始化模式下可以无限制修改CAN使能位)
请教下:为什么CAN模块关闭失败?我关闭CAN模块的操作有什么错误?那正确的关闭CAN的操作是怎样的?
 
 
回复

使用道具 举报

该用户从未签到

3

主题

22

帖子

0

注册会员

Rank: 2

积分
64
最后登录
1970-1-1
 楼主| 发表于 2013-11-28 10:49:14 | 显示全部楼层

回复:(S08DZ60)单片机休眠前无法关闭CAN模块?求助!急!

我有做过这样的测试:
在单片机上电复位后,CAN模块上电复位后默认进入“CAN初始化模式”,单步调试可以确认CAN模块是进入了初始化模式,
void main()
{
.............
// 单片机上电复位后,CAN 默认进入初始化模式,单步调试确认CAN模块是进入了初始化模式
CANE = 1;     //  可以执行,寄存器有变化,可以开启CAN模块
CANE = 0;     // 无响应,寄存器无变化,无法关闭CAN模块
.............
}
Datasheet上明确说明:(CANE寄存器位可以在CAN初始化模式时任意修改,并无限制,但在正常工作模式下只可以写入一次)
但单步调试发现,CANE寄存器位在CAN初始化模式也只能写入一次,之后写入该位都无效。
希望用过这个DZ系列CAN模块的兄弟们也测试下,是否真的如上所述?
要么是我的测试方式有误?要么是Datasheet叙述有误?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-8-3 12:50 , Processed in 0.076971 second(s), 20 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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