• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
:::

論壇索引


Board index » All Posts (ksj0120)




PIC32MX250F128D REFCLKO輸出頻率不穩定問題
新會員
新會員



發表於: 2013/11/18 10:41
頂部


Re: mpasm watch view無法看變數的問題
#2
新會員
新會員


你可以試試看在MPLAB IDE裏面的Build option->MPASM/C17/C18 Suite 將Single File Assembly Projects設定在Generate absolute code。

發表於: 2009/11/30 11:09
頂部


Re: 用pic如何讀取IR信號
#3
新會員
新會員


若以NEC 的編碼來說,前面的Leader code在接收端會是low 9ms再high4.5ms後面才是4個byte的address&data。
在沒雜訊的情形下接收端Normal狀況應該是high,所以前面的Leader code 從一開始的falling edge到下一次的falling edge會是9ms+4.5ms=13.5ms,所以你可以將中斷設定成falling edge觸發,中斷發生就先檢查Timer,若Timer接近13.5ms則開始存在Buffer,再將Timer清除離開中斷。主程式有空再去檢查buffer。

ex.
void INT_ISR(void){ // 外部中斷副程式
INT0IF = 0; // clear interrupt flag
ucIrTime = TMR1; // get Timer
TMR1 = 0; // clear timer
if ((ucIrTime>=13000) && (ucIrTime<=14000)){//Normal Leader 13.5ms
ucIrCnt = 0;
IRIdleCnt = 0;
}
else if((ucIrTime>=11000) && (ucIrTime<=12000)){//Repaet Leader 1.13ms
ucIrCnt = 0;
IRIdleCnt = 0;
INT0IE = 0; // 收到Repeat code關閉中斷
}
ucIRReceiveBuffer[ucIrCnt] = ucIrTime;
ucIrCnt++;
if (ucIrCnt >= 33) //Leader+4byte=33bits
INT0IE = 0; // 收滿33bits關閉中斷
}

在主程式裏如果檢查到外部中斷INT0IE disable表示收到repeat code或者收滿33bits,接著就可以來看ucIRReceivrBuffer[]裏面的資料得知收到IR 碼是什麼了。

union{
u8 all[4];
struct{
u8 CustomCode;
u8 CustomCodeNot;
u8 DataCode;
u8 DataCodeNot;
}bytes;
}IRCommand;


if (INT0IE==0){
if ((ucIrTime>=13000) && (ucIrTime<=14000)){
ucIrCnt = 1;
for (irbytecnt = 0; irbytecnt < 4; irbytecnt++){
for (irbitcnt = 0; irbitcnt < 8; irbitcnt++){
if (ucIRReceiveBuffer[ucIrCnt] > 2000) //
IRCommand.all[irbytecnt]|=(0x01<<irbitcnt);//2.25ms='1'
else
IRCommand.all[irbytecnt] &= ~(0x01 << irbitcnt); //1.125ms='0'
ucIRReceiveBuffer[ucIrCnt] = 0x00;
ucIrCnt++;
}
}
}
else if((ucIrTime>=11000) && (ucIrTime<=12000))
{
// repeat event
}
IRStatus = 0xFF;
IRReceiveStatus = 1;
ucIrCnt = 0;
INTCONbits.INT0IE = 1;
}


發表於: 2007/7/6 9:23
頂部


Re: 用pic如何讀取IR信號
#4
新會員
新會員


若不希望整個108ms都在做信號判斷,建議可以使用外部中斷搭配Timer或者直接用Capture的中斷將Timer存在buffer,在主程式有空的時候再去檢查buffer裏面的Timer值再做判斷。

不過要注意一般光線的照射可能造成IR的雜訊,所以程式必須要過濾雜訊。

發表於: 2007/7/4 11:55
頂部


有關PIC18F4550 USB 的問題
#5
新會員
新會員


版主您好,
我目前在APP013上使用PIC18F4550有一些問題想請教。當我直接使用Microchip的HID Demo code "Ctrl_IO_AD_DEMO" USB接上後,電腦的裝置管理會出現HID的裝置,是沒有問題的。
但是當我在這個範例程式中將中斷程式加入後,就會變成"無法辦識的裝置"。我用ICD2 debug發現PIR2 的USBIF變為"1",但是我用單步執行卻無法將USBIF清除,是因為這樣還是有其他的原因,造成我加了中斷的程式之後,USB就會變成無法動作?
版主還是那位有經驗的前輩可以幫幫小弟!
謝謝!!

發表於: 2007/6/28 15:31
頂部


Re: 有關18系列 Stack的問題?
#6
新會員
新會員


喔!原來如此!謝謝!
那再請問一下版主,我可以把這一塊搬到其它的位址嗎?
例如原本是
STACK SIZE=0x100 RAM=gpr2

我可以把它改成底下這樣嗎?
STACK SIZE=0x100 RAM=gpr0

因為我想要用兩塊連續256bytes的空間。
再次麻煩版主,謝謝!!

發表於: 2006/12/27 16:54
頂部


有關18系列 Stack的問題?
#7
新會員
新會員


版主您好:
18系列有support 31 level hardware stack,但是在LKR檔案裏面又佔用了一塊RAM,這一塊RAM是否是用來做software stack用的,我可不可以只用hardware 的31層stack,把LKR檔案裏面佔用的RAM拿來用?

ex. 18F2410.lkr

STACK SIZE=0x100 RAM=gpr2
我可以把這行刪掉,然後把這一塊RAM也拿來嗎?
因為我只要在程式裏面將變數定址在這一塊就會出現以下的錯誤:
Error - section '.stack' has a memory 'gpr2' which can not fit the section. Section '.stack' length=0x00000100.

或者是我要怎麼做才能用到全部RAM?
謝謝!!

發表於: 2006/12/27 16:18
頂部


Re: 請問新的組態設定怎麼寫?
#8
新會員
新會員


那些關鍵字好像都跟 P18xx.h裏面組態設定的名稱一樣,只要拿掉底線就可以了,我目前試過PIC18F8621是這樣的,其它的不知道是不是一樣。

例如在P18F8621.h裏面是
#define _OSC_LP_1H 0xF0
#define _OSC_XT_1H 0xF1
#define _OSC_HS_1H 0xF2
#define _OSC_RC_1H 0xF3
#define _OSC_EC_1H 0xF4
#define _OSC_ECIO_1H 0xF5
#define _OSC_HSPLL_1H 0xF6
#define _OSC_RCIO_1H 0xF7
#define _OSC_ECIOPLL_1H 0xFC
#define _OSC_ECIOSWPLL_1H 0xFD
#define _OSC_HSSWPLL_1H 0xFE

#define _OSCS_ON_1H 0xDF
#define _OSCS_OFF_1H 0xFF

則用C18 v2.40之後的版本,在程式裏面就可以寫成
#pragma config OSC=HSPLL,OSCS=ON

跟P18xx.h裏面的文字對照只是把底線拿掉而已。


發表於: 2005/7/14 18:08
頂部


有關C18 程式位置的問題
#9
新會員
新會員


想請問一下,C18可以保留一段程式記憶體(ROM)不讓LINK去擺放程式,但是又能夠在程式裏指定某段程式是放在這個區域嗎?
如果直接改.LKR 把一段位址設成PROTECT,LINK是不會把程式放在這些位址,但是我也沒辦法把某段程式放在這些位址了,我應該如何才能保留一段位址讓我自已使用?

謝謝!

發表於: 2005/6/10 17:25
頂部


Re: C18 v2.42 config 的問題
#10
新會員
新會員


真是感謝版主,根據版主的說明, 小弟已經找到相關資料了。
的確好用多了.
謝謝!

發表於: 2005/4/26 12:54
頂部



(1) 2 »



:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------