想请教高手IAR这些错误信息的原因与解决方法

2019-03-24 09:50发布

想请问高手,这些红叉叉是甚麽意思?
螢幕快照 2015-08-27 上午10.17.59.png
我是用板上大神提供的IAR6.3破解版,
因为刚开始研究单片机而已,以前也没用过这软体,
范例程式也是照书上打的
"当外部电压小于0.5vcc时,led灯闪烁提示用户电压过低"
(16位元单片机原理及应用 基于msp430)  人民邮电出版


小弟先感激高手们了!希望这问题不会让我这单片机新手卡关


有问题的msp430x16x.h档已上传

msp430x16x.txt (85.54 KB, 下载次数: 7) 2015-8-27 10:45 上传 点击文件名下载附件

书上范例为:
#include "io430.h"
#include <msp430x16x.h>
#define uint unsigned int
#define uchar unsigned char
#define LED BIT1
#define delaynop {_asm nop;}

uchar flag = 0;
void int_clk()
{
  uchar i;
  BCSCTL1 &= ~XT2OFF;//打开振盪器
  BCSCTL2 |= SELM1+SELS;//MCLK 8M AND SMCLK 1M
  do
  {
    IFG1 &= ~OFIFG;//清除震盪错误标志
    for(i=0;i<100;i++)
     _NOP();//延迟等待
  }
  while ((IFG1 & OFIFG) !=0);//如果标志为1,继续等待
  IFG1 &= ~OFIFG;
}
void int_COMPARATORA()
{
  P2SEL |= 0X14;//P2.2 P2.4分别做为比较器的输出和输入
  P2DIR |= 0X04;//设置P2.2为输出
  CACTL1 &= ~CAEX;//输出取反

  CACTL1 |= CARSEL+CAREF1+CAON+CAIE+CAIES;
  //选择参考电压正接端,CA0接负端,允许中断,下降沿触发中断,参考电压为0.5VCC
  CACTL2 |= CAF+P2CA0;
  //使能输出滤波器,CA0作为比较输入功能
}
#pragma vector = COMPARATORA_VECTOR
_interrupt void COMPARATORA(void)
{
  flag = 1;//置中断标志为1
}
void dely();//软件延迟
{
  uint i,j;
  for(i=0;i<=100;i++)
    for(j=0;j<=50;j++)
    {
      delaynop;
      delaynop;
    }
}

voud main( void )
{
  uint k;
  WDTCTL = WDTPW + WDTHOLD;//关闭看门狗
  int_clk();
  delay();
  int_COMPARATORA();
  _EINT();
  while(1)
  {
    while(flag)
    {
      P1DIR |= LED;
      for(k=0;k<10;k++)
    {
      P1OUT &= ~LED;//P1.1输出低电位,LED灯亮
      delay();//调用软件延迟子程序
      p1out |= led;//P1.1输出高电位,LED灯灭
    }
    flag=0;//标志清零
  }
}
}

此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
9条回答
sint27
2019-03-24 17:29
<
chi80929 发表于 2015-8-27 11:25
谢谢!!
照着前辈们建议的去做了
也发现自己打错许多关键字
最后找呀找着的 就剩这个错误
对照书 ...

1、手打的中断函数前的下划线要2个:__
2、缺少了一个分号,

一周热门 更多>

相关问题

    相关文章