0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

IAR开发环境使用注意事项

电子设计 来源:电子设计 作者:电子设计 2022-02-18 10:50 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

头文件含义

avr_macros.h里面包含了读写16位寄存器的简化书写,和几个位操作函数

comp_a90.h对大量的内在函数做了简要书写

ina90.h包含"inavr.h""comp_A90.h"文件

intrinsics.h内在函数提供最简单的操作处理器底层特征。休眠,看门狗,FLASH函数。

iomacro.HI/O寄存器定义文件样本。

iom8.h包含I/O等寄存器定义

位操作

c语言里对位的操作如一般如下:

PORTB|=(1<<2); //置PORTB的第2位=1

PORTB&=~(1<<2); //置PORTB的第2位=0

PORTB^|=(1<<2); //取反PORTB的第2位

While(PORTB&(1<<2)); //判断1

While(!(PORTB&(1<<2))); //判断为0

IAR编译器对位的支持更强大,除了上面的方法外还有以下更简单的操作方法:

PORTB_Bit2=1;//置PORTB的第2位=1

PORTB_Bit2=0;//置PORTB的第2位=0

PORTB_Bit2=~PORTB_Bit2;//取反PORTB的第2位

While(PORTB_Bit2);或者while(PORTB_Bit2==1);//判断1

while(PORTB_Bit2==0);//判断0

PORTC_Bit4=PORTB_Bit2;//把PORTB的第2位传送到PORTC的第4位

位变量定义:

由于iar使用了扩展语言,它对位域的支持变为最小为char类型,我们可以很方便地用来定义位变量。

采用结构体来定义位变量:

struct

{

unsignedcharbit0:1;

unsignedcharbit1:1;

unsignedcharbit2:1;

unsignedcharbit3:1;

unsignedcharbit4:1;

unsignedcharbit5:1;

unsignedcharbit6:1;

unsignedcharbit7:1;

}t;

然后就可以用以下位变量

t.bit0=1;

t.bit0=~t.bit0;

但是采用以上结构体做出来的位变量只可以访问t的位,不能够直接访问变量t,和标准的IAR位操作也不一样,可以采用联合体来定义。

#include

union

{

unsignedchart;

struct

{unsignedchart_bit0:1,

t_bit1:1,

t_bit2:1,

t_bit3:1,

t_bit4:1,

t_bit5:1,

t_bit6:1,

t_bit7:1;

};

};

voidmain(void)

{

t_bit0=1;//访问变量t的位

t_bit0=~t_bit0;

PORTB=t;//直接访问变量t

}

延时函数

__delay_cycles(unsignedlong);

如果处理器频率为1M,延时100us,如下:

__delay_cycles(100);

延时任意时间

#define CPU_F 8000000

#define delay_us(x) __delay_cycles(CPU_F*x/1000000)

#define delay_ms(x) __delay_cycles(CPU_F*x/1000)

中断函数:

在IAR编译器里用关键字来__interrupt来定义一个中断函数,用#pragmavector来提供中断函数的入口地址

#pragmavector=0x12 //定时器0溢出中断入口地址

__interruptvoidtime0(void)

{

;

}

上面的入口地址写成#pragmavector=TIMER0_OVF_vect更直观,每种中断的入口地址在头文件里有描述。

中断指令

__disable_interrupt(); //也可以用_CLI();也可以SREG_Bit7=0;

__enable_interrupt(); //也可以用_SEI();也可以SREG_Bit7=1;

MCU控制指令

__no_operation(); //空操作指令

_NOP();

__sleep(); //休眠指令

_SLEEP();

__watchdog_reset(); //看门狗清零

_WDR();

来源:畅学电子
审核编辑:何安

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AVR单片机
    +关注

    关注

    22

    文章

    608

    浏览量

    57674
  • IAR
    IAR
    +关注

    关注

    5

    文章

    400

    浏览量

    38343
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    迅为RK3588开发板Android系统烧写及注意事项

    迅为RK3588开发板Android系统烧写及注意事项
    的头像 发表于 12-03 15:17 4895次阅读
    迅为RK3588<b class='flag-5'>开发</b>板Android系统烧写及<b class='flag-5'>注意事项</b>

    驱动板PCB布线的注意事项

    PCB Layout 注意事项 1)布局注意事项: ●● 整体布局遵循功率回路与小信号控制回路分开布局原则,功率部分和控制部分的 GND 分开回流到输入 GND。 ●● 芯片的放置方向优先考虑驱动
    发表于 12-02 07:40

    Enclustra瑞苏盈科产品使用注意事项

    我们准备了关于瑞苏盈科产品使用的注意事项,旨在帮助客户更快,更好的使用瑞苏盈科的产品,实现以最小化的成本提供理想的解决方案,帮助客户打造独树一帜的产品并减少上市时间。瑞苏盈科核心板使用注意事项:电子
    的头像 发表于 11-28 10:28 77次阅读
    Enclustra瑞苏盈科产品使用<b class='flag-5'>注意事项</b>

    CW32F030在使用中的注意事项有哪些?

    CW32F030在使用中的注意事项有哪些?
    发表于 11-18 06:20

    信号调理设备的接地和环境适配有哪些注意事项

    信号调理设备的接地和环境适配,核心是“阻断干扰传导、适应场景特性”—— 接地不当会引入电磁干扰,环境适配不足会导致器件参数漂移,两者都会直接破坏暂态信号的完整性,让分辨率提升失效。具体注意事项
    的头像 发表于 11-14 16:15 3081次阅读
    信号调理设备的接地和<b class='flag-5'>环境</b>适配有哪些<b class='flag-5'>注意事项</b>?

    emWin AppWizard 开发注意事项有哪些?

    emWin AppWizard 开发注意事项
    发表于 09-04 06:18

    请问从哪里可以获取CCG5 软件开发及Layout注意事项?

    我们准备开发一款雷电4的拓展坞 请问从哪里可以获取CCG5 软件开发及Layout注意事项
    发表于 05-30 06:21

    IGBT器件的防静电注意事项

    IGBT作为功率半导体器件,对静电极为敏感。我将从其静电敏感性原理入手,详细阐述使用过程中防静电的具体注意事项与防护措施,确保其安全稳定运行。
    的头像 发表于 05-15 14:55 1220次阅读

    设置射频网络分析仪的测试条件有哪些注意事项

    射频网络分析仪(VNA)的测试条件设置直接影响测量结果的准确性和可靠性。以下从仪器配置、被测器件(DUT)特性、环境干扰、校准与验证四个维度,系统梳理关键注意事项及解决方案。一、仪器配置与参数设置
    发表于 05-06 16:02

    扫描电镜的日常维护有哪些注意事项

    扫描电镜日常维护的注意事项
    的头像 发表于 03-24 11:38 920次阅读
    扫描电镜的日常维护有哪些<b class='flag-5'>注意事项</b>?

    依托raksmart服务器在多种系统上本地部署deepseek注意事项

    在RAKsmart服务器上本地部署DeepSeek时,需根据不同的操作系统和环境做好全面适配。以下是关键注意事项及分步指南,主机推荐小编为您整理发布依托raksmart服务器在多种系统上本地部署deepseek注意事项
    的头像 发表于 03-19 11:25 726次阅读

    GD32单片机GPIO结构及注意事项

    电子发烧友网站提供《GD32单片机GPIO结构及注意事项.pdf》资料免费下载
    发表于 02-07 17:27 3次下载
    GD32单片机GPIO结构及<b class='flag-5'>注意事项</b>

    智多晶DDR Controller使用注意事项

    最后一期我们主要介绍智多晶DDR Controller使用时的注意事项
    的头像 发表于 01-24 11:14 1352次阅读
    智多晶DDR Controller使用<b class='flag-5'>注意事项</b>

    AN20-仪表低通滤波器的应用注意事项

    电子发烧友网站提供《AN20-仪表低通滤波器的应用注意事项.pdf》资料免费下载
    发表于 01-12 11:25 0次下载
    AN20-仪表低通滤波器的应用<b class='flag-5'>注意事项</b>

    多层板埋孔设计注意事项

    多层板埋孔设计注意事项
    的头像 发表于 12-20 16:06 1239次阅读