找回密码
 立即注册
楼主: 凄***

用STC8G1K08 16pin的单片机PCA输出PWM问题在线等

[复制链接]

该用户从未签到

550

主题

9221

回帖

1万

积分

管理员

积分
13912
发表于 2023-3-11 10:20:55 | 显示全部楼层
速度够的情况下,STC8系列,强烈建议将变量强制指定到 xdata

该用户从未签到

2

主题

28

回帖

80

积分

注册会员

积分
80
 楼主| 发表于 2023-3-13 08:53:16 | 显示全部楼层
Program Size: data=90.3 xdata=291 code=5222      我改了一部分到外部,现在还是出之前的错误!!!

该用户从未签到

2

主题

28

回帖

80

积分

注册会员

积分
80
 楼主| 发表于 2023-3-13 08:56:16 | 显示全部楼层
C:\Users\Administrator\Desktop\0720cec0bf70c80d700fa6c2950cfa1

该用户从未签到

2

主题

28

回帖

80

积分

注册会员

积分
80
 楼主| 发表于 2023-3-13 08:58:48 | 显示全部楼层
梁工 发表于 2023-3-10 17:39
MCU的外设都是相互独立的,跟代码大小无关,只要中断忙得过来,内存没有溢出,堆栈没有溢出。 ...

难道是AD影响的吗?

点评

MCU的外设都是相互独立的.  详情 回复 发表于 2023-3-13 09:50

该用户从未签到

2

主题

28

回帖

80

积分

注册会员

积分
80
 楼主| 发表于 2023-3-13 09:01:50 | 显示全部楼层
用示波器看太明显了,每隔一段时间出现一个6ms左右的高电平

该用户从未签到

2

主题

28

回帖

80

积分

注册会员

积分
80
 楼主| 发表于 2023-3-13 09:02:41 | 显示全部楼层
神农鼎 发表于 2023-3-11 10:20
速度够的情况下,STC8系列,强烈建议将变量强制指定到 xdata

指定过去了,PWM输出还是不正常

该用户从未签到

2

主题

28

回帖

80

积分

注册会员

积分
80
 楼主| 发表于 2023-3-13 09:21:37 | 显示全部楼层
void        PCA_config(void)
{
        PCA_InitTypeDef                PCA_InitStructure;

        PCA_InitStructure.PCA_Clock    = PCA_Clock_1T;                //PCA_Clock_1T, PCA_Clock_2T, PCA_Clock_4T, PCA_Clock_6T, PCA_Clock_8T, PCA_Clock_12T, PCA_Clock_Timer0_OF, PCA_Clock_ECI
        PCA_InitStructure.PCA_IoUse    = PCA_P12_P11_P10_P37;        //PCA_P12_P11_P10_P37, PCA_P34_P35_P36_P37, PCA_P24_P25_P26_P27
        PCA_InitStructure.PCA_Interrupt_Mode = DISABLE;                //ENABLE, DISABLE
        PCA_InitStructure.PCA_Priority = Priority_3;                        //Ö¸¶¨ÖжÏÓÅÏȼ¶(µÍµ½¸ß) Priority_0,Priority_1,Priority_2,Priority_3
        PCA_InitStructure.PCA_RUN      = DISABLE;                                //ENABLE, DISABLE
        PCA_Init(PCA_Counter,&PCA_InitStructure);                        //ÉèÖù«ÓÃCounter



        PCA_InitStructure.PCA_Mode     = PCA_Mode_HighPulseOutput;                //PCA_Mode_PWM, PCA_Mode_Capture, PCA_Mode_SoftTimer, PCA_Mode_HighPulseOutput
        PCA_InitStructure.PCA_PWM_Wide = 0;                                        //PCA_PWM_8bit, PCA_PWM_7bit, PCA_PWM_6bit, PCA_PWM_10bit
        PCA_InitStructure.PCA_Interrupt_Mode = ENABLE;                //PCA_Rise_Active, PCA_Fall_Active, ENABLE, DISABLE
        PCA_InitStructure.PCA_Value    = 65535;                        //¶ÔÓÚÈí¼þ¶¨Ê±, ΪƥÅä±È½ÏÖµ
        PCA_Init(PCA2,&PCA_InitStructure);
}这是PCA初始化部分   看看程序哪里存在问题啊

该用户从未签到

550

主题

9221

回帖

1万

积分

管理员

积分
13912
发表于 2023-3-13 09:23:50 | 显示全部楼层
你程序简单时,外设 PCA/PWM 正常,程序复杂你就调不通了,正常,研发的价值就是不停的找到自己的错
请使用 STC-USB Link1D 来仿真 STC8G1K08-36I-SOP16, 来帮你快速查错
STC-USB Link1D是专业仿真器、在线全自动烧录器、脱机自动烧录器
1.png
【新提醒】用STC-USB Link1D仿真STC8系列MCU - 编译器/仿真器/ISP下载/做自己的ISP/ID号加密/程序加密后传输 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)

该用户从未签到

2

主题

28

回帖

80

积分

注册会员

积分
80
 楼主| 发表于 2023-3-13 09:31:03 | 显示全部楼层
神农鼎 发表于 2023-3-13 09:23
你程序简单时,外设 PCA/PWM 正常,程序复杂你就调不通了,正常,研发的价值就是不停的找的自己的错
请使用 ...

把AD采集屏蔽了,就没问题了,是不是AD采集有中断,影响PWM输出呢,怎么处理呢?

该用户从未签到

550

主题

9221

回帖

1万

积分

管理员

积分
13912
发表于 2023-3-13 09:32:05 | 显示全部楼层
用仿真,不要靠猜
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2024-4-26 23:15 , Processed in 0.069867 second(s), 69 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表