微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > AVR单片机C语言的使用特点

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

时间:01-10 来源:互联网 点击:

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top