Микроконтроллеры | MSSP(IIC) и USART |
|
---|---|---|
Ого, сколько понаписали Горячие финские парни Gregory, Вы с AVR-овским ассемблером знакомы? Если да, на выходных могу исходники выложить. |
|
|
Gregory: Давайте без оскорблений. Gregory: Если я не понимаю СИ, мне не зазорно сказать про это. Я это уже понял, и принял как данность Потому и пытался объяснить словами.. Gregory: Никаких эхов. Что надо, то, и ловится, и передаётся. Посмотрел ещё раз Вашу программу. Проникся Понравилась компенсация времени реакции на прерывание. Сами придумали? У Вас прерывание настроено случаться 3 раза за время бита. Не уверен, что этого достаточно для уверенного приёма. Могу привести пример, когда не сработает. И ещё. В аттаче - Ваш код прерывания, я расставил в нём число МЦ вдоль одной из веток исполнения. У меня вышло 68 МЦ, при прерывании через 63 На фоне этого борьба с джиттером выглядит смешно Gregory: Короче. Давайте исходник на АСМе (ну, или хотя бы хекс), будем смотреть. |
|
|
Забыл аттач приаттачить. |
|
|
AHTOXA: когда не сработает У меня вышло 68 МЦ Атач гляну чуть попозже. Сейчас дюже некогда. chav1961: с AVR-овским ассемблером знакомы |
|
|
AHTOXA: не писал на асме |
|
|
Gregory: Как-то никто про это даже не упоминает никогда.. Почему-то.. Да мелочи это, плюс-минус МЦ Но в любом случае, красиво. Gregory: Итак. Gregory: Во-вторых. Сразу же бросается в глаза ошибка в "Корректировке" Gregory: Не понял, что означает "+ 2 на вход..." Дык, вход в прерывание - это GOTO, выполняется 2 МЦ, не? Итого, 66+2-4 = 64 цикла Пусть я даже обсчитался ещё где-то (это я запросто), всё равно, это нагрузка запредельная, основному циклу программы просто некогда выполняться. А работает Ваше устройство только благодаря тому, что приём/передача осуществляются не одновременно, а поочерёдно, то есть, полудуплексно Имхо, конечно. |
|
|
Gregory: В-четвёртых. Я прогонял всё это, в различных вариантах, в МПЛАБе, наблюдая за показаниями TMR2. ;) Выходит я хитрее MPLAB-а, нашёл самую длинную ветку выполнения Gregory: Дык, засуньте хекс в деассемблер. Останется только метки переименовать и коментарии вставить. ;) |
|
|
AHTOXA: некогда выполняться А хекс откуда взять? |
|
|
Gregory: Однако выполняется. И полный дуплекс. А я вот почему-то уверен, что если подать непрервыные потоки на приём и на передачу одновременно, то загнётся Gregory: Дык, а СИ не компилится? Не, не компилится У меня нету си для пиков, (и MPLAB-а - тоже нет ) Я не работаю с пиками. ЗЫ. Я написал вчера вечером программу на асме, но забыл её дома Вечерком выложу. ЗЗЫ. Долго крутил в голове Вашу идею с тремя опросами на бит. Не смог найти веских возражений. Буду применять |
|
|
AHTOXA: |
|
|
Форум про радио — сайт, посвященный обсуждению электроники, компьютеров и смежных тем. pro-radio.online | Обратная связь |
© 2003—2024 |