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

 
 
> tiny2313 UART работает с перерывами.
Alexis25
сообщение Oct 6 2008, 11:30
Сообщение #1





Группа: Участник
Сообщений: 11
Регистрация: 6-10-08
Пользователь №: 40 719



Сделали такую конструкцию: соединили atmega128 и attiny2313 уартами через 485 драйвер.
Скорость 9600, на тини кварц - 4.000 МГц.
В качестве отладки написал такую программу: с меги постоянно валятся байты на скорости 9600 (осциллографом проверено). На тини создан проект (в codevision avr), в настройках включен усарт с прерыванием. В обработчике усарта вписал только одну строчку:
PORTB.6=!PINB.6
По идее на этой ноге должен получиться меандр с частотой приёма символов. На самом деле получается 10 изменений уровня, затем пауза примерно 25 мс.
В чём может быть проблема?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
gormih
сообщение Oct 6 2008, 12:27
Сообщение #2


nofb
***

Группа: Свой
Сообщений: 430
Регистрация: 18-05-06
Из: Москва, Зеленоград
Пользователь №: 17 218



Цитата(Alexis25 @ Oct 6 2008, 15:30) *
Сделали такую конструкцию: соединили atmega128 и attiny2313 уартами через 485 драйвер.
Скорость 9600, на тини кварц - 4.000 МГц.
В качестве отладки написал такую программу: с меги постоянно валятся байты на скорости 9600 (осциллографом проверено). На тини создан проект (в codevision avr), в настройках включен усарт с прерыванием. В обработчике усарта вписал только одну строчку:
PORTB.6=!PINB.6
По идее на этой ноге должен получиться меандр с частотой приёма символов. На самом деле получается 10 изменений уровня, затем пауза примерно 25 мс.
В чём может быть проблема?

Протокол обмена какой? Что там передается - непрерывный поток?


--------------------
Это не то что вы подумали ...

Go to the top of the page
 
+Quote Post
Alexis25
сообщение Oct 6 2008, 12:33
Сообщение #3





Группа: Участник
Сообщений: 11
Регистрация: 6-10-08
Пользователь №: 40 719



Цитата(gormih @ Oct 6 2008, 16:27) *
Протокол обмена какой? Что там передается - непрерывный поток?

В смысле, протокол? Байт данных передаётся командой putchar, соответственно по прерыванию этот байт принимается тини. Или я чего-то ещё не сделал?

Цитата(Alexis25 @ Oct 6 2008, 15:30) *
Сделали такую конструкцию: соединили atmega128 и attiny2313 уартами через 485 драйвер.
Скорость 9600, на тини кварц - 4.000 МГц.
В качестве отладки написал такую программу: с меги постоянно валятся байты на скорости 9600 (осциллографом проверено). На тини создан проект (в codevision avr), в настройках включен усарт с прерыванием. В обработчике усарта вписал только одну строчку:
PORTB.6=!PINB.6
По идее на этой ноге должен получиться меандр с частотой приёма символов. На самом деле получается 10 изменений уровня, затем пауза примерно 25 мс.
В чём может быть проблема?

Поправка: меандр должен быть с частотой приёма БАЙТОВ.
Go to the top of the page
 
+Quote Post
hainiken
сообщение Oct 6 2008, 13:17
Сообщение #4


Участник
*

Группа: Новичок
Сообщений: 16
Регистрация: 4-10-08
Пользователь №: 40 693



Цитата(Alexis25 @ Oct 6 2008, 16:33) *
Поправка: меандр должен быть с частотой приёма БАЙТОВ.

Поменьше ! в 2 раза и еще меньше за счет стартов стопов. Подробное описание подключения и программирования UART - http://www.radiokot.ru/forum/viewtopic.php?t=11048

Вот так:

PORTB.6 ^= 1; или так: PORTB.6 ++;

Почетче будет пахать, так как не будет зависеть от того что конкретно на ноге есть.

Цитата(Alexis25 @ Oct 6 2008, 15:30) *
На тини создан проект (в codevision avr)

Вот и приложите его архивчиком. А 2 МК (и больше и разных ядер) вы можете в PROTEUS отлаживать виртуально.
Go to the top of the page
 
+Quote Post
Alexis25
сообщение Oct 6 2008, 13:18
Сообщение #5





Группа: Участник
Сообщений: 11
Регистрация: 6-10-08
Пользователь №: 40 719



Цитата(hainiken @ Oct 6 2008, 17:14) *
Поменьше ! в 2 раза и еще меньше за счет стартов стопов. Подробное описание подключения и программирования UART - http://www.radiokot.ru/forum/viewtopic.php?t=11048


Ну не суть, меандр-то должен быть равномерным. А наблюдаются периодические паузы.

Сообщение отредактировал Alexis25 - Oct 6 2008, 13:21
Прикрепленные файлы
Прикрепленный файл  2f.zip ( 31.83 килобайт ) Кол-во скачиваний: 45
 
Go to the top of the page
 
+Quote Post
hainiken
сообщение Oct 6 2008, 13:24
Сообщение #6


Участник
*

Группа: Новичок
Сообщений: 16
Регистрация: 4-10-08
Пользователь №: 40 693



Цитата(Alexis25 @ Oct 6 2008, 17:18) *
Ну не суть

Ну просто вы отдельный пост поправке посвятили - хотя символ это и есть байт при 8N1 - т.е. обычно.

Цитата(Alexis25 @ Oct 6 2008, 17:18) *
меандр-то должен быть равномерным. А наблюдаются периодические паузы.

Исходник нужно зырить. UDR не нужно считывать чтоб он освобождался ?

=====
Попробуйте драйвер 485 убрать и соединить напрямую UART через резиторы 1 кОм если МК рядом.
Go to the top of the page
 
+Quote Post
Alexis25
сообщение Oct 6 2008, 13:47
Сообщение #7





Группа: Участник
Сообщений: 11
Регистрация: 6-10-08
Пользователь №: 40 719



Цитата(hainiken @ Oct 6 2008, 17:24) *
Ну просто вы отдельный пост поправке посвятили - хотя символ это и есть байт при 8N1 - т.е. обычно.
Исходник нужно зырить. UDR не нужно считывать чтоб он освобождался ?

=====
Попробуйте драйвер 485 убрать и соединить напрямую UART через резиторы 1 кОм если МК рядом.


Странно, без драйвера работает. По крайней мере сейчас. Спасибо, буду копать дальше.
Go to the top of the page
 
+Quote Post
zombi
сообщение Oct 13 2008, 22:14
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(Alexis25 @ Oct 6 2008, 16:47) *
Странно, без драйвера работает. По крайней мере сейчас. Спасибо, буду копать дальше.

Цитата
Нет, он пауз не создаёт. Появляются именно после интерфейса. Подозреваю, что это 50 Гц.

Значит нужно искать в самом 485 передатчике.
В передатчике сигнал "разрешение передачи" всегда активен? или активируется непосредственно перед передачей очередного байта? Если активируется, то учтена ли задержка переключения режима работы ?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 18th August 2025 - 07:59
Рейтинг@Mail.ru


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