ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
28 ноября
164469 Топик полностью
Snaky (24.08.2009 15:28, просмотров: 159) ответил Lonsik на Ну да согласен так более корректно. Спасибо.
остаточная кривизна предложенного метода в следующем: 1. не предусмотрена проверка данных (контрольная сумма пакета, хотя бы). 2. если переменные разных типов и они занимают разное количество байт в памяти, то надо усложнять 3. самое главное - программа "наверху" не должна ничего знать о каких-либо переменных в контроллере вообще. контроллер достаточно умен чтобы сам смог разобраться с адресами у себя внутри, надо ему только показать что надо делать (указателями). т.е. программировать надо, грубо говоря, послойно: - нижний слой - физический прием\отсылка данных, работа с UART; - средний слой - декодирование принятого пакета, проверка контрольных сумм, разбор параметров; - верхний слой - передача параметров в функции верхнего уровня, которым они нужны, вызов этих функций итд. тогда работоспособность вашего кода не будет зависеть от прихотей линкера, а также он будет переносимым и намного проще в чтении и отладке. в английском языке это называется "лазанья-код", а когда с верхнего уровня сразу прыгаем на нижний попутно декодируя на среднем - это "спагетти-код".
DRC придумали трусы