A. 为什么AVR单片机的PORTA(第2脚) 与PINA(第二脚)逻辑电平不同。
AVR的端口模式设置时,不管DDRn设置成哪种情况,均可以通过PINx来读取相应的引脚电平。但是在输出到PORTX和读取PINX之间有一个延时,也就是说不能这样操作:
PORTA = 0XFE;
if(PINA & 0x01) //判断PA0电平
{}
不能马上判断输入端电平,在输出和读取之间需要一个延时,一般在4个时钟周期就可以了
B. 在单片机英文手册中PIN 指的是什么
你好歹也要说个单片机型号啊。PIN可能指单片机的引脚,比如PIN2表示第2引脚,32PIN表示单片机有32个引脚;也可能指单片机的输入寄存器,如AVR的PINA,表示A端口的输入寄存器
C. avr单片机引脚输出状态为什么也可以读如题:DDRA=0xff;PORTA=0xff;//此时为输出状态; a=PINA;//还可读
可以读的,这个是标准双向io的特点
D. AVR单片机C代码中,j=~(PINC<<6)*4+~(PINA)是什么意思谢谢~~
1. PINC的值左移6位
2. 取反
3. 再乘4
4. PINA取反后与上面结果相加
奇怪,乘4相当于左移2位,1-3结果应该等于0xfc,与PINC无关啊。。。