新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > AVR單片機(jī)C語言的使用特點(diǎn)

AVR單片機(jī)C語言的使用特點(diǎn)

作者: 時(shí)間:2013-01-10 來源:網(wǎng)絡(luò) 收藏

PORTX和PINX的使用區(qū)別

每組I/O口有3個(gè)8位,分別是DDRx、PORTx和PINx;

DDR用于控制I/O口的輸入輸出方向:

DDRx=1時(shí),I/O口輸出,PORTx=1時(shí)輸出高電平,PORTx=0時(shí)輸出低電平,

DDRx=0時(shí),I/O口輸入,這時(shí)要讀取外部管腳的電平就應(yīng)讀取PINx中的數(shù)值,而不是PORTx;

PORTx是數(shù)據(jù),而PINx不能稱為真正意義上的,更像是一個(gè)可控的三態(tài)口

引用 幾種單片機(jī)的中斷程序?qū)懛?/P>

本文引用自Ajiao《幾種單片機(jī)的中斷程序?qū)懛ā?/P>

引用

Ajiao的 幾種單片機(jī)的中斷程序?qū)懛?/P>

Keil C51編譯器:

void intfunc (void) interrupt m using n

{

......

}

其中:intfunc----函數(shù)名稱 interrupt----專門定義中斷函數(shù)的關(guān)鍵字 m----中斷向量編號(hào)(0~N)n----在中斷中用的寄存器組(0~1)

IAR msp430C編譯器

#pragma vector = xx

void intfunc(void)

{

.........

}

其中:intfunc----函數(shù)名稱 xx是中斷向量地址

ICC AVR C編譯器

#pragma interrupt_handler intfunc : n

void intfunc(void)

{

............

}

其中:intfunc----函數(shù)名稱 n----中斷向量編號(hào)

NC30 for Renesas R16C R8c...編譯器

方式1:

#pragma INTERRUPT [/B|/E|/V] intfunc

void intfunc(void)

{

............

}

其中:intfunc----函數(shù)名稱

方式2:

#pragma INTERRUPT [/B|/E] n intfunc

void intfunc(void)

{

............

}

其中:intfunc----函數(shù)名稱 n----中斷向量編號(hào)

方式3:

#pragma INTERRUPT [/B|/E] intfunc (vector = n)

void intfunc(void)

{

............

}

其中:intfunc----函數(shù)名稱 n----中斷向量編號(hào)



關(guān)鍵詞: AVR單片機(jī) C語言 寄存器

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉