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

論壇索引


Board index » All Posts (jaco)




Re: [問題]請問PIC的PWM訊號調整的問題
#1
新會員
新會員


To Ryang 版主:
我的WDT設定是關閉的。

To Mickeys_wu :
CCS的函式庫,試過你的建議後,情況還是先前一樣,
Period : 1 msec , dutycycle : 0.5 msec的訊號一樣是OK的,
但仍有之前的情形。

一樣會有固定約10 msec的時間是有PWM訊號輸出,7.5 msec是沒有PWM訊號輸出的情形。

主要code如下:
#fuses NOWDT,INTRC_IO,NOPROTECT,NOPUT
void main(){
setup_ccp1(CCP_PWM);
set_pwm1_duty(31);
set_tris_b(0x02);
setup_timer_2(T2_DIV_BY_16,62,1);
while(1);
}

發表於: 2006/2/20 9:16
頂部


[問題]請問PIC的PWM訊號調整的問題
#2
新會員
新會員


各位板友好:
我想用PIC16F628A產生
週期: 1 msec
DutyCycle: 0.5 msec 的訊號,
依DataSheets的說明做,確實OK了,
但是在約 10 msec後,
就會有 7.5 msec的時間訊號是完全
在Low的狀態,然後照這個情形一直循環,
請問是什麼原因呢?
(振盪器是用內部的振盪器: 4MHz)

我用的是CCS,主程式程式碼如下:
void main(){
CCP1CON = 0x0c;
PR2 = 62;
CCPR1L = 31;
set_tris_b(0x02);
T2CON = 0x06;
while(1);
}

謝謝各位的指教~~^^

發表於: 2006/2/16 15:19
頂部


Re: 請問FSR and page select(status<5,6>)的差異??
#3
新會員
新會員


這兩個都跟Data memory的定址有關,
只是status<5,6>,只針對記憶體Bank的切換,
切換後,可對所切換的Bank直接做資料存取。
而透過FSR,只要位址正確一樣可以存取到所有的
Data Memory,這是屬於間接定址的應用。
這些暫存器的說明在DataSheet中Memory Organization
都有詳細的說明。

在下也還是個新手~~剛用PIC四個月而已~^^,多多指教。

發表於: 2005/12/28 13:21
頂部


Re: 請問PIC的UPPER語法與TBLPTRU暫存器是什麼作用?
#4
新會員
新會員


用來取得跟儲存UPPER Byte位址。
以PIC18F2320為例,它的程式記憶體是21bit定址,
所以其位址結果就像
UpperByte+HighByte+LowByte
所以upper的語法,就是用來取得UpperByte部份的位址。
而TBLPTRU自然就像TBLPTRH,TBLPTRL一樣的功能了。
(參考DataSheets P.74)
以上若有錯誤,請多指教了~^^。

發表於: 2005/12/27 17:14
頂部


Re: 請問PIC的Programmer有能燒錄SMD包裝的機種嗎?
#5
新會員
新會員


嗯,我明白了,謝謝Ryang版主~^^。

發表於: 2005/12/22 17:57
頂部


請問PIC的Programmer有能燒錄SMD包裝的機種嗎?
#6
新會員
新會員


Hi,everyone:
我在Microchip的網站上,看到的Programmer好像都只能
燒錄DIP的包裝,請問有適用於SDM包裝的機種嗎?

發表於: 2005/12/22 14:42
頂部


Re: 請教一下平方和開根號..
#7
新會員
新會員


檢查看看是否在include之前就使用到這兩個函數,
這種情形就可能會有找不到函數定義的可能。

我試過,math.h,可以使用這兩個函數。
附帶一提我用的是CCS C-compiler&PIC18F2320作測試。

發表於: 2005/11/11 17:19
頂部


Re: [問題]請教關於CCS語法的問題
#8
新會員
新會員


嗯~~了解。
我有試著看過它在PROGRAM MEMORY裡的程式了,的確如此,在宣告的變數時,會把所設定的初值複製到DATA MEMORY(難怪我宣告越大的陣列,PROGRAM MEMORY就會減少...)。
而STRCPY使用的效果也比起自己用MEMCPY()寫CODE處理好多了,程式碼還較短,又能傳字串常數。
看樣子,自己寫的函數真的是無法傳字串常數進去了。

發表於: 2005/11/7 16:34
頂部


Re: [問題]請教關於CCS語法的問題
#9
新會員
新會員


To mechwu:
我指的函數,像是printf()、strcpy()都可以在兩個傳入值的時候傳入,常數字串。
例如:printf("Test%C",var);strcpy(str,"Test");
像這樣的作用。
而我自己寫的函數雖然寫成myfunc(char *str1,char *str2)
可是就不能在str1或str2的位置傳入常數字串,後來才知道是CCS的限制,它只有在函數只有一個傳入值的時候才能用常數字串傳入。
我若想達成我要的作法,只要像 mechwu 所說用指標再加上
read_program_eeprom()即能達成嗎?
是不是像這樣:

char tmp = 0;
char str[20]="anystring";

void myfunc(char *str1,char *str2)
{

tmp = read_program_eeprom(str1);
//此時tmp會等於所傳入字串的第一個字?
putc(tmp);
}
void main(){
myfunc("Test",str);

}

發表於: 2005/10/31 14:12
頂部


Re: [問題]請教關於CCS語法的問題
#10
新會員
新會員


To mechwu:
你好,事實上,你說的並沒錯,
只是我很好奇,既然CCS原本所提供的函數,在兩個傳入值時,可以傳入常數字傳,為何我卻不行。
所以,才在想,是否有其它的可能性來達成。

發表於: 2005/10/27 15:22
頂部



(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... ]

教育訓練中心

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