3861|9

26

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

想请教高手IAR这些错误信息的原因与解决方法 [复制链接]

想请问高手,这些红叉叉是甚麽意思?

我是用板上大神提供的IAR6.3破解版,
因为刚开始研究单片机而已,以前也没用过这软体,
范例程式也是照书上打的
"当外部电压小于0.5vcc时,led灯闪烁提示用户电压过低"
(16位元单片机原理及应用 基于msp430)  人民邮电出版


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


有问题的msp430x16x.h档已上传

msp430x16x.txt (85.54 KB, 下载次数: 7)

书上范例为:
#include "io430.h"
#include
#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;//标志清零
  }
}
}

最新回复

你截图的程序不全,我也查看不到, 一般用鼠标双击报错的那句,界面会跳到错误的位置,就在界面跳到的上下文找找就会找到错误了  详情 回复 发表于 2015-8-28 11:37
 
点赞 关注
个人签名初入MCU世界的新手,还请高手们多多指导、包容,小弟感激不尽。

回复
举报

1803

帖子

0

TA的资源

五彩晶圆(初级)

推荐
 
chi80929 发表于 2015-8-27 11:25
谢谢!!
照着前辈们建议的去做了
也发现自己打错许多关键字
最后找呀找着的 就剩这个错误
对照书 ...

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

点评

请问是哪裡要加分号呢?手打的中断函数是指这段吗? #pragma vector = COMPARATORA_VECTOR _interrupt void COMPARATORA(void) 我刚接触单片机,很多东西还不是很懂,都自个儿照书本做实验,不料书本也会出小  详情 回复 发表于 2015-8-28 08:12
 
 

回复

1万

帖子

25

TA的资源

裸片初长成(高级)

推荐
 
重复定义问题。其它编译器也是会提示错误的
 
 
 

回复

201

帖子

0

TA的资源

一粒金砂(中级)

推荐
 
重复定义了一些变量。可能是引用的头文件的问题。
 
 
 

回复

300

帖子

0

TA的资源

一粒金砂(高级)

沙发
 
#include "io430.h"
#include
这两个头文件,删去第一个试试看
 
个人签名世间万物皆系于一键之上~
 
 

回复

26

帖子

0

TA的资源

一粒金砂(中级)

5
 


谢谢!!
照着前辈们建议的去做了
也发现自己打错许多关键字
最后找呀找着的 就剩这个错误
对照书上 也没打错
可以请前辈们再给点方向吗

点评

1、手打的中断函数前的下划线要2个:__ 2、缺少了一个分号,  详情 回复 发表于 2015-8-27 13:34
 
个人签名初入MCU世界的新手,还请高手们多多指导、包容,小弟感激不尽。
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

7
 
#include "io430.h"与#include 有可能有些宏定义重复定义了。所以如果可以的话,您可以用文本对比工具,对比下试试看。我好像之前碰到过。

点评

我把#include "io430.h"这行叙述删除后就减少了大部份的错误了! 目前剩些许小问题待解决。 我会照前辈说的去比对看看哪裡不同,谢谢前辈!  详情 回复 发表于 2015-8-28 08:17
 
 
 

回复

26

帖子

0

TA的资源

一粒金砂(中级)

8
 
sint27 发表于 2015-8-27 13:34
1、手打的中断函数前的下划线要2个:__
2、缺少了一个分号,

请问是哪裡要加分号呢?手打的中断函数是指这段吗?

#pragma vector = COMPARATORA_VECTOR
_interrupt void COMPARATORA(void)

我刚接触单片机,很多东西还不是很懂,都自个儿照书本做实验,不料书本也会出小问题...
 
个人签名初入MCU世界的新手,还请高手们多多指导、包容,小弟感激不尽。
 
 

回复

26

帖子

0

TA的资源

一粒金砂(中级)

9
 
huaiqiao 发表于 2015-8-28 00:18
#include "io430.h"与#include 有可能有些宏定义重复定义了。所以如果可以的话,您可以用文本对比工具,对 ...

我把#include "io430.h"这行叙述删除后就减少了大部份的错误了!
目前剩些许小问题待解决。
我会照前辈说的去比对看看哪裡不同,谢谢前辈!

点评

你截图的程序不全,我也查看不到, 一般用鼠标双击报错的那句,界面会跳到错误的位置,就在界面跳到的上下文找找就会找到错误了  详情 回复 发表于 2015-8-28 11:37
 
个人签名初入MCU世界的新手,还请高手们多多指导、包容,小弟感激不尽。
 
 

回复

1803

帖子

0

TA的资源

五彩晶圆(初级)

10
 
chi80929 发表于 2015-8-28 08:17
我把#include "io430.h"这行叙述删除后就减少了大部份的错误了!
目前剩些许小问题待解决。
我会照前辈 ...

你截图的程序不全,我也查看不到,
一般用鼠标双击报错的那句,界面会跳到错误的位置,就在界面跳到的上下文找找就会找到错误了
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表