Re: 請問一下這個錯誤訊息是什麼
|
||||
---|---|---|---|---|
版主
|
在 C18 裡陣列是可以大於一個BANK(256 buytes) 的,但要有一些方法。你可以參考 W401 workshop (C18)的講義第四章的後面有講到如何使用巨大的陣列宣告。
發表於: 2005/3/3 18:21
|
|||
|
Re: 請問一下這個錯誤訊息是什麼
|
||||
---|---|---|---|---|
高級會員
|
謝謝版主的回答
問題真的是出現在那個陣列的大小吧~~ 昨天我努力的幫我的程式瘦身~~ 因此把陣列大小改小了也可以編譯成功了~~ 但是還是要謝謝版主~~~我又多學一樣了~~~ 以後遇到更大的陣列不能瘦身的就需要這一招了~~ 謝謝版主歐~~~
發表於: 2005/3/3 16:32
|
|||
|
Re: 程式中如何將watchdog關掉
|
||||
---|---|---|---|---|
版主
|
沒記錯的話,邏輯上應該是:
1、如果在燒錄IC時,有致能WATCH DOG的話,則程式在跑的時候,不能將WATCH DOG致能。 2、但是,如果在燒錄IC時,沒有致能WATCH DOG的話,則程式在跑的時候,可以自由選擇打開或關掉WATCH DOG。 較舊的IC,程式在跑時,則無法控制WATCH DOG的開關;只能CLEAR WATCH DOG。
發表於: 2005/3/3 11:06
|
|||
|
Re: 新手上路~~所以幫幫忙~~
|
||||
---|---|---|---|---|
版主
|
再補充一句:
不管是編碼或解碼IC,都需要燒錄。所以,買一個KEELOQ EVALUATION KIT,應該是少不了。
發表於: 2005/3/3 10:45
|
|||
|
Re: 新手上路~~所以幫幫忙~~
|
||||
---|---|---|---|---|
版主
|
1、右方「教材及講義」中有KEELOQ的教材。其中主要針對KEELOQ的核心編解碼技術做說明。
2、HCS301是編碼IC;MICROCHIP有硬體解碼IC,如HCS5XX系列便是。對初學者而言,也許HCS512比較簡單。不過,業界一般因成本考量,多用MCU,如PIC做解碼。 3、無線傳輸需另外加裝無線傳收模組。隨便找個電子雜誌,裏面的廣告應該就有賣。或者,去電子商場,買個無線門鈴或防盜器套件,利用它的無線模組也可。
發表於: 2005/3/3 10:41
|
|||
|
Re: 新手上路~~所以幫幫忙~~
|
||||
---|---|---|---|---|
新會員
|
謝謝提供方向~~
那個在請問一下~ 像HCS301的編解碼的晶片, 是否只要用HCS301就可以來達到無線傳輸呢? 還是說還要加其他的模組呢?
發表於: 2005/3/2 23:11
|
|||
|
Re: 可喜可賀!Microchip Taiwan網站登錄會員突破1000人!有沒有人建議辦個什麼慶祝活動啊?
|
||||
---|---|---|---|---|
資深會員
|
嗯,可以請站長看個好日子,何時辦個活動,促進大家的技術交流...,紀念品我也覺得ICD2最好...DEMO BOARD也不錯..IC也是可以啦..
發表於: 2005/3/2 22:50
|
|||
|
Re: 請問CCSC(PICC)在台灣有經銷商嗎?
|
||||
---|---|---|---|---|
資深會員
|
你可以到CCS官網去ORDER,我前陣子買的也到手了,嗯~不錯用...,不過在問問題之前,可以瀏覽前幾篇的文章,記得好像有人發問過勒...
http://www.ccsinfo.com
發表於: 2005/3/2 22:30
|
|||
|
Re: AD中斷?
|
||||
---|---|---|---|---|
高級會員
|
想麻煩各位幫我DEBUG一下,AD中斷一直觸發不了,以下是我AD中斷的程式:依照AD轉換的電壓值做燈號的變換,SW1,SW2,SW3,SW4是燈號顯示
中斷程式: #pragma code High_Interrupt_Vector=0x08 void High_INT_VEC (void) { _asm goto High_INT_SER _endasm } #pragma code #pragma interrupt High_INT_SER void High_INT_SER (void) { int sw_num=nothing,T_ADresult; if (PIR1bits.ADIF=1) { PIR1bits.ADIF=0; ConvertADC (); while ( ! BusyADC() ); T_ADresult= ReadADC() ; if(T_ADresult>=200) sw_num=sw4; else if(T_ADresult>=110) sw_num=sw3; else if(T_ADresult>=85) sw_num=sw2; else if(T_ADresult>=70) sw_num=sw1; else sw_num=nothing; while(1) { switch ( sw_num ) { case sw1: PORTD=1; SetDCPWM1(1000); break; case sw2: PORTD=2; SetDCPWM1(800); break; case sw3: PORTD=4; SetDCPWM1(500); break; case sw4: PORTD=8; SetDCPWM1(200); break; case nothing: PORTD=255; SetDCPWM1(0); break; default: break; } } } } 主程式: void main (void) { TRISD = 0; OpenADC ( ADC_FOSC_2 &ADC_3ANA_0REF, ADC_CH3 & ADC_INT_ON ); PIR1bits.ADIF=0; PIE1bits.ADIE=1; INTCONbits.PEIE = 1; INTCONbits.GIEH = 1; while(1)//等待中斷 { PIR1bits.ADIF=1; } }
發表於: 2005/3/2 21:26
|
|||
|