梁工 发表于 2023-12-8 14:42:14

示波器测量P3.5的波形并贴出看看。

caven 发表于 2023-12-8 16:35:02

乘风飞扬 发表于 2023-12-8 09:18
把外围电路断开,烧录附件里面的hex文件到板子上,用示波器测量P35脚电平。
另外尽量不要发外部链接,否 ...

烧录了你提供的压缩包中hex文件,通过万用表测量p3.5 也是跳的,我没有示波器。

caven 发表于 2023-12-8 16:36:03

rengran 发表于 2023-12-8 10:08
是不是有共用该端口的?

没有共用端口,是一个很简单的开发板,见上图,只是把pin脚引出来。

rengran 发表于 2023-12-8 16:39:41

caven 发表于 2023-12-8 16:36
没有共用端口,是一个很简单的开发板,见上图,只是把pin脚引出来。

难不成是芯片的事?商家用的是STC的正规芯片么。有的芯片也有造假

caven 发表于 2023-12-8 16:43:10

乘风飞扬 发表于 2023-12-8 09:18
把外围电路断开,烧录附件里面的hex文件到板子上,用示波器测量P35脚电平。
另外尽量不要发外部链接,否 ...

我看io.c 的代码是设置方波输出,我现在没有示波器,看不到。

caven 发表于 2023-12-8 17:30:46

乘风飞扬 发表于 2023-12-8 09:18
把外围电路断开,烧录附件里面的hex文件到板子上,用示波器测量P35脚电平。
另外尽量不要发外部链接,否 ...

我把io.c 的代码修改为设置 p3.5 为高电平,用万用表测量,电平没有跳动。我原来的测试代码是调用开发板携带的例子 GPIO.c 的函数的,测试p3.4,p3.6 都没有问题,只是p3.5有问题。

神农鼎 发表于 2023-12-8 17:41:54

用仿真功能来调试

【新提醒】仿真STC8系列MCU,用【一箭双雕之USB转双串口/全自动烧录器】 - 仿真/ISP下载/做自己的ISP/编译器/头文件 - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)

caven 发表于 2023-12-8 17:52:30

我的代码中有对time0的配置,如果注释掉对time0的配置代码,p3.5 就不跳了,在time0的中断处理函数中没有任何操作代码 。按道理这个time0与 p3.5应该没有任何关系啊。
void        Timer_config(void)
{
        TIM_InitTypeDef                TIM_InitStructure;                                                //
        TIM_InitStructure.TIM_Mode      = TIM_16BitAutoReload;        //TIM_16BitAutoReload,TIM_16Bit,TIM_8BitAutoReload,TIM_16BitAutoReloadNoMask
        TIM_InitStructure.TIM_Polity    = Polity_0;                        // Polity_0,Polity_1,Polity_2,Polity_3
        TIM_InitStructure.TIM_Interrupt = ENABLE;                                        //   ENABLEDISABLE.
        TIM_InitStructure.TIM_ClkSource = TIM_CLOCK_12T;        //    TIM_CLOCK_1T,TIM_CLOCK_12T,TIM_CLOCK_Ext
        TIM_InitStructure.TIM_ClkOut    = ENABLE;                                        // ENABLE DISABLE
        TIM_InitStructure.TIM_Value   = 65536UL - (MAIN_Fosc / (50*12));               
        TIM_InitStructure.TIM_Run       = ENABLE;                                        // ENABLE DISABLE
        Timer_Inilize(Timer0,&TIM_InitStructure);                                        //Timer0          Timer0,Timer1,Timer2,Timer3,Timer4
}
void timer0_int (void) interrupt TIMER0_VECTOR
{
   //P67 = ~P67;
        //gucTime0 = 1;
}

caven 发表于 2023-12-9 10:27:40

#ifdef time0_enable
void        Timer_config(void)
{
        TIM_InitTypeDef                TIM_InitStructure;                                                //
        TIM_InitStructure.TIM_Mode      = TIM_16BitAutoReload;        //TIM_16BitAutoReload,TIM_16Bit,TIM_8BitAutoReload,TIM_16BitAutoReloadNoMask
        TIM_InitStructure.TIM_Polity    = Polity_0;                        // Polity_0,Polity_1,Polity_2,Polity_3
        TIM_InitStructure.TIM_Interrupt = ENABLE;                                        //   ENABLEDISABLE.
        TIM_InitStructure.TIM_ClkSource = TIM_CLOCK_12T;        //    TIM_CLOCK_1T,TIM_CLOCK_12T,TIM_CLOCK_Ext
        TIM_InitStructure.TIM_ClkOut    = ENABLE;                                        // ENABLE DISABLE
        TIM_InitStructure.TIM_Value   = 65536UL - (MAIN_Fosc / (50*12));               
        TIM_InitStructure.TIM_Run       = ENABLE;                                        // ENABLE DISABLE
        Timer_Inilize(Timer0,&TIM_InitStructure);                                        //Timer0          Timer0,Timer1,Timer2,Timer3,Timer4
}
#endif

void main()
{
    P_SW2 |= 0x80; //扩展寄存器访问使能
    P0M1 = 0x00;   P0M0 = 0x00;   //设置为推挽输出
    P1M1 = 0x00;   P1M0 = 0x04;   //设置为准双向口,P12推挽输出
    P2M1 = 0x00;   P2M0 = 0x00;   //设置为准双向口
    P3M1 = 0x00;   P3M0 = 0x20;   //设置为准双向口,P35推挽输出
    P4M1 = 0x00;   P4M0 = 0x00;   //设置为准双向口
    P5M1 = 0x00;   P5M0 = 0x00;   //设置为准双向口
    P6M1 = 0x00;   P6M0 = 0x00;   //设置为准双向口
    P7M1 = 0x00;   P7M0 = 0x00;   //设置为准双向口
#ifdef time0_enable
          Timer_config();//注释掉这一行 P3.5 就不跳了,稳定在vcc的电压。
          EA = 1;
        #endif
           P35 = 1;
    while (1)
    {
                        delay();
    }
}

caven 发表于 2023-12-9 11:03:24

datasheet 上说 time0 从P3.5 输出时钟信号,代码中    TIM_InitStructure.TIM_ClkOut    = ENABLE;{:sweat:}
页: 1 [2]
查看完整版本: STC8G1K08T-20pin p3.5 电压在1v~3v之间跳动