wszjw2 发表于 2024-8-7 17:10:01

新手求助:为何已经配置了IO口模式,但是无法按照预想的输出高电平


void main(void)
{
        P3M0=0x00;
        P3M1=0x00;
        P1M0=0x00;
        P1M1=0x00;
       
        P10=1;
        while(1)
        {       
                P34=1;P35=0;
                TX1_RGB(255,255,0);
        }
}
我用的是STC8G1K08-16pin的单片机

在这段代码里只有配置的四行代码起作用,比如:P3M0=0x00;P3M1=0x00;时P3口为双向io口,但是除p30和p31之外均为低电平,哪怕在while里命令其他管脚输出高电平也不行
但是如果配置:P3M0=0xff;P3M1=0x00;即p3口未推挽输出,p3就全都是高电平了;
不知道哪里出了问题,希望有大神解答

wszjw2 发表于 2024-8-8 08:39:52

找到原因了,是烧录的程序太大,部分移到了eeprom区导致异常,
是否有什么办法可以在不修改代码量的情况使程序运行正常呢

AI-32位8051 发表于 2024-8-7 17:17:45

STC8H / STC32G 不用的I/O口如何设置:【高阻输入】+【关闭数字输入】 - I/O读写及点灯,外部中断 ,所有I/O都支持的普通I/O中断,按键扫描 国芯技术交流网站 - STC全球32位8051爱好者互助交流社区https://www.stcaimcu.com/forum.php?mod=viewthread&tid=2368

   

Lkck8210 发表于 2024-8-7 17:35:53

代码没啥问题,电路图呢?

DebugLab 发表于 2024-8-7 18:45:18

准双向上拉较弱,检查是否被外部电路拉低

soma 发表于 2024-8-7 21:07:44

如果设置成上拉模式,应该会高电平吧,准双向上拉能力好像有限。

wszjw2 发表于 2024-8-7 23:27:31

Lkck8210 发表于 2024-8-7 17:35
代码没啥问题,电路图呢?

驱动的是直流电机驱动芯片,而且不止这两个接了驱动芯片的管脚输出不了,其他的空闲管脚也输出不了高电平

wszjw2 发表于 2024-8-7 23:28:25

DebugLab 发表于 2024-8-7 18:45
准双向上拉较弱,检查是否被外部电路拉低

驱动的是直流电机驱动芯片,而且不止这两个接了驱动芯片的管脚输出不了,其他的空闲管脚也输出不了高电平

wszjw2 发表于 2024-8-8 08:05:57

wnagming 发表于 2024-8-8 05:30
电机芯片型号,还有你单片机用的几伏电?

电机芯片用的是rz7899。单片机是用ldo提供的3.3v电,电机芯片是外部提供的5v电

wszjw2 发表于 2024-8-8 08:13:00

这是目前的电路图

wszjw2 发表于 2024-8-8 08:17:45

wnagming 发表于 2024-8-7 21:34
说白了就是带不动,一个小孩把石头推上山,肯定费劲,有可能还推不上去;换个壮汉就解决了,所以一般确定的 ...

如果是带不动的话,需要换成哪一款的芯片可以带动啊,只有幻彩灯,电机和无线接收
页: [1] 2
查看完整版本: 新手求助:为何已经配置了IO口模式,但是无法按照预想的输出高电平