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----中断向量编号 |
|
来自: ldjsld > 《电脑手机及电子技术》