реклама на сайте
подробности

 
 
> Туплю с программным UART
pitman
сообщение Apr 7 2005, 13:32
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 70
Регистрация: 3-03-05
Пользователь №: 3 029



Есть следующий проблем, который не борется второй день. smile3046.gif

Решил сделать программный UART, электрическая схема собрана, с компа данные идут, на него посылаются. Беру скорость 9600 8N1, считаю, получаю, что передача единичного состояния занимает 104мкс. Делаю тестовый вариант, где в цикле передается 0xAA. Стартовый бит 104мкс, и дальше 1 104мкс, 0 104 мкс и т.д. После передачи символа выдерживаю паузу и передаю снова. Трабла в том, что судя по логическому анализатору (включеному до MAX232) времянка соблюдается, в комп ничего не приходит. Меняю задержку, времянка не совпадает с расчетной, на комп приходят какие-то левые символы. Подскажите где я не прав??? У меня что-то все идеи кончились. Проц ATtiny26.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Maxim
сообщение Apr 8 2005, 12:43
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 36
Регистрация: 24-06-04
Пользователь №: 165



Вот кусок програмного УАРТА из рабочей программы (только надо подобрать свои задержки). Передаваемый символ находится в R16
Программа взята из апликейшн на АВР

/************************************************************
* Запись символа в програмный UART
************************************************************/
su_putch: ;
LDI R17, 1+8+1 ; start + data + stop
COM R16 ; Inverte everything
SEC ; Start bit
ppc_m1: ;
BRCC ppc_m2 ; If carry set
CBI SOFT_UARTO,SU_TX; send a '0'
RJMP ppc_m3 ; else
ppc_m2: ;
SBI SOFT_UARTO,SU_TX; send a '1'
NOP ;
ppc_m3: ;
RCALL UART_delay ; One bit delay
RCALL UART_delay ;
NOP ;
LSR R16 ; Get next bit
DEC R17 ; If not all bit sent
BRNE ppc_m1 ; send next
RET ;
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 20:43
Рейтинг@Mail.ru


Страница сгенерированна за 0.01368 секунд с 7
ELECTRONIX ©2004-2016