Timeline for Developing an embedded system; from arduino to microcontroller?
Current License: CC BY-SA 4.0
6 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Apr 5, 2022 at 1:39 | comment | added | Chris |
@VladimirCravero I've benchmarked digitalRead and digitalWrite in an application of mine, and achieved a massive speedup just from replacing these. (I know "massive" isn't quantitative either. I can't remember the exact numbers, but it was more than a factor of 10. Closer to 100 I think). That said, that is a reason to benchmark and avoid slow library functions in time-sensitive code, not necessarily a reason to avoid Arduino entirely. In particular, you can avoid the Arduino libraries entirely and still use the IDE without any problems.
|
|
Feb 28, 2019 at 21:05 | comment | added | Chris Stratton | This starts out well, but your claims about package variations reflection the compiled software are just about entirely incorrect. Inside they are really all the same die, it is only which signals are bonded out to pads which differ. Sometime like the ATmega328 vs 328p vs 328b do have some functional difference, but not always ones which would prevent software from running; similarly, code for a 168 may work fine on a 328 unless it does things specific to flash size. | |
Feb 27, 2019 at 8:29 | comment | added | Vladimir Cravero | @duskwuff "pretty slow" is not quantitative at all. I understand that using a library adds overhead and makes things slower, but the statement "Don't use Arduino hex in production" is quite bold and final, and I think it needs to be backed by more than anecdotal "proof". What is acceptable in production depends on the application, I am sure that the Arduino library is not used in a jet aircraft controller (or is it...?), but a home thermostat? Why not? | |
Feb 27, 2019 at 8:20 | comment | added | user39382 |
@VladimirCravero Most common example: digitalRead() and digitalWrite() are pretty slow, because they have to resolve pin numbers to ports and bit numbers. They can usually be replaced by much faster direct port access.
|
|
Feb 27, 2019 at 8:03 | comment | added | Vladimir Cravero | Hello Dennis, I am by no means a fan of Arduino, but do you have any tangible, quantitative proof for your second bullet point? Intuitively, I think that 99% of application would not be impacted by the usage of Arduino library, and on top of that I would not trust the average Joe to write better code than what is in the library. | |
Feb 27, 2019 at 7:49 | history | answered | Dennis Ernst | CC BY-SA 4.0 |