Re: 結構型態&共用型態的問題?
|
||||
---|---|---|---|---|
版主
|
第一種型態是 Count 與 B<0:5> 共用一個 BYTE 的RAM,所以B0~B5 的位元變化會直接改變 Count 的值。至於其位址是由 LINKER 來決定的。
第二種型態與第一種相似,RB0 位元與 INT0 位元佔相同之位元。但 PORTB 與PORTBits 是個別獨立的宣告,其位址由別人定義 (extern),在 C18 的例子裡位址會由 PIC18F452.asm 宣告。
發表於: 2005/10/31 12:27
|
|||
|
結構型態&共用型態的問題?
|
||||
---|---|---|---|---|
初級會員
|
看WAP002 Workshop看了很久還是看不懂@@
以下兩種宣告方式差別在那?怎麼覺的用起來是一樣的? ------------------------------------------------------------------ near union { unsigned char Count; struct { unsigned B0:1; unsigned B1:1; unsigned B2:1; unsigned B3:1; unsigned B4:1; unsigned B5:1; }; }Bz=0; _____________________________________________ extern volatile near unsigned char PORTB; extern volatile near union{ struct { unsigned RB0:1; unsigned RB1:1; unsigned RB2:1; unsigned RB3:1; unsigned RB4:1; unsigned RB5:1; unsigned RB6:1; unsigned RB7:1; } ; struct { unsigned INT0:1; unsigned INT1:1; unsigned INT2:1; unsigned CCP2:1; } ; } PORTBbits ;
發表於: 2005/10/25 17:35
|
|||
|