EDABOSS电子论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 895|回复: 0

[转帖] TxCON最高位导致的2812 TxPR寄存器写失败

[复制链接]

28

主题

4

回帖

300

E币

技术员

Rank: 2

积分
60
发表于 2017-4-19 15:48:44 | 显示全部楼层 |阅读模式
CCS仿真环境中,2812TxPR寄存器的值更新会受TxCON里最高位(free位,为0表示仿真挂起会使计时停止,为1则计时不受挂起影响)影响。而TxCMPR里的值不受该位影响。如下面的程序代码:

       EvaRegs.T2PR = 0x0080;
       EvaRegs.T2CMPR = 0x0040;
       EvaRegs.T2CON.all = 0x1546;    // Free = 0
       EvaRegs.T2PR = 0x0090;
       EvaRegs.T2CMPR = 0x0x0050;

执行后T2PR = 0x0080;       T2CMPR = 0x0x0050;

将TxCON里free位改为1:

       EvaRegs.T2PR = 0x0080;
       EvaRegs.T2CMPR = 0x0040;
       EvaRegs.T2CON.all = 0x9546;    // Free = 1
       EvaRegs.T2PR = 0x0090;
       EvaRegs.T2CMPR = 0x0x0050;

执行后T2PR = 0x0090;       T2CMPR = 0x0x0050;
积分规则
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|EDABOSS电子论坛

GMT+8, 2024-4-20 09:09 , Processed in 0.042104 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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