查看: 3140|回复: 5

[已解决] 关于K60单片机复位类型的问题

[复制链接]
  • TA的每日心情
    开心
    2018-1-10 08:35
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    1

    主题

    6

    帖子

    0

    新手上路

    Rank: 1

    积分
    19
    最后登录
    2018-1-10
    发表于 2018-1-9 11:17:56 | 显示全部楼层 |阅读模式
    根据K60的技术手册,可以查到关于K60复位类型的寄存器为MC_SRSH和MC_SRSL,复位类型一共有以下几种:
    if (MC_SRSH & MC_SRSH_SW_MASK) printf("Software Reset\n");
    if (MC_SRSH & MC_SRSH_LOCKUP_MASK) printf("Core Lockup Event Reset\n");
    if (MC_SRSH & MC_SRSH_JTAG_MASK) printf("JTAG Reset\n");
    if (MC_SRSL & MC_SRSL_POR_MASK) printf("Power-on Reset\n");
    if (MC_SRSL & MC_SRSL_PIN_MASK) printf("External Pin Reset\n");
    if (MC_SRSL & MC_SRSL_COP_MASK) printf("Watchdog(COP) Reset\n");
    if (MC_SRSL & MC_SRSL_LOC_MASK) printf("Loss of Clock Reset\n");
    if (MC_SRSL & MC_SRSL_LVD_MASK) printf("Low-voltage Detect Reset\n");
    if (MC_SRSL & MC_SRSL_WAKEUP_MASK) printf("LLWU Reset\n")
    按照这个逻辑讲,我的单片机每次复位之后,寄存器MC_SRSH和MC_SRSL中肯定有一位为1。
    但是我在使用的时候,发现这两个寄存器的数据始终是全0
    求解,谢谢
    备注,我用的型号是MK60DN512VLL10,可以看到寄存器MC_PMPOR是0x03,MC_PMCTRL是0x01

    最佳答案

    lixiaofeng220 发表于 2018-1-10 11:20 嗯嗯,我用的KEIL,在开发板上测试的时候,也能读出来,可是在我自己的板子上,就是全0 ... 你是说开发板是正常的,而你的板子读出来全是0x00,有对比过两者的型号吗,还有有 ...
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

    该用户从未签到

    723

    主题

    6382

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    25440
    最后登录
    2025-9-4
    发表于 2018-1-9 13:49:27 | 显示全部楼层
    能介绍一下你是怎么测试的吗,你也可以在debug的情况下,查看一下寄存器的值
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-1-10 08:35
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    1

    主题

    6

    帖子

    0

    新手上路

    Rank: 1

    积分
    19
    最后登录
    2018-1-10
     楼主| 发表于 2018-1-9 16:24:42 | 显示全部楼层
    小恩GG 发表于 2018-1-9 13:49
    能介绍一下你是怎么测试的吗,你也可以在debug的情况下,查看一下寄存器的值 ...

    我大概用了三种方法测量:1:在初始化之后,把寄存器MC_SRSH和MC_SRSL中的值读取出来,并通过判断读取结果中是否有1来控制灯的亮灭,如果某位为1,则灯亮,测试结果:灯不亮。2:在初始化之后,把寄存器MC_SRSH和MC_SRSL中的值读取出来,并且写入到双口RAM中,通过上位机读取出来,读取结果全0。3:利用debug,初始化之前和之后分别打上断点,查看这两个寄存器的值,也是全0。但是我在开发板上测试的时候,可以看到SRSL中的值为0x40,可是在我自己的板子上,就是不行
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2019-9-17 13:22
  • 签到天数: 238 天

    连续签到: 1 天

    [LV.7]常住居民III

    30

    主题

    905

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    2251
    最后登录
    2024-10-8
    发表于 2018-1-10 08:48:30 | 显示全部楼层
    我记得在IED中是可以看出复位原因的
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-1-10 08:35
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    1

    主题

    6

    帖子

    0

    新手上路

    Rank: 1

    积分
    19
    最后登录
    2018-1-10
     楼主| 发表于 2018-1-10 11:20:21 | 显示全部楼层
    very333 发表于 2018-1-10 08:48
    我记得在IED中是可以看出复位原因的

    嗯嗯,我用的KEIL,在开发板上测试的时候,也能读出来,可是在我自己的板子上,就是全0
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    723

    主题

    6382

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    25440
    最后登录
    2025-9-4
    发表于 2018-1-10 14:05:51 | 显示全部楼层
    lixiaofeng220 发表于 2018-1-10 11:20
    嗯嗯,我用的KEIL,在开发板上测试的时候,也能读出来,可是在我自己的板子上,就是全0 ...

    你是说开发板是正常的,而你的板子读出来全是0x00,有对比过两者的型号吗,还有有对照过勘误表看过吗?
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-9-6 00:51 , Processed in 0.095773 second(s), 27 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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