关于精简程序

程序的优化要从变量开始,弄清每个变量的作用,果断删除没有用的代码和变量

统一一些意义相同的变量,免得各个函数的关系太散,,还是要分块管理,,如果分块管理,那么有些意义相同的局部变量也不许要动

1,捋清楚事件的过程,分块要合理谨慎,(要先合并一些多余的函数,)

2,变量很重要,变量要有意义(删除一些没有意义的变量,,哪些变量要全局,,哪些变量要局部,,变量名字要有意义)

3,要用DMA前期的准备是长的,中断可以分块去做,,,,,DMA是攒到一定程度一起做(如录音程序)

读程序要从主函数去看,哪个变量用到了再去查意思

写需求文档是很重要的,它能让你理清程序流程,,,最好在写程序之前,先写一遍伪代码

不要着急,欲速则不达

:我们先写一个按键的伪代码::

特别注意程序中的中断,,有时候很难仿真,,问题往往也是出自这里

比如,,,你想让灯闪起来,,,但是中断里藏有个让灯常量的语句(不容易看见),,然后就杯具了,灯始终闪不起来!!!!

,一旦中断多了你就不知道哪个中断服务函数中藏着什么

我们下面写一个伪代码:

长按三段,,,也就是每次长按会切换一种功能,,,一共可以切换三种功能,,,,

:::

从头进入 a=0  :清除累积的加加

长按: a>=100

         while(如果不松手)

          {

          灯都闪,,,即切换过了

         不可以除颤 >>不可以除颤

          }

再次

长按 如果a>=100

        while(如果不松手)

       {

       灯都亮,,进入语音

       M==3   ,,跳出后执行M=3的音量调节

       }

出来之后,可除颤的是不闪的,,,不可除颤的是闪的即

闪:   不可除颤

不闪:除颤

一个变量何时清零,用完之后清零,,,或用之前把它清零,,,,两个思路二选一即可,不要都加上

同理,  一块程序发送处理信号,,另一个负责接收信号,,不要及发送有接收。。。比如一个是负责播放声音的,播放完成之后它就发送一个完成播放的信号,然后负责添加音频数据的函数,接收到这个信号后,根据信号的种类来决定,添加什么音频进去继续下段播放。。

原文地址:https://www.cnblogs.com/chulin/p/8905964.html