Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 21.06.2012, 13:53  
Picman
Прописка
 
Регистрация: 29.06.2005
Сообщений: 153
Сказал спасибо: 111
Сказали Спасибо 46 раз(а) в 32 сообщении(ях)
Picman на пути к лучшему
По умолчанию Re: Программный приемник по UART

"А Что Здесь Подразумевается Под Bit_rxd? И Почему Bit = 0x5e, А Half_bit = 0x30?"
Bit_rxd это вход приемника(у меня это MCLR). 0x5e и 0x30 задержки на длительность бита и половинки. Такие получились для скорости 9600 и примененных функций задержки. Если применять для одной скорости приема, то можно просто задать нужные задержки без дефайнов.
Реклама:
Picman вне форума  
Непрочитано 21.06.2012, 17:32  
_Артём_
Гражданин KAZUS.RU
 
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
_Артём_ на пути к лучшему
По умолчанию Re: Программный приемник по UART

Сообщение от Picman Посмотреть сообщение
" 0x5e и 0x30 задержки на длительность бита и половинки.
Что теперь 0x30*2=0x5E?
_Артём_ вне форума  
Непрочитано 21.06.2012, 18:03  
Yurkin2007
Заблокирован
 
Регистрация: 27.03.2007
Сообщений: 1,328
Сказал спасибо: 12
Сказали Спасибо 576 раз(а) в 460 сообщении(ях)
Yurkin2007 на пути к лучшему
По умолчанию Re: Программный приемник по UART

Нет, конечно.
Тут дело в следующем. Длительность бита при скорости 9600 равна 104 мкс. При приёме байта нужно в цикле проверять состояние ножки
Код:
if (Bit_Rxd)
ровно через каждые 104 мкс. В цикле вместе с задержкой DelayUs(Bit); есть ещё другие команды. Поэтому время задержки 0х5Е = 94 мкс плюс время на остальные команды дают в сумме время одного прохода цикла как раз 104 мкс.
Та же история и с половинкой длительности бита. С момента возникновения прерывания от стартового бита до опроса ноги Bit_Rxd должно пройти ровно 1.5*104 мкс, чтобы попасть точно на середину первого бита данных. Опытным путём, скорее всего, получилось Half_bit = 0x30 для нужной задержки.

Последний раз редактировалось Yurkin2007; 21.06.2012 в 18:09.
Yurkin2007 вне форума  
Непрочитано 21.06.2012, 18:27  
_Артём_
Гражданин KAZUS.RU
 
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
_Артём_ на пути к лучшему
По умолчанию Re: Программный приемник по UART

Сообщение от Yurkin2007 Посмотреть сообщение
Нет, конечно.
Тут дело в следующем. Длительность бита при скорости 9600 равна 104 мкс. При приёме байта нужно в цикле проверять состояние ножки
Код:
if (Bit_Rxd)
ровно через каждые 104 мкс. В цикле вместе с задержкой DelayUs(Bit); есть ещё другие команды. Поэтому время задержки 0х5Е = 94 мкс плюс время на остальные команды дают в сумме время одного прохода цикла как раз 104 мкс.
Та же история и с половинкой длительности бита. С момента возникновения прерывания от стартового бита до опроса ноги Bit_Rxd должно пройти ровно 1.5*104 мкс, чтобы попасть точно на середину первого бита данных. Опытным путём, скорее всего, получилось Half_bit = 0x30 для нужной задержки.
Я примерно так и думал.
Но решение какое-то ... нехорошее.
Нельзя использовать что-то аппаратное? Захват или что ещё?
_Артём_ вне форума  
 

Закладки

Метки
важно
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программный пакет NUMERI alvadep Делимся опытом 0 14.11.2011 13:28
Программный декодер шины LIN double_dash Микроконтроллеры, АЦП, память и т.д 0 23.09.2011 10:20
Программный watchdog alexgap Микроконтроллеры, АЦП, память и т.д 8 31.10.2010 12:38
Программный сброс в мега под IAR maxik_k42 Микроконтроллеры, АЦП, память и т.д 10 13.09.2010 19:16
Опрос АЦП через программный SPI AVR Iamuser Микроконтроллеры, АЦП, память и т.д 8 23.03.2007 18:33


Часовой пояс GMT +4, время: 05:00.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot