Re: 請問High-Tech如何宣告一個旗號在某個暫存器的位元內
|
||||
---|---|---|---|---|
版主
|
bit 宣告是 Hi-Tech PICC 對位元的一種特定宣告用法,應屬於特定的專用語法,就這樣子用就是了。
發表於: 2006/5/8 18:01
|
|||
|
Re: 請問High-Tech如何宣告一個旗號在某個暫存器的位元內
|
||||
---|---|---|---|---|
資深會員
|
原來是這樣宣告,謝謝,
發表於: 2006/5/5 14:55
|
|||
|
Re: 請問High-Tech如何宣告一個旗號在某個暫存器的位元內
|
||||
---|---|---|---|---|
版主
|
可以用bit + 決對位址 @的方式宣告單一位元:
unsigned char bank1 var1 @ 0xF0; bank1 Flag0 @ (unsigned)&var1*8+7; bank1 Flag1 @ (unsigned)&var1*8+6; bank1 Flag2 @ (unsigned)&var1*8+5; bank1 Flag3 @ (unsigned)&var1*8+4; bank1 Flag4 @ (unsigned)&var1*8+3; bank1 Flag5 @ (unsigned)&var1*8+2; bank1 Flag6 @ (unsigned)&var1*8+1; bank1 Flag7 @ (unsigned)&var1*8+0; 一般常用的方式可直接使用bit來宣告位元變數或採用位元結構方式比較方便簡單: static bit Count_Flag ; static bit Buzzer_1_Flag ; Buzzer_1_Flag = 1 ; if (Count_Flag) Count_Flag = 0 ;
發表於: 2006/5/5 12:03
|
|||
|
Re: 請問High-Tech如何宣告一個旗號在某個暫存器的位元內
|
||||
---|---|---|---|---|
資深會員
|
謝謝版主回覆,不過
unsigned char bank1 var1 @ 0xF0; 這樣的宣告是把var1這個變數定義在BANK1的0xF0的位址上, 而我想問的是如何分別定義var1的八個位元為不同的旗號變數, 謝謝。
發表於: 2006/5/5 11:23
|
|||
|
Re: 請問High-Tech如何宣告一個旗號在某個暫存器的位元內
|
||||
---|---|---|---|---|
版主
|
使用絕對定址的方式 @ 宣告變數位址,如果要指定方在哪一個BANK 可以用下列的方式達成:
unsigned char bank1 var1 @ 0xF0; unsigned char bank1 var2 @ 0xF1;
發表於: 2006/5/5 11:00
|
|||
|
請問High-Tech如何宣告一個旗號在某個暫存器的位元內
|
||||
---|---|---|---|---|
資深會員
|
例如我宣告一個旗號暫存器變數FLAG在7f的位址:
unsigned char FLAG @ 0x7f; 再來我想宣告F0~F7這幾個位元變數, 分別為FLAG暫存器的bit0~bit7, 請問要如何宣告? 謝謝。
發表於: 2006/5/5 10:13
|
|||
|