zeycon

Програмный Uart

5 сообщений в этой теме

zeycon    0

поделитесь пожалуйста кодом под CVAVR для атмеги

нужен только передатчик

весь инет поискал ничего толкового немогу найти :(

А вы поищите тут!!! Точно помню поднимал такой вопрос Миша... wowa.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
mazzi    8

Только на передачу? Ты и сам легко сделаешь.

Передача одного байта с одним стоповым битом

i=10; // это счётчик отправленных бит(стартовый бит+8 бит данных+стоповый бит)
pin_TX = 0; // это отправляем стартовый бит
start_timer(dlit); // запускаем аппаратный таймер на длительность передачи одного бита

// а это функция-обработчик прерывания от аппаратного таймера
void handler_timer(void) interrupt {
   i--; // уменьшаем счётчик бит
   if (i>1) {
      pin_TX = next_bit();// выводим очередной бит
      start_timer(dlit);// перезапускаем аппаратный таймер для выдержки длительностьвывода 1-го бита
   }else if (i == 1){
      pin_TX = 1; // выводим стоп-бит
      start_timer(dlit);// перезапускаем аппаратный таймер для выдержки длительность вывода 1-го бита
   }
}

Вот и всё. Нет ничего страшного.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
zeycon    0
А вы поищите тут!!! Точно помню поднимал такой вопрос Миша... wowa.

Да я тоже точно помню что ктото поднимал такую тему и даже код софтового юарта был

но сколько неискал толком немогу найти :(

Вот и всё. Нет ничего страшного

Спасибо

а сколько времени занимает один бит при скорости 9600бод ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
zeycon    0

написал программу передатчика по инструкции mazzi

все отлично работает даже без использования таймеров

но вот есть одна проблема :(

програмный ЮАРТ мне был нужен для связи МК с МК через ИК

потомучто для ИК связи надо заполнять нули частотой 32КГц

так вот подключил для теста ИК приемник к СОМ порту через МАХ232

и с МК через ИК светодиод отпровляю данные

все работает терминал показывает принятые данные

но проблема в том что неполучаеться непрерывно отправить данные,

после примерно 300 символов терминал перестает принимать данные

и продолжает прием только после некоторой задержки передатчика

и опять останов после 300 символов (ну примерно 250-350 сиволов за раз)

а если подключаю тот же програмный передатчик напрямую к МАХ232 то

передача идет без остановок :(

может кто знает в чем может быть причина ?

пробовал с разными ИК приемниками но результат тот же

Изменено пользователем zeycon

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сообщения

    • Проведённые мною эксперименты над многочисленными движками от "стиралок", позволяют получать "приличные" характеристики различных приводов. Оптимальные максимальные обороты при мощности превышаюшей паспортную на 30%  ( Uя=120 вольт) - около 6000 об/мин. На  оборотах, менее 500 об/мин необходимо снижать нагрузку до 25% . Длительная перегрузка по току якоря, вызывает перегрев щёток и коллектора - не хватает скорости естественой вентиляции двигателя. Минимальные обороты достижимые при регулировании, нужно ограничить в районе 50 об/мин ( Uя ~ единицы вольт) - ввиду снижения напряжения тахогенератора, неспособного далее активно влиять на регулирование скорости вращения ...
    • Чего всегда не понимал........... когда брат идет на брата    
    • Решил "поизвращаться" над предложеным методом стабилизации и управления коллекторными двигателями от стиралок. Эти двигатели, уверено  работают на постоянном токе. При независимом возбуждении, развивают  больший крутящий момент и  "комфортную",  относительно стабильную скорость. Независимое возбуждение, позволяет получать рабочие скорости пропорцональные напряжению на якоре двигателя, и динамическое торможение. Обмотку возбуждения отключают от якоря и запиывают от источника низкого напряжения - 5-9 вольт. Ввиду её низкого сопротивления (редко более 2 ом), ток в обмотке возбуждения приличный (мало количество витков и большая толщина провода) и может достигать 10 Ампер. Ток возбуждения можно подобрать по степени нагрева  магнитопровода статора - оптимально,  на 30-40 С  выше температуры окружающей среды. Нагрев двигателей при длительной работе до + 80 С им не опасен.
    • народ, бывает что если загрузчик винды которую хотите установить видит что у вас уже установлена какая то винда, то он не станет ставить её. тупо тёмный экран и ничего дальше. я эту проблему и проблему с GPT в MBR или MBR в GPT решал через акронис. Брал диск и делал загрузочный с акронисом, а потом уже акронисом делал всё что необходимо.
    • Вот еще один вариант на ПНП транзисторах . П217 заменишь на П210.  При стаб.питании  - до 50Вт.    Ист. ВРЛ №91 за 1985г. А вот плату рисуй сам !
    • лично своих вез матерям, гробы,   это не забыть Больше этого не будет   ну вы чего ? кто враг вам я чтоли ? Клайд \ враг ?  это я обижусь
    • Так и есть, автор француз Доминик Прод'Омм, когда я начал копать тему происхождения этого фильтра то нашёл её автора, смотрите линк (обратите внимание на дату публикации и сравните с датой публикации nivaga) http://www.audiotechno.fr/html/filtre_serie.htm  Всё в открытом доступе и любой запросто мог воспользоваться этой схемой, не указав автора.