int main(void){
CLKDIV = 0;
AD1PCFG = 0xFFFF;
TRISB = 0xF0A0;
CNPU1 = 0x7800;
CNPU2 = 0x0080;
IEC0bits.INT0IE = 1;
INTCON2bits.INT0EP = 0;
IEC0bits.INT0IE = 1;
CNEN1 = 0x7800;
IEC1bits.CNIE = 1;
while(1){ }
}
這是一段PIC24 的 C Code. 我超討厭這種直接Access Modify Register的Code. 我會使用#define or Macro來處理這樣的問題 不知道是不是因為過去作IC設計 一拿到Project 第一件事就是先Run Spice 把Process的 MOS Size 和 Speed run 一次然後開始建Library. 對整個Project而言 我只想看到Gates,Regsiter,Logic Block 我完全不想看到MOS 或許是這樣的心態 看到這些Embedded System Code 充滿直接Access Register 而不是用個 Macro,Define or Function把她們藏起來 就會讓我覺得很煩 當然啦 我也了現代的Embedded CPU 動不動就是幾百個Register要 Control 建Abstraction 實在很煩....其實這樣就要建更大的Abstraction 例如. EnableRS232(9600,1,N) 等等 這樣寫Code才會順 不然光有C 還不是跟寫Assembly的心態一樣
Comments