大家帮我看段MSP430的程序吧,我一直没搞清错在哪里了,我想产生一个基波10K,占空比可调的方波,初学430

大家帮我看段MSP430的程序吧,我一直没搞清错在哪里了,我想产生一个基波10K,占空比可调的方波,初学430,第1张

发现几个问题:

前面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,如果要同时置多位,就用“加”或者“或”。之所以有这么多的宏定义,就是为了用户记忆方便,记忆有意义的符号比数字好记多了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7956401.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存