Dima Lerich писал(а): Вроде бы 628 и следующее поколение 84 типа, а на самом деле 84 оказывается более надежным и простым.
Пиво и чипсы подготовлены , естественно не Вам . Show Must Go On
И так Вы заявляете софтовый UART на PIC16F84(A) с бешеной скоростью .
Какую именно скорость вы заявляете?
На какой тактовой бум извращаться?
заявлено: "пришлось сделать на 9600 на тех-же 4 мгц и при этом "туда-сюда" одновременно"
посмотрел реализацию программного уарта на прерываниях таймера: http://chipenable.ru/index.php/programm ... a-ch1.html Например, требуется скорость 9600 бит в секунду. Тогда прерывания таймера должны происходить с частотой 9600*3 = 28800 Гц. Или в пересчете на временной интервал – каждые 34,72 микросекунды.
там в прерывании код нехилый, а для микроконтроллера, с исполнением команды за 1 мкс, получается что он практически постоянно будет сидеть в прерывании.
КРАМ писал(а):Алекс, у меня есть подозрение, что беседу с "нестандартным ребенком" стоит перенести в МЯУ....
Стиль изложения "вундеркинда" не оставляет сомнений в стиле ответа. А я не желаю нарушать правила форума...
Да ладно, пускай высказываются Любой же имеет на это полное право
Тогда прерывания таймера должны происходить с частотой 9600*3 = 28800 Гц. Или в пересчете на временной интервал – каждые 34,72 микросекунды.
Вот я вообще не догоняю, для чего делать 3 выборки ? Что с ними потом делать ? Разъясните мне кто-нибудь на примере ситуацию, при которой 3 выборки дадут лучше и правильней результат, чем при одной выборки посередине.
Аlex писал(а):...чем при одной выборки посередине.
Если середина определена точно, то никакой разницы.
А если рейт может иметь ошибку, то мажорирование из 3 по 2 БЕЗ ПРИВЯЗКИ к началу даст универсальное решение.
К тому же, можно сделать более одного канала.
Аlex писал(а):Вот я вообще не догоняю, для чего делать 3 выборки ? Что с ними потом делать ? Разъясните мне кто-нибудь на примере ситуацию, при которой 3 выборки дадут лучше и правильней результат, чем при одной выборки посередине.
C таким условием, согласен. Но никто же не мешается привязываться по-байтно. Тем более, что без привязки никак, начало первого же байта каким то образом ловится. Значит можно ловить каждый байт.
А зачем ловить начало при трех защелках?
Простое НЕПРЕРЫВНОЕ протаскивание входного сигнала через такой алгоритм даст АВТОМАТИЧЕСКОЕ детектирование всего байта без специальной синхронизации с началом.
Один канал приемника или двадцать один - не важно...
При трёх защёлках незачем. Но по мне лучше повесить RX на ногу, имеющую событие при изменении, и ловить его. Тем самым я могу увеличить скорость как минимум в 3 раза, по сравнению с вариантом без синхронизации. Это, естественно, с учётом того, что мне хватает таймеров.
Задач с кучей уартов у меня ещё не было ни разу, так что я даже не знаю как бы я их решал.
"Пионер" решил, что его утроенная скорость - акуенная новизна и небывалый прорыв..., даже хекс зачем то запостил в новой теме...
А пацаны то и не знали... (с)
У него не утроенная скорость. Он синхронизируется по изменению на portb и делает по одной выборке на бит. Хотя, на сколько я помню, в 84 есть INT. С ним было бы меньше гемору.
Аlex писал(а):Вот я вообще не догоняю, для чего делать 3 выборки
Чуть выше давал ссылку. Там всё прописанно, с картинками. Прочтите, пока Юкоз совсем сайт не угробил.
Аlex писал(а):достаточно одной выборки в середине каждого бита
Ключевое слово: "в середине".
Идея использовать внешнее прерывание хороша только пока Вам надо получить один RX. Как только Вам их надо несколько, всё уже не так хорошо, а если нужен ещё и TX, то совсем плохо.
Аlex писал(а):Несколько это сколько
Оптимально, ИМХО, три. На Тиньке45 делал и четыре, поскольку частота на 3 не делилась.
То, что понаписАл "обладатель нескольких патентов", коментировать не буду.
Да и что можно ожидать от индивида, у которого через строку - ПИВО.
Ну так как же Вас понимать: Для тактовой 24MHz, достиг 31250 бод, и это - практически предел. Для 4 MHz, будет, соответственно, в шесть раз меньше, так что, насчёт 9600, это Вы малость приврали.
Теперь отвечайте: Можете теперь себя прокомментировать? Мне с Вас смешно. Вы не знаете простых вещей и поэтому Вам не хватит никаких мегагерцев.
Dmitry Dubrovenko писал(а):Судя по Вашим последующим постам, Вы действительно не врали. Вы на самом деле полную хрень сделали.
Однозначно.
Здесь я с тобой полностью солидарен.
Мало того что сделал хрень , так еще и гордится своей хренью - типа он вундеркинд , а все остальные тупые старперы .
Собственно не удивительно, в связи с уровнем нынешнего образования а точней с его полным отсутствием ,
появляются подобные "вундеркинды" .
Настряпают хрень и впаривают таким же "топ-менеджерам" ...