简洁性

本文探讨了简洁性在设计中的重要性,通过一个具体的GPIO模块案例,说明将功能拆分为独立模块可以避免复杂性和异步时钟引入的问题,提高设计的可读性和可维护性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是简洁性?

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

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

设计的维护。

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

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

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

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

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

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

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

设计的问题.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值