Советы и помошь
- Войдите на сайт для отправки комментариев
Вс, 03/05/2020 - 01:56
Мой код для маленько машинки на arduino uno
Я хотел бы узнать мнение о коде и как можно его усовершенствовать или как исправить ошибки дапушеные в коде
Данный конкретный код усовершенствовать невозможно. Он даже вставлен неправильно
http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukommentarii
Для экономии памяти обозначение пинов дуни провести через #define
Ну или уменьшить объем выделяемой для констант с int до byte. Меньше байта не выделить, а int сильно расточительно для этого. Define подошел бы тут идеально (на мой взгляд).
ЗЫ: И почему один и тот же пин объявлен хренпоймикак? Я про певый. Он и через Port_a объявлен (и используется как вход) и он же как MC1 и объявлен как выход. Этот код точно рабочий и его только улучшить нужно?
Для экономии памяти обозначение пинов дуни провести через #define
В данном случае - разницы не будет, компилятор видит, что пины объвлены как const, нигде не меняются, поэтому он тупо соптимизирует, и подставит константы. Можете проверить сами, написав пару простеньких скетчей, где в одном пин объявлен как const int, а во втором - через define.
Посоветую Вам написать комментарии к программе. Начиная с переменных. И нам попроще понять Вашу логику, и Вам через полгода не надо будет мучительно вспоминать - "А чего это я там обозначил МС5?". Кроме того это хороший стиль программирования - а к хорошему надо себя приучать.
Для экономии памяти обозначение пинов дуни провести через #define
Ну или уменьшить объем выделяемой для констант с int до byte. Меньше байта не выделить, а int сильно расточительно для этого. Define подошел бы тут идеально (на мой взгляд).
ЗЫ: И почему один и тот же пин объявлен хренпоймикак? Я про певый. Он и через Port_a объявлен (и используется как вход) и он же как MC1 и объявлен как выход. Этот код точно рабочий и его только улучшить нужно?
То есть если даже будет const int , то все равно если значение меньше 254 будет выделен 1 байт вместо двух?
Я читал, что в Дуне конст и дефайн почти синонимы по выделению памяти, но сам не мерял.
То есть если даже будет const int , то все равно если значение меньше 254 будет выделен 1 байт вместо двух?
Я читал, что в Дуне конст и дефайн почти синонимы по выделению памяти, но сам не мерял.
Ничего не будет выделено в данном случае. Компилятор просто подставит числа в нужные места, и всё. Вы проверьте, проверьте. IDE = 1.8.5, плата - Arduino Uno, скетч с const int:
Скетч с define:
Разницу видите?
Я не спорю, ни в коем случае, уточнил. Спасибо за проделанный опыт и потраченное время.