简洁性

    技术2026-08-28  4

    什么是简洁性?

    我认为简洁性就是1个模块只做1件事情。把很多功能都放到1个模块中,只会带来麻烦。

    不仅仅是设计时,各种功能之间相互的缠绕把设计人员绕进去,也不利于代码的阅读,影响

    设计的维护。

    笔者以前遇到过1个设计,就是1个GPIO模块。该模块特殊在,芯片有睡眠模式,在睡眠模

    式下,时钟要关掉。但GPIO要提供睡眠唤醒功能。

    为了让GPIO在睡眠模式下也能产生唤醒请求,只好引入1个低频时钟,在睡眠模式下,唤醒电路

    在低频时钟下工作,并产生唤醒请求.

    这种设计方案带来的后果就是,人为地引入了异步时钟,而且把时钟电路的设计复杂化了.

    按照简洁性的原则,就应该分成2个模块,1个模块就是纯粹的GPIO模块,另一个模块是唤醒模

    块,唤醒模块的监测信号是GPIO的输入.2个模块各自有各自的时钟,不相互干扰.也没有异步

    设计的问题.

    最新回复(0)