- sfr and sbit setting,使用 Keil-C 的寫法在 SDCC 編譯一樣會過,沒有錯誤顯示,但是結果完全不同,一定要用 SDCC 寫法才正確。
- Interrupt Service Routines,使用 Keil-C 的寫法在 SDCC 一樣 OK 沒問題。另外 timer0_isr 需要在 maic() 的 source 裏宣告原型,這樣才會被放進 interrupter vector 裏,切記。
Keil-C | sfr PMR = 0xC4; sbit P3_0= 0xB0; |
SDCC | __sfr __at (0xC4) PMR; __sbit __at (0xB0) P3_0; |
Keil-C | void timer0_isr(void) interrupt 3 using 3 |
SDCC | void timer0_isr(void) __interrupt (3) __using (3); |
張貼留言