設定 PWM 初始的輸出狀態

公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
chyi_4662656
Level 2
Level 2
5 replies posted First question asked First reply posted

各位好,請問如何設定PWM初始的輸出狀態?

使用的IC是CY8C4125

目前電路上已經有Pull High的電阻,但是MCUPower On的時候,PWM的腳位仍然會將電位拉至Low(波形如下)

因為我的硬體是Low動作的,所以不希望MCU Power On的時候出現Low的訊號。

我希望的動作是像GPIO的訊號一樣,設定完Initial drive state後,Power On後電位保持在高電位。

C1:PWM 訊號

C2:GPIO 訊號

C3:XRES 訊號

0 点赞
1 解答
chyi_4662656
Level 2
Level 2
5 replies posted First question asked First reply posted

大家好,分享我解決的方式。

Step1.

1.png

Step2.

2.png

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();

在原帖中查看解决方案

0 点赞
4 回复数
LinglingG_46
Moderator
Moderator
Moderator
500 solutions authored 1000 replies posted 10 questions asked

这个问题需要综合你的需求才能回复:

1:如果改成反向输出,开始为高,这种情况是否可以满足你的需求?

pastedImage_1.png

2:还有一种方法是你可以通过修改HSIOM寄存器,把这个管脚从PWM上面断开,然后改到GPIO,这个方法可以解决在PWM stop之后,客户想手动控制这个管脚的高低电平。这种方法可以参考: Control GPIO Output After Stopping the PWM - KBA218991

3:Hope it can be helpful for you!

Thank you !

依照您的方法,Power On後仍然會有約 100us 是Low的狀態。

但是參考你提供的方法,再做一些設定即可達到我要的結果。

0 点赞
chyi_4662656
Level 2
Level 2
5 replies posted First question asked First reply posted

LeCroy--00000.jpg

0 点赞
chyi_4662656
Level 2
Level 2
5 replies posted First question asked First reply posted

大家好,分享我解決的方式。

Step1.

1.png

Step2.

2.png

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();

0 点赞