发现几个问题:
前面P1SEL|= BIT6说明PWM输出是P1.6,而后面写的
“CCR1= 3333//占空比CCR1/CCR0=1/3 ,TA0.1由P1.2输出”
“TACTL|= TASSEL_1+MC_1//ACLK,增计数”应该是
”TACTL|= TASSEL_0+MC_0//ACLK,增计数“吧!
中间有AD程序吧!那个AD输出脚的SEL也应该置1吧!
不知你用的什么型号的430,头文件include "io430.h”没见过。
1、MSP430主要看是什么系列的,如果是早期的可以用Proteus仿真,比如msp430f149等,如果是新系列如msp430F5438A的话暂时不方便软件仿真,除非自己可以在proteus中制作那个控制器的模型。2、MSP430的编译环境里都提供一系列与片子型号对应的头文件,比如msp430x14x.h就是对14系列的资源定义,说得明白点,就是许多#define宏定义,然后你会发现每个430程序都会包含对应的头文件。比如你说的WDTCTL=WDTPW+WDTHOLD,WDTCTL已经被定义为对应寄存器(看门狗控制寄存器)的地址,WDTPW和WDTHOLD是该寄存器对应位为1的数值,也已经宏定义,如WDTHOLD为第7位,就已经被定义为0x80(0b10000000),然后通过把数值赋给对应地址(可视为变量),这样就可以将对应位置1,如果要同时置多位,就用“加”或者“或”。之所以有这么多的宏定义,就是为了用户记忆方便,记忆有意义的符号比数字好记多了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)