神农鼎 发表于 2023-3-11 10:20:55

速度够的情况下,STC8系列,强烈建议将变量强制指定到 xdata

凄雨辰 发表于 2023-3-13 08:53:16

Program Size: data=90.3 xdata=291 code=5222      我改了一部分到外部,现在还是出之前的错误!!!

凄雨辰 发表于 2023-3-13 08:56:16

C:\Users\Administrator\Desktop\0720cec0bf70c80d700fa6c2950cfa1

凄雨辰 发表于 2023-3-13 08:58:48

梁工 发表于 2023-3-10 17:39
MCU的外设都是相互独立的,跟代码大小无关,只要中断忙得过来,内存没有溢出,堆栈没有溢出。 ...

难道是AD影响的吗?

凄雨辰 发表于 2023-3-13 09:01:50

用示波器看太明显了,每隔一段时间出现一个6ms左右的高电平

凄雨辰 发表于 2023-3-13 09:02:41

神农鼎 发表于 2023-3-11 10:20
速度够的情况下,STC8系列,强烈建议将变量强制指定到 xdata

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

凄雨辰 发表于 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初始化部分   看看程序哪里存在问题啊

神农鼎 发表于 2023-3-13 09:23:50

你程序简单时,外设 PCA/PWM 正常,程序复杂你就调不通了,正常,研发的价值就是不停的找到自己的错
请使用 STC-USB Link1D 来仿真 STC8G1K08-36I-SOP16, 来帮你快速查错
STC-USB Link1D是专业仿真器、在线全自动烧录器、脱机自动烧录器

【新提醒】用STC-USB Link1D仿真STC8系列MCU - 编译器/仿真器/ISP下载/做自己的ISP/ID号加密/程序加密后传输 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)

凄雨辰 发表于 2023-3-13 09:31:03

神农鼎 发表于 2023-3-13 09:23
你程序简单时,外设 PCA/PWM 正常,程序复杂你就调不通了,正常,研发的价值就是不停的找的自己的错
请使用 ...

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

神农鼎 发表于 2023-3-13 09:32:05

用仿真,不要靠猜
页: 1 [2] 3 4
查看完整版本: 用STC8G1K08 16pin的单片机PCA输出PWM问题在线等