新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > AVR单片机C语言的使用特点

AVR单片机C语言的使用特点

作者:时间:2013-01-10来源:网络收藏

PORTX和PINX的使用区别

每组I/O口有3个8位,分别是DDRx、PORTx和PINx;

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

DDRx=1时,I/O口输出,PORTx=1时输出高电平,PORTx=0时输出低电平,

DDRx=0时,I/O口输入,这时要读取外部管脚的电平就应读取PINx中的数值,而不是PORTx;

PORTx是数据,而PINx不能称为真正意义上的,更像是一个可控的三态口

引用 几种单片机的中断程序写法

本文引用自Ajiao《几种单片机的中断程序写法》

引用

Ajiao的 几种单片机的中断程序写法

Keil C51编译器:

void intfunc (void) interrupt m using n

{

......

}

其中:intfunc----函数名称 interrupt----专门定义中断函数的关键字 m----中断向量编号(0~N)n----在中断中用的寄存器组(0~1)

IAR msp430C编译器

#pragma vector = xx

void intfunc(void)

{

.........

}

其中:intfunc----函数名称 xx是中断向量地址

ICC AVR C编译器

#pragma interrupt_handler intfunc : n

void intfunc(void)

{

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

}

其中:intfunc----函数名称 n----中断向量编号

NC30 for Renesas R16C R8c...编译器

方式1:

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

void intfunc(void)

{

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

}

其中:intfunc----函数名称

方式2:

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

void intfunc(void)

{

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

}

其中:intfunc----函数名称 n----中断向量编号

方式3:

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

void intfunc(void)

{

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

}

其中:intfunc----函数名称 n----中断向量编号



评论


相关推荐

技术专区

关闭