123liyao 发表于 2018-6-19 15:13:54

怎样提高arduino运行速度

最近在做的arduino模块都已经调好了,但是一起运行的时候就特别慢。请问各位大神有什么注意的地方吗,可以提高运行速度。代码太长,贴了也没什么用处我就不占地方了

Super169 发表于 2018-6-19 20:34:18

如果 IO 要求不多, 轉用ESP8266或 ESP32 試試.

wwwusr 发表于 2018-6-19 21:58:06

干掉所有 delay();:lol
比如按键消抖的那一小段延时,可以用运行一次显示子程序来充当。

123liyao 发表于 2018-6-19 22:11:36

Super169 发表于 2018-6-19 20:34
如果 IO 要求不多, 轉用ESP8266或 ESP32 試試.

这个谢谢啊,但是我现在没精力重新现学ESP8266或 ESP32

123liyao 发表于 2018-6-19 22:12:37

wwwusr 发表于 2018-6-19 21:58
干掉所有 delay();
比如按键消抖的那一小段延时,可以用运行一次显示子程序来充当。

试过,实际效果数据会出错

eddiewwm 发表于 2018-6-20 09:31:21

提及的:「但是一起运行的时候就特别慢」,是甚麼意思?分開咝袝r快很多嗎?快多少?

Super169 发表于 2018-6-20 13:13:40

123liyao 发表于 2018-6-19 22:11
这个谢谢啊,但是我现在没精力重新现学ESP8266或 ESP32

ESP8266 的arduino framework 早就出現了, 不需要重新學 ESP 的 IDF.
大部份 arduino 的程式, 都可以在 ESP8266 上執行的, ESP32 則相對比較少.
就連 IDE 也可以不換, arduino IDE 加入 ESP8266 的板子就可以用了.
但 ESP8266 的 IO 比較少, 如果你需要大量 IO 就不行了.

當然, 如樓上提及, 如果可以找出慢的原因, 可能更好.

123liyao 发表于 2018-6-20 22:17:11

Super169 发表于 2018-6-20 13:13
ESP8266 的arduino framework 早就出現了, 不需要重新學 ESP 的 IDF.
大部份 arduino 的程式, 都可 ...

哇,那就太好了

123liyao 发表于 2018-6-20 22:18:28

eddiewwm 发表于 2018-6-20 09:31
提及的:「但是一起运行的时候就特别慢」,是甚麼意思?分開咝袝r快很多嗎?快多少?

速度应该是几十倍的差别,一起运行直接会有卡顿的感觉

eddiewwm 发表于 2018-6-21 09:48:55

本帖最后由 eddiewwm 于 2018-6-21 09:51 编辑

123liyao 发表于 2018-6-20 22:18
速度应该是几十倍的差别,一起运行直接会有卡顿的感觉

按理,如假設多個小程序組合順序咝械臅r間,將是小程序需要時間的總和。
看你的情況,應不可能有幾十個的小程序,所以估計應有其中一些非介面小程序的咝写螖担?h超過介面小程序的咝小V匦抡?砀餍〕踢行的安排,並如之前 wwwusr 所說的盡量避免 delay 這類的效率消耗語句,是這刻可給你的提議。



123liyao 发表于 2018-6-21 22:29:18

eddiewwm 发表于 2018-6-21 09:48
按理,如假設多個小程序組合順序咝械臅r間,將是小程序需要時間的總和。
看你的情況,應不可能有幾十 ...

大哥哪里人,我读了半天终于懂了。谢谢啦

eddiewwm 发表于 2018-6-22 09:18:09

很抱歉,也不知道為何出了這麼多怪字,可能是繁簡轉換的問題吧!

bing7583380 发表于 2018-6-27 16:45:11

可以试试stm32,可以用arduino ide来写代码的

hqsmpp 发表于 2018-6-27 21:08:47

http://www.geek-workshop.com/thread-12693-1-1.html
可以看看这个,有限状态机

迷你强 发表于 2018-6-28 08:38:53

其实arduino的16MH主频速度在arduino的代码环境下,除了串口啥的浪费时间(不到1ms的样子),其他代码的时效性都是非常高的,一秒钟轻松6W到10W次左右的执行效率。。所以你感觉慢,绝大部分都是可以通过优化代码来达到的。。。
页: [1] 2
查看完整版本: 怎样提高arduino运行速度