16+
Вторник
21 ноября
Вход |Карта сайта | |Upload |codebook | PARTS

 О смысле всего сущего 0xFF

 Средства и методы разработки

 Мобильная и беспроводная связь

 Блошиный рынок Объявления

caxapa

Микроконтроллеры ARM 

AVR PIC MSP PLD,FPGA,DSP 

Кибернетика Технологии 

Схемы, платы, компоненты 

Микроконтроллеры AVR

 
   Новая тема Правила Регистрация Поиск »» Архив
Вернуться в конференциюТопик полностью
fk0  (10.11.2017 11:42 - 10.11.2017 11:45) , в ответ на Нафиг общий случай? Пару раз такое нужно было, всё было просто. Чтение переменной, которая меняется достаточно редко: автор: SciFi
Во-первых речь про многобайтную переменную на 8-битном МК. Во-вторых "достаточно редко" -- вообще не аргумент, это вероятностное программирование, которое кончается плохо. Обычно логика такая: 
int read_var(void)
{
        char hi, lo, t;
        t = var>>8;
        do hi=t, lo=var, t=var>>8;
        while (hi != t); 
        return hi<<8 | lo;
}
Идея в том, что младшая половина если убежит вперед ничего страшного (если таймер, счетчик), а если старшая, то с неправильной младшей половиной у тебя неправильное значение. Поэтому читай с начала.
[ZX]
 [x][x][x][x][x][x] [x][x][x][x][x][x][x][x]

Тема выделяется по переводу строки или автоматом

 

Имя


Регистрация позволит вам редактировать и перемещать ваши сообщения и прикреплять к ним файлы.
 
Символы: á é ó ú ý « »
Главная | Карта сайта | О проекте | Проекты | Файлообменник | Регистрация | Вебмастер | RSS
Лето 7526 от сотворения мира. При использовании материалов сайта ссылка на caxapу обязательна.
MMI © MMXVII