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


Browsing this Thread:   1 Anonymous Users






Re: 使用SetDCPWM()發現問題?
#7
高級會員
高級會員


查看用戶資訊
那我了解了~~~謝謝

發表於: 2005/2/4 12:38
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 使用SetDCPWM()發現問題?
#6
資深會員
資深會員


查看用戶資訊
PIC的PWM是用計數的
輸出高準位開始計數一段時間後
改為低準位再開始計數
一直重複
所以你看起來會有PWM的現象

你停止模擬後
程式停止
他如果在高準位狀態時就會一直維持住
因為計數器停止而沒把他拉到低準位
所以你看到的就是100%
同理,如果停止時他在低準位
你看到的就是0%

發表於: 2005/2/4 8:40
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 使用SetDCPWM()發現問題?
#5
高級會員
高級會員


查看用戶資訊
當我結束模擬時,設定的pwm輸出腳仍然輸出高電位,不是應該輸出為0嗎?

發表於: 2005/2/3 16:00
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 使用SetDCPWM()發現問題?
#4
版主
版主


查看用戶資訊
不懂為什麼是有時候??

可否測試一下教育訓練裡的 W401 workshop 裡的練習 3-2
它的duty cycle 就可以從 0 ~ 1023

發表於: 2005/2/3 15:38
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 使用SetDCPWM()發現問題?
#3
高級會員
高級會員


查看用戶資訊
您的意思是說OpenPWM1(0xff)才能設SetDCPWM1(1023)嗎?
但我用示波器量,有時候還是會用這種情況發生,是硬體設定的問題嗎

發表於: 2005/2/3 14:38
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 使用SetDCPWM()發現問題?
#2
版主
版主


查看用戶資訊
Period設的太小,所以你的duty一但達於Period後就會變成100%.

Period的值需成以四,設成 0xFF後,Duty的動態範圍就可以從00 ~ 1023。

請參考w401 workshop 的練習 3-2

//************************************************
//********* Function: InitializePWM1 ********
//************************************************
void InitializePWM1(void)
{
TRISCbits.TRISC2=0; //* setup RC2 for PWM output
OpenPWM1(0xFF); //Period 設為最大值 0xFF * 4 = 1023
}

發表於: 2005/2/3 9:19
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


使用SetDCPWM()發現問題?
#1
高級會員
高級會員


查看用戶資訊
使用pwm函數時,做icd2模擬發現,當SetDCPWM1(n)裡的n=200時,duty cycle=5V*(200/1024),但設太高(大約300~1023),停止模擬後pwm仍然維持100%的佔空比,以下是我的程式,各位可以幫我除錯一下嗎.....

void main(void)
{
InitializeTMR2( );
InitializePWM1( );

while(1)
{
SetDCPWM1(100);
}

}




//************************************************
//********* Function: InitializePWM1 ********
//************************************************
void InitializePWM1(void)
{

OpenPWM1(0x88);
}




//************************************************
//*********Function: InitializeTimer2*******
//************************************************
void InitializeTMR2(void)
{
OpenTimer2(T2_PS_1_4 & T2_POST_1_16);
}

發表於: 2005/2/2 23:19
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

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

教育訓練中心

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