[技术支持] 初次用芯圣89F3531,有几个问题想请教一下,谢谢!

[复制链接]
3563|18
 楼主| scistar 发表于 2023-8-14 22:55 | 显示全部楼层 |阅读模式
1.端口消抖控制寄存器 P00DBC、P01DBC、P02DBC 分别是什么区别,如果P2^4接按键,想设置P2^4为上拉,是不是: P2M4 =0x60; P00DBC =FF;  ?
2.设置端口消抖后,程序还需要写消抖的代码吗?
3. 按一下按鍵,做呼吸灯红绿切换时,切换不了,不知哪里出问题
  主程序:
   while(1)
        {         
         if (LEDG_Flag)
        {
            LEDG_PWM(temp);
        }
        else
        {
            LEDR_PWM(temp);
        }                       
     }

按键扫描:
   void Key_check()
{
        if(KEY1 ==0)
        {
                keydown++;
                if(keydown >10)
                {
                        keydown =15;
                }
                keyup =0;
        }
        else
        {
                if(keydown >10)
                {
                        keydown =0;
                        keyup++;
                        if(keyup >8)
                        {
                                keyup =0;
                                keydown =0;                       
                                if(!LEDG_Flag)
                                {
                                        LEDG_Flag =1;
                                }
                                else
                                {
                                        LEDG_Flag =0;
                                }
                  }
                }
                else
                {
                        keydown =0;
                }     
    }
}
zhenykun 发表于 2023-8-15 20:42 | 显示全部楼层
需要写消抖

评论

题主您好,我是上海芯圣一级代理商 有关芯圣芯片的技术问题都可以跟我这边咨询 如有需要请联系  发表于 2024-3-21 15:44
欢乐家园 发表于 2024-2-24 13:29 | 显示全部楼层
端口的消抖通常是通过硬件或者专用的模块来实现的,而不是通过软件,如果你使用了芯片内置的端口消抖功能,并在相应的寄存器中进行了设置,通常就不需要在软件中编写专门的端口消抖代码
两只袜子 发表于 2024-2-25 16:39 | 显示全部楼层
P00DBC、P01DBC、P02DBC 分别对应于不同的端口组(例如P0、P1、P2等)。您需要查阅具体的芯圣89F3531数据手册来确定每个寄存器的确切功能和对应端口。
jcky001 发表于 2024-2-25 18:00 | 显示全部楼层
  • 如果MCU的硬件已经提供了消抖功能,并且您已经正确配置了相关的消抖寄存器,那么在大多数情况下,您不需要在软件中再实现消抖算法。

cr315 发表于 2024-2-25 22:00 | 显示全部楼层
如果您发现按键输入仍然有抖动问题,您可能需要在软件中添加额外的消抖逻辑。
duo点 发表于 2024-2-26 06:00 | 显示全部楼层
请确保LED和按键的硬件连接是正确的,并且它们的工作电压和电流都在允许的范围内。
liu96jp 发表于 2024-2-26 18:43 | 显示全部楼层
去抖处理一般不都是delay么?还有专门的寄存器啊?
g0d5xs 发表于 2024-2-26 20:11 | 显示全部楼层
其实可以在硬件部分加个电容的,就好很多了
su1yirg 发表于 2024-2-26 21:15 | 显示全部楼层
一般设计端口去抖之后,感觉程序就没必要了吧
suw12q 发表于 2024-2-26 22:23 | 显示全部楼层
其实程序做消抖处理也行的,毕竟也不费劲,而且越稳定越好的啊
q1ngt12 发表于 2024-2-26 23:33 | 显示全部楼层
这种芯片是不是不能仿真?要是能仿真的话,其实仿真一下也挺好
cen9ce 发表于 2024-2-27 08:50 | 显示全部楼层
你得先保证程序是否正常运行,可以用LED指示灯显示一下,保证程序没跑飞才行哦
lamanius 发表于 2024-2-27 09:56 | 显示全部楼层
去抖控制寄存器这个功能是啥?建议看看手册,看如何使用,不过不如delay来的方便
l1uyn9b 发表于 2024-2-27 11:04 | 显示全部楼层
确实,我也是第一次听说有去抖控制寄存器
tax2r6c 发表于 2024-2-27 12:47 | 显示全部楼层
你直接还是用delay吧,这种比较稳妥
zhizia4f 发表于 2024-2-27 13:10 | 显示全部楼层
这寄存器的具体数字,建议还是看寄存器手册,上面应该有的
Jacquetry 发表于 2024-3-28 10:32 来自手机 | 显示全部楼层
加定时器消抖可以
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

2

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部