单片机系统不稳定情况

2019-04-15 12:36发布

1、概述

        本篇记录以后在单片机系统中遇到的不稳定情况

2、单片机系统启动不稳定情况分析

        经常碰到做的单片机系统不稳定的情况,分析是在上电的时候 CPU稳定与外设的稳定时间不一致,所以单片机系统程序需要在整个系统都稳定的情况下再运行程序比较保险,某些外设芯片需要通过示波器观测稳定时间,或者阅读手册来判断。

3、刷卡板与主板距离问题

        最近做一个门锁项目,主板与按键板是通过排针连接在一起,在测试的时候发现,按键有些时候不是很灵敏,最后发现是按键板与主板之间的距离太短,硬件工程师说,这个距离最好有2cm


4、RF通信会影响按键

最近在做433M的通信,天线采用板载天线,其中板子上面有电容按键板,按键板在天线上方,当RF发送数据的时候会触发按键,所以后面还是采用外接天线来测试

5、线的问题

        当需要多个板之间连接时,易受干扰的线最好不要作为连接点。比如触摸按键芯片,当按键板与主板分开时,按键芯片应该放在按键板然后拉出IIC接到主板,而不是将按键芯片放在主板,将触摸点作为连接点放到按键板,这样比较容易受影响

6、蜂鸣器问题

        有些时候在做蜂鸣器驱动的时候,会发现蜂鸣器发热严重。一般驱动蜂鸣器都是用三极管,采用PWM来控制,如果蜂鸣器停止响的时候没有恢复到初始状态,三极管会一直导通,这个时候虽然没有(无缘蜂鸣器),但是电流还是会很大,导致发热。

7、数组越界问题

       数组越界问题可以说是很头疼的,当你往一个地址里面拷贝数据,及有可能超出那个数据的范围,所以这个问题要在每一次拷贝的时候就小心,拷贝的时候需要将数据的大小也带入,函数模型如下      T_S32 Copy(T_S8 *pReadBuf, T_U32 ReadBufLen)
        {
            ASSERT_EQUAL_RETVAL(pReadBuf, T_NULL, RET_FAILED);
            ASSERT_GT_RETVAL(N, ReadBufLen, RET_FAILED);


        }

8、芯片选型还需要注意的问题

        今天调试一款国产的刷卡芯片,这款芯片倒是没有问题,只是这个官方发、给的驱动代码太乱了,选型的时候没有考虑好,因为有些芯片的驱动不可能都自己写,所以在下次选型的时候硬件的驱动代码也需要考量

9、按键芯片触摸脚走线问题

        触摸按键是很容易受影响的,当按键芯片的那些脚走线比较靠着的时候,可能按这个键,另外一个键也会有影响,所以这些线之间距离稍隔开点。