找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1051|回复: 4
收起左侧

两种操作,有什么不同吗

[复制链接]
ID:886945 发表于 2022-2-7 20:11 | 显示全部楼层 |阅读模式
就拿一个点灯来说,这两种变成方法优劣如何。第一种:需要灯亮时直接调用IO口驱动灯点亮或者关灯操作。
第二种:在适当时间的定时器中检测某一个变量的值,当检测到有值时亮灯,检测到无值时关灯。

现在也算是入行半年了?最早经常用第一种方式进行编程,后来逐渐改为用第二种方式,给我感觉就是第二种整体逻辑的耦合度下降,逻辑梳理更加容易.


还有想到的一点就是,我把点灯的对底层硬件的操作封装成一个应用层的操作,程序用需要点灯的地方都只用自己封装的函数,哪怕函数里只是一行的IO驱动函数也这样封装。这样做的作用是分层操作?这样做除了方便移植还能有有什么优势吗,有时候改别人的程序,我都贪省力直接调驱动...

各位大佬还有其他编程的思路补充的吗....
回复

使用道具 举报

ID:908826 发表于 2022-2-8 08:39 | 显示全部楼层
第二种就是典型的轮询,看你的描述并没有对任务进行优先级处理,想进一步深入的可以学学freertos操作系统。
回复

使用道具 举报

ID:752974 发表于 2022-2-8 08:43 | 显示全部楼层
从简易成度看,直接IO口操作最简单,从程序规范上看,封装一个函数较好。至于什么时候开关灯,看用途。
回复

使用道具 举报

ID:584814 发表于 2022-2-8 09:09 | 显示全部楼层
实质是:第一种自己动手,第二种命令小弟。
区别是:前者疑似个体户,后者貌似有团队。
所以需求就是你懂的
回复

使用道具 举报

ID:174087 发表于 2022-2-8 15:02 | 显示全部楼层
就像前面的兄弟们说的,如果你是个人代码,偶尔做一个两个代码,那其实都无所谓的,怎么写看自己心情就好;如果你是沿用了别人的代码,比如公司里面其他同事的代码,那么为了可阅读性和可移植性,肯定是按照规范一层层封装起来会更好。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表