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無關啊。。。