[phpBB Debug] PHP Warning: in file [ROOT]/viewtopic.php on line 101: file_get_contents(http://ip-api.com/json/18.119.139.104?fields=countryCode): failed to open stream: HTTP request failed! HTTP/1.1 429 Too Many Requests
UR5FFR • Arduino tips&tricks
Page 1 of 1

Arduino tips&tricks

Posted: 19 Mar 2017, 22:12
by UR5FFR
Так как память микроконтроллера не безгранична то всегда полезно смотреть кто и сколько ее потребляет. В ардуине это можно сделать вот так. Билдим проект в среде нажатием Ctrl+R, потом идем в temp и ищем там каталог с именем типа "arduino_build_603642". Внутри находим файл с расширением elf, его имя совпадает с именем проекта.
Делаем батник dump.bat состоящий из одной строчки

Code: Select all

"C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avr-nm" -Crtd --size-sort %1%
Запускаем батник
>dump.bat my_proj.elf >> dump.txt
На выходе получаем текстовый файл с дампом объектов по уменьшению занимаемой памяти.
Типа такого:

Code: Select all

00000068 B tx_buffer
00000068 B rx_buffer
00000034 B Serial
00000016 V vtable for HardwareSerial
00000004 B timer0_overflow_count
00000004 B timer0_millis
00000002 b loop::last_print
00000001 b timer0_fract
Подробнее про утилиту avr-nm можно прочитать тут

Решение было найдено тут

Re: Arduino tips&tricks

Posted: 10 Feb 2018, 00:40
by UR5FFR
Онлайн-калькулятор для расчета параметров программирования таймеров
http://www.8bit-era.cz/arduino-timer-in ... lator.html

Speedup the analogRead() function
http://yaab-arduino.blogspot.com/2015/0 ... input.html

Re: Arduino tips&tricks

Posted: 24 Mar 2018, 22:56
by UR5FFR

Re: Arduino tips&tricks

Posted: 26 Mar 2018, 00:07
by UR5FFR
Power saving techniques for microprocessors
http://gammon.com.au/power

Работа с пониженной тактовой частотой
https://arduino.stackexchange.com/quest ... with-the-a

http://forum.arduino.cc/index.php?topic=271364.0
Для корректного отрабатывания таймингов и работы ком-порта при пониженной частоте добавляем плату с требуемой частотой в
C:\Program Files (x86)\Arduino\hardware\arduino\avr\boards.txt
в setup() первой строчкой прописываем
clock_prescale_set(clock_div_*)

Re: Arduino tips&tricks

Posted: 29 Jan 2020, 18:53
by UR5FFR
Иногда надо посмотреть сгенерированный компилятором ассемблерный код
Создаем батник disasm.bat из одной строчки

Code: Select all

"C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avr-objdump" -SC %1%
Запускаем батник
>disasm.bat my_proj.elf >> dump.txt
На выходе получаем текстовый файл

Re: Arduino tips&tricks

Posted: 05 Dec 2020, 22:41
by UR5FFR
Если кто-то попробует форматированно выводить плавающую запятую с помощью printf то получит на выходе вопросительные знаки. Потому что в библиотеке под атмеги это обрезано напрочь