-
- Не всегда в общем случае. Как понять критерий нужности? - fk0(10.11.2017 11:31)
- часто при чтении пару раз подряд совпасть должно - Vit(10.11.2017 11:40)
- Если читаешь достаточно быстрый аппаратный таймер -- он никогда не совпадет. Младшая половина всегда убегает вперед, а старшая за несколько чтений не успевает измениться. См. мой ответ ниже. - fk0(10.11.2017 11:46)
- Таймера считываются проще Petrovich(145 знак., 10.11.2017 12:57, )
- У тебя три загрузки таймера в цикле, а у меня два. И положение байт в структуре -- не гарантировано. - fk0(10.11.2017 13:04)
- У тебя три переменных, что недопустимо! У тебя три присваивания в цикле, а у меня два, а обращение к переменной из XDATA даже дольше чем обращение к порту 8051.:) И (сказал же, что схематично!) забудь про Си, это ассемблерный харкор из 80-х, где Petrovich(149 знак., 10.11.2017 13:20, )
- Я еще помню про keil и C51. Не надо мне рассказывать. - fk0(10.11.2017 13:32)
- Завидую вашей молодости. Я один что ли на перейдя с ассемблера на ПЛ-М считал себя авангардом рабочего класса? - Petrovich(10.11.2017 13:36, )
- Я еще помню про keil и C51. Не надо мне рассказывать. - fk0(10.11.2017 13:32)
- У тебя три переменных, что недопустимо! У тебя три присваивания в цикле, а у меня два, а обращение к переменной из XDATA даже дольше чем обращение к порту 8051.:) И (сказал же, что схематично!) забудь про Си, это ассемблерный харкор из 80-х, где Petrovich(149 знак., 10.11.2017 13:20, )
- Схематично - это вот так: 1) Берём МК с таймером 2) ... 3) Профит! - SciFi(10.11.2017 13:04)
- Таймера у читающих даташиты считываются еще проще - при корректном чтении первой половины таймера (в ДШ написано, какую именно половину следует читать первой) содержимое второй половины аппаратно защелкивается в теневой регистр, из которого MBedder(38 знак., 10.11.2017 13:02)
- Увы, это не всегда помогает. У pic18 есть теневой регистр, но... для нормальной работы пришлось городить такую конструкцию: аппаратный таймер 16 бит, или даже 12, тут не помню, по прерыванию инкрементится ещё слово (16 бит) программной части fk0(1081 знак., 10.11.2017 13:12)
- 8051 просит разъяснить поподробнее о теневом регистре :) - Petrovich(10.11.2017 13:06, )
- Ты написал тему про АВР - я разъяснил про АВР, а про 8051 чЕтай сам - MBedder(10.11.2017 14:26)
- Тяжёлое детство, деревянные игрушки, отсутствие теневого регистра. У меня, кстати, на столе лежит штука, в которой интересный регистр разбит на половинки, и именно вот эта петрушка. Выкинуть на помойку не предлагать. - SciFi(10.11.2017 13:06)
- У тебя три загрузки таймера в цикле, а у меня два. И положение байт в структуре -- не гарантировано. - fk0(10.11.2017 13:04)
- Таймера считываются проще Petrovich(145 знак., 10.11.2017 12:57, )
- Если читаешь достаточно быстрый аппаратный таймер -- он никогда не совпадет. Младшая половина всегда убегает вперед, а старшая за несколько чтений не успевает измениться. См. мой ответ ниже. - fk0(10.11.2017 11:46)
- Нафиг общий случай? Пару раз такое нужно было, всё было просто. Чтение переменной, которая меняется достаточно редко: SciFi(190 знак., 10.11.2017 11:36)
- часто при чтении пару раз подряд совпасть должно - Vit(10.11.2017 11:40)
- Не всегда в общем случае. Как понять критерий нужности? - fk0(10.11.2017 11:31)