Re: 三角波问题
|
||||
---|---|---|---|---|
資深會員
|
要靠外部電路才可能實現.
發表於: 2005/4/7 0:09
|
|||
|
三角波问题
|
||||
---|---|---|---|---|
初級會員
|
用PIC的CCP/ECCP功能能直接产生频率可变的三角波吗?
發表於: 2005/4/6 21:35
|
|||
|
直接定址需要切換bank嗎?
|
||||
---|---|---|---|---|
資深會員
|
使用PIC18F4320
剛剛寫個小程式測試直接定址存取暫存器
START
如此一來我只要INCF FSR1L就可以連續寫入256個值製表 我想請問一下 由於這不是屬於直接存取暫存器ACCESS RAM 那我要讀寫這個表時需要改BSR來切換BANK嗎? 還是說只要改FSR1H跟FSR1L這兩個值就好?! 我程式裡的變數兩三百個 已經超過005FH 代理商的FAE跟我說18系列也是需要切BANK 但我直接使用沒有切換BANK也沒出問題.. 上面那一段使用到0600H沒切換也沒出問題 所以想問問 18系列如果不切換BANK 程式執行久了以後會出問題嗎?
發表於: 2005/4/6 16:48
|
|||
|
Re: 請問使用ram的巨大矩陣的使用方法?
|
||||
---|---|---|---|---|
高級會員
|
因為每個原本的gpr都只有256個byte
你一開始設的矩陣剛好256所以沒問題 當你設成512因為要512個才夠放~~所以會出現那一行的錯誤訊息 你改.LKR檔 將對應的名稱 DATABANK NAME=hugestuff START=0x200 END=0x3FF 200-->3FF 剛好512 SECTION NAME=HugeObj RAM=hugestuff 程式中的名稱 你改成這樣讓你的位置夠放你所設的大矩陣~~所以也COMPILE的過去~~ 不太會解釋~~~ 就是你如果以後要放更大的~~你也是要這樣子算你要多大~~ 將START和END的位置算好~~~再設一個對應的名字 就可以了~~~ 希望我解釋的你看的董~~ 不太會表達~~ㄏ~加油啊~~等你出書啊 你可以的啦~~~~出了要跟我說歐
發表於: 2005/4/6 16:05
|
|||
|
Re: 請問... example1.c要要執行Build All發生??
|
||||
---|---|---|---|---|
新會員
|
建議您將 C18 重新安裝於 C 碟...
在安裝過程中需連結的選項通通打勾... 開啟專案精靈時須確認 C18 組譯程式的路徑皆正確... 最後記得加入 Linker Scripts "18f452.lkr" ... 再組譯看看吧!!...
發表於: 2005/4/6 15:37
|
|||
|
Re: 請問一下底下的程式~~為什麼設不過去啊
|
||||
---|---|---|---|---|
高級會員
|
1. 是否用軟體模擬檢查過 ? 當 conti_flag == set_humil 時 , 程式是否會執行到第二個 case ! 這個我有檢查過了正常~有到第二個CASE 2. 若有執行到第二個 case , 那 cheakbits.cheakflash = 3 這個動作是否也不對 ? 對啊~~他在這個地方會設不過去~~~ 正確應該說~~一到第二各CASE~~這種要設定的都會設不過去 好奇怪咧
發表於: 2005/4/6 14:45
|
|||
|
Re: 請問一下底下的程式~~為什麼設不過去啊
|
||||
---|---|---|---|---|
高級會員
|
不好意思啊~~因為程式碼很多~~只PO了一點點上去
我是在DEBUGGER中~~設中斷點等程式跑到我要停的位置停下 然後再用單步執行~~~ flashbits.tempflash=0; flashbits.humilflash=0; flashbits.ppmflash=0; flashbits.groupflash=0; flashbits.unitflash=0; flashbits.timehflash=0; flashbits.timemflash=0; 就例如這幾行程式,只是單純的把這幾個旗標歸零, 但是就是沒法設成零,不知道這是什麼情形~~ 是我的程式有問題嗎?? 還是發生了什麼事情?? struct cheakflash { unsigned tempflash:1; unsigned humilflash:1; unsigned ppmflash:1; unsigned groupflash:1; unsigned unitflash:1; unsigned timehflash:1; unsigned timemflash:1; }flashbits; 這個宣告完~~應該就可以單一各BIT控制了吧~~ 一直在找這個問題~~困惑了好幾天了~~請各位前輩幫幫忙~ 否有遇過這種情形咧??
發表於: 2005/4/6 13:53
|
|||
|
Re: 請問使用ram的巨大矩陣的使用方法?
|
||||
---|---|---|---|---|
新會員
|
我的問題解決了,在linker script的STACK SIZE=0x100
RAM=gpr1<=改成“1”就可以了,雖然不太知道為什麼,但是 改過就可以compile了。 程式修改如下: linker script: ACCESSBANK NAME=accessram START=0x0 END=0x7F DATABANK NAME=gpr0 START=0x80 END=0xFF DATABANK NAME=gpr1 START=0x100 END=0x1FF DATABANK NAME=hugestuff START=0x200 END=0x3FF ROTECTED DATABANK NAME=gpr4 START=0x400 END=0x4FF DATABANK NAME=gpr5 START=0x500 END=0x5FF ACCESSBANK NAME=accesssfr START=0xF80 END=0xFFF SECTION NAME=HugeObj RAM=hugestuff STACK SIZE=0x100 RAM=gpr1 SECTION NAME=HugeObj RAM=hugestuff ps: 希望有高手能出c18 compiler的書,這樣使用者就能方更地使 用c18了,不需要東翻西翻地找問題的解答。
發表於: 2005/4/6 12:21
|
|||
|
PIC16F873 PWM問題
|
||||
---|---|---|---|---|
新會員
|
hi 各位高手
請問 如何使用 873裡面 2組pwm 模組 做出2組有相位差的pwm訊號 是否有note 可以參考 謝謝!!
發表於: 2005/4/6 12:20
|
|||
|