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

 
 
> Проблема с софтовым UART на Mega8, Проблема с софтовым UART на Mega8
Ruslan Konovalov
сообщение Jul 28 2008, 22:32
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 54
Регистрация: 25-07-07
Пользователь №: 29 364



Уважаемые форумчане.

Софтовый уарт принимает не корректно.
Передача происходит без проблем, а принимает вместо:
Пример: Должен принять 000102030405
принимает FFFFFFFFFFFFF
В чем проблема, так и не понял(может настройки пррываний ?).
Компилятор IAR. Проверял на Proteus 7.2

Или быть может у кого нибудь есть рабочий софтовый уарт.
Скорость нужна макс. 115200.
Буду признателен любой помощи.

С Уважением,
Руслан.
Прикрепленные файлы
Прикрепленный файл  soft_uart.zip ( 2.35 килобайт ) Кол-во скачиваний: 42
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
bgc
сообщение Jul 28 2008, 22:35
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 313
Регистрация: 30-07-06
Из: Москва
Пользователь №: 19 188



Скорость великовата для софтового... Проверьте на 2400.
при большой загрузке процессора это предел. При малой наверное потянет 19200. Но точно не проверял.


--------------------
Окружающий мир - не иссякающий источник сюрпризов!
Go to the top of the page
 
+Quote Post
Ruslan Konovalov
сообщение Jul 28 2008, 23:27
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 54
Регистрация: 25-07-07
Пользователь №: 29 364



Цитата(bgc @ Jul 29 2008, 01:35) *
Скорость великовата для софтового... Проверьте на 2400.
при большой загрузке процессора это предел. При малой наверное потянет 19200. Но точно не проверял.


Пробовал на 115200. Передает нормально а прием нет.
У меня есть другой софтовый уарт так он работает как раз на 19200.
Неужели 19200 предел ? Кстати прием и передача работают по очереди.
Неужели если только принимать, то не получится принять на большей чем 19200 скорости ?



А это оригинальный софтовый уарт.
Потом я его переделал под IAR(предыдущий аттачмент).
Может я где-то напартачил ?
Прикрепленные файлы
Прикрепленный файл  suart_1_.zip ( 2.13 килобайт ) Кол-во скачиваний: 55
 
Go to the top of the page
 
+Quote Post
defunct
сообщение Jul 29 2008, 13:06
Сообщение #4


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Ruslan Konovalov @ Jul 29 2008, 02:27) *
У меня есть другой софтовый уарт так он работает как раз на 19200.
Неужели если только принимать, то не получится принять на большей чем 19200 скорости ?

С кварцем 14.7456 должно тянуть 57600.

ЗЫ: А почему не используете аппаратный?

Цитата(=GM= @ Jul 29 2008, 15:42) *
Ну почему отказаться, приём по прерываниям, основная работа в фоне. Для приёма на таких скоростях лучше, конечно, чтобы других прерываний не было.

5 выборок надо делать. 115200 x 5 = 576kHz (будет всего 16Mhz / 576 = с натягом 32 такта на выборку).
Go to the top of the page
 
+Quote Post
=GM=
сообщение Jul 29 2008, 13:43
Сообщение #5


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(defunct @ Jul 29 2008, 12:06) *
5 выборок надо делать. 115200 x 5 = 576kHz (будет всего 16Mhz / 576 = с натягом 32 такта на выборку)

5-то зачем? Ну, для 1Мбода длительность одного бита 16МЦ(тактов), вполне хватит на приём по прерыванию.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
defunct
сообщение Jul 29 2008, 14:59
Сообщение #6


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(=GM= @ Jul 29 2008, 16:43) *
5-то зачем?

Для того чтобы соответствовать стандарту (обеспечить нормальную работу при 2% отклонении частоты приемника и 2% отклонении частоты передатчика (суммарно 4% отклонение) ).

Цитата
Ну, для 1Мбода длительность одного бита 16МЦ(тактов), вполне хватит на приём по прерыванию.

ну ну, хватит ровно на чтение из порта одной выбоки и задвигание в регистр.
Даже на анализ старт/стоп не хватит.
Работать будет так же г...но плохо как и то, что в примере автора ветки.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Ruslan Konovalov   Проблема с софтовым UART на Mega8   Jul 28 2008, 22:32
|- - =GM=   Цитата(Ruslan Konovalov @ Jul 28 2008, 22...   Jul 29 2008, 12:32
||- - MrYuran   Цитата(=GM= @ Jul 29 2008, 16:32) для пол...   Jul 29 2008, 12:36
||- - =GM=   Цитата(MrYuran @ Jul 29 2008, 11:36) Если...   Jul 29 2008, 12:42
|- - SasaVitebsk   Цитата(defunct @ Jul 29 2008, 17:59) Для ...   Jul 29 2008, 15:55
||- - defunct   Цитата(SasaVitebsk @ Jul 29 2008, 18:55) ...   Jul 29 2008, 16:10
||- - AHTOXA   Цитата(defunct @ Jul 29 2008, 22:10) Связ...   Jul 29 2008, 16:29
||- - defunct   Цитата(AHTOXA @ Jul 29 2008, 19:29) При т...   Jul 29 2008, 16:53
||- - AHTOXA   Цитата(defunct @ Jul 29 2008, 22:53) Теор...   Jul 29 2008, 18:18
||- - defunct   Цитата(AHTOXA @ Jul 29 2008, 21:18) Скоро...   Jul 29 2008, 19:03
||- - AHTOXA   Цитата(defunct @ Jul 30 2008, 01:03) Не м...   Jul 29 2008, 19:56
||- - defunct   Цитата(AHTOXA @ Jul 29 2008, 22:56) Там п...   Jul 29 2008, 20:36
||- - AHTOXA   Цитата(defunct @ Jul 30 2008, 02:36) Поче...   Jul 29 2008, 21:23
|- - =GM=   defunct ну ну, хватит ровно на чтение из порта одн...   Jul 29 2008, 16:20
- - Ruslan Konovalov   Огромное спасибо всем кто отозвался. Мне было бы д...   Jul 29 2008, 18:14
|- - =GM=   Цитата(Ruslan Konovalov @ Jul 29 2008, 17...   Jul 29 2008, 21:10
- - _Pasha   Цитата(AHTOXA @ Jul 29 2008, 19:29) Потом...   Jul 30 2008, 10:57
- - AHTOXA   Цитата(_Pasha @ Jul 30 2008, 16:57) В общ...   Jul 30 2008, 11:27


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

 


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


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