MSP430系列单片机 寄存器CCTL0 、TACCTL0、TA0CCTL0的区别 您所在的位置:网站首页 游戏msp是什么意思呢 MSP430系列单片机 寄存器CCTL0 、TACCTL0、TA0CCTL0的区别

MSP430系列单片机 寄存器CCTL0 、TACCTL0、TA0CCTL0的区别

2023-08-09 10:29| 来源: 网络整理| 查看: 265

在网上经常能看到在初始化TimerA或TimerB的时候,不同人写的代码,里面使用的寄存器名称不一样,刚开始学习的时候有点懵。后面找了时间查看了以下MSP430头文件,发现一些寄存器名称虽然不同,但是其功能和用法其实是完全一样的。 比如下面的代码,都是开启TimerA的中断。

//开启TimerA的中断 TA0CCTL0 = CCIE; TACCTL0 = CCIE; CCTL0 = CCIE;

MSP头文件中的定义能很清楚的看到如下内容: 首先在这里定义了TACCTL0_指向了TimerA所在的寄存器地址0x0162。 然后使用DEFW函数定义了TACCTL0,指向TACCTL0_。 MSP430 头文件 TimerA 接着又分别定义了CCTL0 和TA0CCTL0,指向TACCTL0。 在这里插入图片描述 所以,这三个寄存器变量名都代表的是同一个功能,只是名称叫法不同而已。

**

而关于使用DEFW函数,目前我有点一头雾水。

** 为什么不能使用下面这样的用法?

//将 DEFW(TACCCTL0,TACCTL_) //替换为 #define TACCTL0 TACCTL0_

而是要大费周章的写一段函数? 这里也不过多纠结了,按照头文件中的意思,如果宏定义的是一个地址,那么就不能直接使用#define再重新定义一个名称。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有