dongfang 发表于 2025-11-29 13:51:47

大家帮我看看这个逻辑有什么问题,为什么不能实现

在一个while循环里,检测一个端口电平变化,有变化蜂鸣器响一声,
现在是端口出现低电平,蜂鸣器响一声,
出现高电平后等很长15秒左右蜂鸣器响一声,大家帮我分析分析问题出在哪里

sbitSLEEP =P0^1;
bit S_flag=1;
while
{

                        if(!SLEEP)
                              {
                                        if(S_flag)
                                                {
                                                      B_PID_enable=0;
                                                      S_flag=0;
                                                      BEEP=1;                                                
                                                      BPj=0;
                                                }
                              
                              }
                        else
                        {
                              if(!S_flag)
                              {
                                        B_PID_enable=1;
                                        S_flag=0;
                                        BEEP=1;                                                
                                        BPj=0;                              
                              }
                        
                        }


                     if(BPj>100)
                              {
                                        BEEP=0;      
                              }



}

dongfang 发表于 2025-11-29 17:20:55

问题找到了,端口设置成高阻状态的问题,高祖不是可以当成输入口的吗,奇怪奇怪,大家注意了,

神农鼎 发表于 2025-11-29 19:44:25

高阻输入,打开内部上拉,或外部有上拉

dongfang 发表于 2025-11-30 08:05:51

神农鼎 发表于 2025-11-29 19:44
高阻输入,打开内部上拉,或外部有上拉
我外部有上拉,高阻检测外部高低电平,应该没有问题吧,
你把它拉低立即响应,但拉高就等待十几秒才能响应,测量电平就是高电平,
昨天我弄了一天找不到原因,最后改成准双向口,他就行了,

jwd 发表于 2025-11-30 08:47:47

配置成高阻好像是有些问题

jwd 发表于 2025-11-30 08:48:40

你可以试试把端口先写1再读试试

神农鼎 发表于 2025-11-30 09:25:11

他可能配置成 强推挽了
用 下面的工具自动生成程序

dongfang 发表于 2025-12-2 14:32:57

jwd 发表于 2025-11-30 08:48
你可以试试把端口先写1再读试试

试过了,没用

网老四 发表于 2025-12-2 17:41:04

管脚配置高阻检测外部电平状态完全没有问题,
把电路原理图发上来,一眼就看出问题出在哪里了,
大概率是有外部上拉很大阻值电阻,还并了电容下地.
如果上拉电阻不大,电容也不大,就要考虑元件损坏或者焊接问题了.

dongfang 发表于 2025-12-3 09:42:45

网老四 发表于 2025-12-2 17:41
管脚配置高阻检测外部电平状态完全没有问题,
把电路原理图发上来,一眼就看出问题出在哪里了,
大概率是有外 ...
你这么一说,我看了看电路图,应该就是并联电容的问题,这个隔离二极管是“罪魁祸首”,任何时候认真看电路图都是必要的,我借鉴网上9号焊台电烙,单片机改成STC32G12K128,基本功能都实现了,在加入休眠时,出现上述问题,电路图如下:
页: [1]
查看完整版本: 大家帮我看看这个逻辑有什么问题,为什么不能实现