这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » AVR单片机C语言的使用特点

共1条 1/1 1 跳转至

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

高工
2013-10-25 16:08:01     打赏

PORTX和PINX的使用区别

AVR单片机每组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不能称为真正意义上的寄存器,更像是一个可控的三态口

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

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

引用

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

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----中断向量编号

【更多资源】




关键词: 基础知识    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]