- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
各位好,請問如何設定PWM初始的輸出狀態?
使用的IC是CY8C4125
目前電路上已經有Pull High的電阻,但是MCU在Power On的時候,PWM的腳位仍然會將電位拉至Low(波形如下),
因為我的硬體是Low動作的,所以不希望MCU Power On的時候出現Low的訊號。
我希望的動作是像GPIO的訊號一樣,設定完Initial drive state後,Power On後電位保持在高電位。
C1:PWM 訊號
C2:GPIO 訊號
C3:XRES 訊號
Solved! Go to Solution.
- Labels:
-
PSoC 4 Architecture
- Tags:
- pwm
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
大家好,分享我解決的方式。
Step1.
Step2.
Step3.
IC Power On 後 CyDelay(200); 一段時間,再執行以下程式:
MotorPwm_TriggerCommand(MotorPwm_MASK, MotorPwm_CMD_START);
MotorPwm_WriteCompare(0);
MotorPwm_WritePeriod(1000);
MotorPwm_Out_SetDriveMode(0x6);
MotorPwm_Start();
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
这个问题需要综合你的需求才能回复:
1:如果改成反向输出,开始为高,这种情况是否可以满足你的需求?
2:还有一种方法是你可以通过修改HSIOM寄存器,把这个管脚从PWM上面断开,然后改到GPIO,这个方法可以解决在PWM stop之后,客户想手动控制这个管脚的高低电平。这种方法可以参考: Control GPIO Output After Stopping the PWM - KBA218991
3:Hope it can be helpful for you!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you !
依照您的方法,Power On後仍然會有約 100us 是Low的狀態。
但是參考你提供的方法,再做一些設定即可達到我要的結果。
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
大家好,分享我解決的方式。
Step1.
Step2.
Step3.
IC Power On 後 CyDelay(200); 一段時間,再執行以下程式:
MotorPwm_TriggerCommand(MotorPwm_MASK, MotorPwm_CMD_START);
MotorPwm_WriteCompare(0);
MotorPwm_WritePeriod(1000);
MotorPwm_Out_SetDriveMode(0x6);
MotorPwm_Start();