- 打卡等级:初来乍到
- 打卡总天数:1
- 最近打卡:2024-07-04 13:37:37
新手上路
- 积分
- 21
|
发表于 2024-7-6 09:22:44
|
显示全部楼层
本帖最后由 chenczy 于 2024-7-6 09:25 编辑
我下了你的程序,自己也编了,下到芯片是可以的,但是我把你的代码移到我的项目里,下到芯片就不行,搞不懂。
这是你的程序
/******************** 主函数 **************************/
void main(void)
{
PCA_config(4, 3); //clk=4: 选择时钟1T, 3: 10位PWM
P3n_push_pull(Pin7+Pin5); // P3.7 P3.5设置为推挽输出
P2n_push_pull(Pin4+Pin0); // P2.4 P2.0设置为推挽输出
pwm = 128;
B_PWM_Dir = 0;
UpdatePwm(PCA0,768); //输出占空比3/4的PWM, 时间为2ms.
while (1)
{
;//delay_ms(2);
/*
if(B_PWM_Dir)
{
if(--pwm <= 8) B_PWM_Dir = 0;
}
else
{
if(++pwm >= 1016) B_PWM_Dir = 1;
}
UpdatePwm(PCA0, pwm); //更新PWM.
UpdatePwm(PCA1, pwm); //更新PWM.
UpdatePwm(PCA2, pwm); //更新PWM.
if(++cnt >= 4) //8ms一个周期, 演示如何关闭 开启PWM.
{
cnt = 0;
UpdatePwm(PCA3, 256); //输出占空比1/4的PWM, 时间为2ms.
}
else if(cnt == 1) PwmOutContinue(PCA3, 0); //连续输出低电平0, 时间为2ms.
else if(cnt == 2) UpdatePwm(PCA3,768); //输出占空比3/4的PWM, 时间为2ms.
else if(cnt == 3) PwmOutContinue(PCA3, 1); //连续输出高电平1, 时间为2ms.
*/
}
}
这是我的程序
void main(void)
{
uchar key1up=0,key2up=0,gear1=0,gear2=0;
PCA_config(4, 3);
P3n_push_pull(Pin7+Pin5); // P3.7 P3.5设置为推挽输出
P34=0;
//UpdatePwm(0,768); //输出占空比3/4的PWM.
PCA_PWM0 = (PCA_PWM0 & ~0x32) | (u8)((768 >> 4) & 0x30);
CCAP0H = 768;
while(1)
{
delay(2000);
P34 = ~P34;
}
|
|