1691|5

98

帖子

0

资源

一粒金砂(中级)

F5529定时问题

有注释的那两行到底是个什么意思啊?
#include

void main(void)
{
  volatile unsigned int i;
  WDTCTL = WDTPW + WDTHOLD;                 
  P1DIR |= 0x01;                           
  TA0R = 0x3FFF;                            // Valid opcode:有效的操作码    (for "jmp $")

  while(1)
  {
    P1OUT ^= 0x01;                     

    for(i = 50000; i > 0; i--);        


    ((void (*)())0x350)();                  // Invalid fetch ("call #0350h")

                         /* 0x350 is address of TA0R register and is within the module register memory
                         address range (0x0100 --0x0FEF) */
  }
}

此帖出自电子竞赛论坛
个人签名

More information,please add the weibo ID :_Tang辉,chat number :951141617


回复

1779

帖子

0

资源

五彩晶圆(初级)

这是哪里来的代码,第二处注释对应的函数调用有必要搞得这么复杂么。楼主贴出的代码不全,目前看来,那两个注释没有什么作用

回复

5844

帖子

209

资源

版主

从注释来看,第一条定义了一条二级制指令放在了定时器的寄存器里面
第二条是跳转到定时器寄存器去执行,而这条指令是jmp $,也就是到这里就死循环了。
第二条用的是强制类型转换,把一个地址强制转换为函数去调用

点评

第一条注释的地方对应的代码对不上号吧?  详情 回复 发表于 2017-2-18 14:05
个人签名

EEWORLD开发板置换群:309018200,——电工们免费装β的天堂,上班摸鱼场,释放压力好地方!商家勿入!加群暗号:喵


回复

1779

帖子

0

资源

五彩晶圆(初级)

lcofjp 发表于 2017-2-18 10:09
从注释来看,第一条定义了一条二级制指令放在了定时器的寄存器里面
第二条是跳转到定时器寄存器去执行,而 ...

第一条注释的地方对应的代码对不上号吧?

点评

对得上  详情 回复 发表于 2017-2-18 14:47

回复

5844

帖子

209

资源

版主

bobde163 发表于 2017-2-18 14:05
第一条注释的地方对应的代码对不上号吧?

对得上

点评

TA0R = 0x3FFF; // Valid opcode:有效的操作码 (for "jmp $") 不太明白这怎么能对得上,能给详细解释一下吗?  详情 回复 发表于 2017-2-20 08:48
个人签名

EEWORLD开发板置换群:309018200,——电工们免费装β的天堂,上班摸鱼场,释放压力好地方!商家勿入!加群暗号:喵


回复

1779

帖子

0

资源

五彩晶圆(初级)


TA0R = 0x3FFF;                            // Valid opcode:有效的操作码    (for "jmp $")
不太明白这怎么能对得上,能给详细解释一下吗?

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

关闭
站长推荐上一条 1/7 下一条

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表