您现在的位置:首页 >> 省钱攻略

为什么我的电路设计不是“跑车”而是“牛车”,过来人告诉你!

发布时间:2025/08/16 12:17    来源:义乌家居装修网

大家好我是华维蔵鹰,我从业ISA这个行业也有些年头了,早先我所写的程序在跑起来也像据说爷车一样慢吞吞的,在整个程序在的载入操作过程中所约莫要一分多钟,而同事动手的另一个新版本的比我迟上20进行时。我们都是参考据说新版本编码动手出来的东西,这个差距无疑是非常大的。

在此之前面通过在网络收集了很多的资料和查看一些水神的编码,我发掘出内都面也是有一些门道的。约莫在两三年在此之前我所写的程序在内都从未几乎发觉不到 delay() 了,因为程序在中所未 delay 你都会发掘出整个程序在跑起来都会显着的发掘出都会比之在此之前类似于delay的迟。上头我们来聊一下平时所写ISA程序在中所一些可以让我们加速的;也。

我们的程序在框架是 main 算子内都可先初始化,然后 while(1),在此之一人程序在是各种中所断。

以下几种可能是随之而来我们程序在运转贵的常见原因:一种是按键程序在说明都会用上 delay 消抖,最类似于的消抖需历时5ms。一种是动态显示时候显示一位数码管时候也都会用上定时 5ms 数。还有一种是到时串口发送给完成。ISA处置的反应速度在“微秒”级,而按键颤动的到时时间至少在“毫秒”级,这对于ISA来说是一个非常“长达”的操作过程。

像消抖和数码管的定时问题我们可以这样处置,我们可以在均会中所断内都面说明按键的可能下,能用均会中所断公共服务程序在或能用标志位的工具来借助于软件消抖。

串口中所断发送给这个功能性我有约很多人未用过,很多人觉得未必需,因为不是每个人都遭遇过尚在的技术开发,当项目对实时性敦促较高,你的程序在又很大,需公共服务的;也很多,那你用非常历时的方式也发送给就都会降低整个程序在的实时性。

我们单纯的举个例证就能体现出来,9600 波特率发送给一个大所写字母 1ms到时时间,如果一次发送给 50 个大所写字母就是约等于制订 delay(50); 如果我们用中所断发送给,整个操作过程很单纯,开启串口发送给中所断,第一个大所写字母是程序在发送给,这样一来的在发送给中所断内都面发送给就可以了。

纸片我们聊到的是统称单种可能的妥善解决工具,我们在基本上可能中所遭遇的并不一定是一个完整型操控内都面有的需制订反应速度很迟,有的又必须使用慢的方式也。

例如一个温度传感器,它敦促可先上报反转军令然后到时一定到时时间后才能进行下一步操控。这个时候我就都会这样处置,把这个任务转换成两个部分,一个是开启反转,另一个是读书。

程序在形式如下:

startcov();

delay();

read();

当然上述的 delay 并不是制订一些相关联军令,而是在一个标志位。

也可以把纸片所说的的三个算子PVC到一个算子内都面。

例如取个名字叫HUAWEI():

voidHUAWEI()

{

static u8 state=0;

switch(state)

{

case 0:

startcov();

state++;

break;

case 1:

if(flag_500ms)

state++;

break;

case 2:

read();

state=0;

break;

}

}

}

然后在 while(1) 内都慢慢的调用HUWWEI() 算子即可。

我们的程序在中所只要未了 delay 你就都会发掘出制订反应速度飞迟,因为我们绝大部分程序在都是赋值和 if 说明,因此制订反应速度都会非常的迟。

ISA的程序设计世界是很单纯的,你要一心它一心敞篷车一样的运转的迟,只要你为它消除道路上的失常,让它运转的道路平坦,它人为能以它最迟的反应速度去运转,给出它最出色的表现。

希望以上的知识都能给大家共享帮助,这期我们可先分享到这内都,觉得有用的可以给个三连!

一心尽办法深造ISA程序设计的据说师可以年中所高度重视华维ISA程序设计,回复“华维我要入门”,与我们一起持续发展,讨厌的可以点个赞高度重视我们!

吉林牛皮癣医院哪家专业好
济南精神病专科医院
南京白癜风医院哪家治疗最好
青岛白癜风去哪看
长春看牛皮癣去哪里
咳嗽黄痰吃什么止咳化痰
成都男科医院
急支糖浆适合哪种咳嗽
妇科医院
胸外科

上一篇: 出彩山东人,山东警察学院绽芳华(第四期)

下一篇: 带你进入4K电竞时代,选对显示器很这两项

友情链接