Q3:#include <intrinsics.h>
#include <io430x14x.h>
int main()
{
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;
//initclock
init_clk();
init_io();
LPM0;
while(1);
}
Error[Pe020]: identifier "_BIS_SR" is undefined
以上程序为什么会出错?直接给SR 赋值也不成,并且到头文件中也没找到SR 的定义,这是出了什么问题呢?
TA0 的时钟选用0.5M 8分频,近似计数值63 为1ms,使用连续计数方式。
A3:将头文件改成
#include<msp430x14x.h>
#include<in430.h>
#include <io430x14x.h>即可正常运行。
Q4:低功耗设计中430接CMOS器件要注意?
A4:在低功耗产品设计中,当430的i/o 口与CMOS 器件接口时,比如LCD之类的,为了省电,LCD间歇供电,当LCD关断时,与之相连的430的i/o 口一定要设置为输入口或者设置为输出为1.否则LCD内部cmos器件的I/O口通过二极管导到其VCC上,这样MCU的电流变大了,功耗变的更大了.
Q5:程序总是不正确执行,运行就出现下述错误:CPU is OFF (Low Power Mode ) and interrupts are disa××ed! cannot excute Step/go到底是怎么回事?看了cpu 寄存器中cpuoff =1 的,但没有设置低功耗模式呀?
A5:查下晶振是否正常;程序不能正常运行是一步都不能走么?如果只是某个位置,看看程序对外围控制是否会让时钟或者电源受到影响;再次确认是否真的没有设置低功耗,注意看低功耗的宏定义。
Q6:当CPU 关闭后,在中断函数里面的计算,比如全局变量i 的累加等计算是由谁来执行的呢?为什么CPU关闭后还可以处理很多计算,赋值,判断等指令呢?
A6:在中断里CPU 是处于ACTIVE 模式的,进入中断后,DCO会自动起震,430 退出低功耗模式。
Q7:430 在低功耗的时候,闲置的口线应该是输入还是输出??
A7:不用的I/O口设置为输入时接地,或者设置为输出时悬空。
作者: 李肖遥, 来源:面包板社区
链接: https://mbb.eet-china.com/blog/uid-me-3912462.html
版权声明:本文为博主原创,未经本人允许,禁止转载!
文章评论(0条评论)
登录后参与讨论