RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

IAR開發(fā)環(huán)境使用注意事項

電子設(shè)計 ? 來源:電子設(shè)計 ? 作者:電子設(shè)計 ? 2022-02-18 10:50 ? 次閱讀

頭文件含義

avr_macros.h里面包含了讀寫16位寄存器的簡化書寫,和幾個位操作函數(shù)

comp_a90.h對大量的內(nèi)在函數(shù)做了簡要書寫

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

intrinsics.h內(nèi)在函數(shù)提供最簡單的操作處理器底層特征。休眠,看門狗,F(xiàn)LASH函數(shù)。

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使用了擴展語言,它對位域的支持變?yōu)樽钚閏har類型,我們可以很方便地用來定義位變量。

采用結(jié)構(gòu)體來定義位變量:

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;

但是采用以上結(jié)構(gòu)體做出來的位變量只可以訪問t的位,不能夠直接訪問變量t,和標準的IAR位操作也不一樣,可以采用聯(lián)合體來定義。

#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

}

延時函數(shù)

__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)

中斷函數(shù):

在IAR編譯器里用關(guān)鍵字來__interrupt來定義一個中斷函數(shù),用#pragmavector來提供中斷函數(shù)的入口地址

#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();

來源:暢學電子
審核編輯:何安

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • AVR單片機
    +關(guān)注

    關(guān)注

    22

    文章

    607

    瀏覽量

    55484
  • IAR
    IAR
    +關(guān)注

    關(guān)注

    5

    文章

    350

    瀏覽量

    36664
收藏 人收藏

    評論

    相關(guān)推薦

    多層板埋孔設(shè)計注意事項

    多層板埋孔設(shè)計注意事項
    的頭像 發(fā)表于 12-20 16:06 ?81次閱讀

    PCBA生產(chǎn)注意事項

    ? ?PCBA生產(chǎn)注意事項。 長按識別二維碼關(guān)注[現(xiàn)代電子裝聯(lián)工藝技術(shù)]訂閱號,開啟我們共同的學習之旅 end
    的頭像 發(fā)表于 11-15 17:04 ?368次閱讀
    PCBA生產(chǎn)<b class='flag-5'>注意事項</b>

    如何為住宅配置靜態(tài)IP:步驟與注意事項

    為住宅配置靜態(tài)IP地址,通常涉及以下步驟和注意事項
    的頭像 發(fā)表于 10-24 08:02 ?221次閱讀

    脈沖式充電器的使用注意事項

    脈沖式充電器的使用注意事項主要包括以下幾個方面: 一、安全注意事項 用電安全 :在充電過程中,應始終保持警惕,注意用電安全,避免觸電和短路等危險情況的發(fā)生。 防火防災 :避免在易燃易爆物品附近進行
    的頭像 發(fā)表于 09-26 16:05 ?769次閱讀

    繞線電感定制的注意事項

    電子發(fā)燒友網(wǎng)站提供《繞線電感定制的注意事項.docx》資料免費下載
    發(fā)表于 09-20 11:24 ?0次下載

    共模電感定制的注意事項

    電子發(fā)燒友網(wǎng)站提供《共模電感定制的注意事項.docx》資料免費下載
    發(fā)表于 09-04 11:47 ?0次下載

    LiFePO4設(shè)計注意事項

    電子發(fā)燒友網(wǎng)站提供《LiFePO4設(shè)計注意事項.pdf》資料免費下載
    發(fā)表于 09-03 09:24 ?0次下載
    LiFePO4設(shè)計<b class='flag-5'>注意事項</b>

    現(xiàn)場總線的使用方法與注意事項

    的穩(wěn)定可靠運行,正確的使用方法和注意事項至關(guān)重要。本文將詳細介紹現(xiàn)場總線的使用方法和注意事項,以供讀者參考。
    的頭像 發(fā)表于 06-06 11:49 ?774次閱讀

    FMD LINK 使用注意事項

    電子發(fā)燒友網(wǎng)站提供《FMD LINK 使用注意事項.pdf》資料免費下載
    發(fā)表于 05-06 10:11 ?0次下載

    EMI / Safety觀念簡介及注意事項

    電子發(fā)燒友網(wǎng)站提供《EMI / Safety觀念簡介及注意事項.ppt》資料免費下載
    發(fā)表于 02-28 09:45 ?1次下載

    浪涌抑制器的應用及注意事項?

    浪涌抑制器的應用及注意事項?|深圳比創(chuàng)達電子
    的頭像 發(fā)表于 01-19 09:55 ?728次閱讀
    浪涌抑制器的應用及<b class='flag-5'>注意事項</b>?

    STM32ADC中斷的使用注意事項和優(yōu)化建議

    STM32ADC中斷的使用注意事項和優(yōu)化建議 STM32ADC(模擬數(shù)字轉(zhuǎn)換器)是STMicroelectronics開發(fā)的一款用于外部模擬信號轉(zhuǎn)換為數(shù)字信號的器件。在使用STM32ADC時,合理地
    的頭像 發(fā)表于 01-12 15:17 ?3373次閱讀

    測速電機: 常見6大注意事項

    測速電機: 常見6大注意事項!測速電機是一種用于測量物體運動速度的設(shè)備,廣泛應用于工業(yè)生產(chǎn)和科學研究中。測速電機常見的6大注意事項以確保安全和準確性。
    的頭像 發(fā)表于 01-11 10:53 ?479次閱讀
    測速電機: 常見6大<b class='flag-5'>注意事項</b>

    芯片金線包封膠的使用注意事項是什么?

    芯片金線包封膠的使用注意事項是什么?金線包封膠是一種高性能、高粘度的密封膠,廣泛應用于電子、電器、汽車等領(lǐng)域。它具有良好的防水、防潮、防震等性能,能夠保護產(chǎn)品內(nèi)部零件不受環(huán)境影響,提高產(chǎn)品的使用壽命
    的頭像 發(fā)表于 01-05 11:29 ?950次閱讀
    芯片金線包封膠的使用<b class='flag-5'>注意事項</b>是什么?

    DC電源模塊有哪些注意事項和使用技巧?

    DC電源模塊有哪些注意事項和使用技巧?
    的頭像 發(fā)表于 12-25 13:59 ?605次閱讀
    DC電源模塊有哪些<b class='flag-5'>注意事項</b>和使用技巧?
    RM新时代网站-首页