серийна комуникация

P

Pawan Yadav

Guest
е възможно да се получат данни за пореден пристанище ПИН p1.0 в микро контролер 8051?Да, ако след това тогава колко приема ще бъде точна?

 
Можете да използвате произволен 8051 ПИН, за да получите сериен данни ..Ето един пример от 8051-дериват софтуер, UART: http://www.8051.co.kr/html/development/pdf/cpu_application_note/Philips/AN446.PDF ..
Що се отнася до "точност" е загрижен, ако можете да ползвате външни прекъсвания 0 или 1 ПИН Rx като той ще бъде толкова точни, колкото ПИН RX, все пак, ако е дадено общо аз възнамерявам / O ПИН код, то ще зависи от колко често ви питам за микро-до "сканиране", че ПИН ..

С уважение,
IanP

 
Ако аз съм получаване на данни за пристанище за закрепване p1.0 (8051) в серийно сКорост 9600 бита / сек, което е точността на прием? Нямам друг ПИН безплатно на контролер 8051.

 
ще бъде в тежест за UC?Искам да кажа, ако предаването трае няколко секунди, след това ще UC зает обработката на рутинни?

 
Аз ще го кажа така: ако това microcotroller вече има много неща да правя, този метод няма да работи за вас ..
Това е точно обратното на обратното: четене P1.0 като ПИН-RX за 9600bps почти изцяло заемат тази микроконтролера и един от неговите релета за време (този таймер трябва да бъде посветена на този ПИН като Baud си темпо генератор) ..

С уважение,
IanP

 
Обърнете се към следната публикация:
http://www.edaboard.com/viewtopic.php?p=634280 # 634280

С уважение,
IanP

 
Уважаеми ianp,
Мисля, че ти сложим неподходящо URL ...е насочена обратно

 
Не пич, имаше две мнения на един и същ въпрос и те се сливат (зад кулисите) от модератор ..

С уважение,
IanP

 
Иън, Дика & Pawan ...

Ако ще използвате Timer0 / 1 от 8031 дериват пристанище UC-1 сингъл ПИН, за да генерира желаната Baud курс на 9600bps казвам без никакви други неща за вършене ...

1.Как мога да чета / буфер за 8-бита на данни байт по байт през една-пинов (да речем P1.0), без да знаят за контрол старт / стоп управляващи сигнали в режим-1 от RS232?Трябва ли да се следи за контрол на сигнали / просто приемете данните в 8-итеративен линия и буферни същото?

2.Моят въпрос е едно и също отново за писане.Как го правиш това?

Ще използвате управляващи сигнали и за свързване или не?

regds ..,
Абид

 
В момента работя по подобен вид проблем.използване Xilinx EDK за него.Аз не съм в състояние да interfce с UART?мога кой да помогне???

 
Вие трябва да направите това, което "истински" UARTs направите:

1.Използване на таймера за генериране на прекъсва (т.е., "сурова часовници") на честота, която е много си сКорост.Това ще ви позволи да се вземе проба за сериен вход бита данни близо до техните центрове.Например да предположим, че си суров часовник е 16 пъти по-сКорост.Когато започнете малко ръб е открит ще чакам 8 суров часовници и тогава да започне на "часовник малко."От този момент, на малко часовник има същата честота като сКорост, така че да получите нова край малко часовника на всеки 16 проба часовници, започва в средата на откритите стартов бит.

2.Прилагане на това, което е ефективно държавна машина в своя фърмуер.Това е отговорен за откриване на предния фронт на проекта малко.След началото малко се открива и малко часовник работи, трябва да мостра на нов сериен входни данни късче на всеки край малко часовник.Когато имате всички 8 (или все пак много битове данни, които се използват) бита данни, проверете дали сте получи валидна малко спре и след това се прехвърля на байт за съхранение.Ако се открият грешки по време на придобиването байт, изхвърлете байт и изчакайте малко за следващия старт.

Надявам се това да помогне!

 

Welcome to EDABoard.com

Sponsor

Back
Top