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

 
 
> USART на mega32, пердает нормально, а принимать не хочет
Freeze Anti
сообщение Aug 5 2008, 07:16
Сообщение #1


Частый гость
**

Группа: Новичок
Сообщений: 153
Регистрация: 29-03-07
Из: Саратов
Пользователь №: 26 613



Собственно, сабж.

Инициализировал USART. сигнал с контроллера передается номально. По компорту ловлю на компьютере. А вот если с компьютера передавать - нет реакции. Вот кусок кода моей программы

Код
UBRRH = 0;
UBRRL = 103;  // Скорость обмена USART 9600 бод
UCSRB = 0x18; /* Устанавливаем разряды TXEN и RXEN для
         активизации USART в режиме ввода/вывода через
         выводы 0 и 1 порта D */
UCSRC = 0x03; // Разряды UCSZx установлены для передачи 8 бит данных
while (1)
{

    if(UCSRA & 0x80)
    {
        USARTBuffer = UDR;
        PORTB = USARTBuffer & 0xE0;
        PORTD = (USARTBuffer << 3) & 0xE0;
    }
    
}


просто пытаюсь поморгать светодиодами в зависимости от пришедших данных. ноль реакции.

где может быть ошибка?

использую WinAVR

зы. видел тут в одной из соседних тем советовали указать при инициализации порта RxD выходом. делал. не помогло.


--------------------
!!! All you need is LOVE !!!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Freeze Anti
сообщение Aug 5 2008, 07:59
Сообщение #2


Частый гость
**

Группа: Новичок
Сообщений: 153
Регистрация: 29-03-07
Из: Саратов
Пользователь №: 26 613



Ошибку в инициализации уже исправил. Не помогает.

Светодиодами уже моргал без усарта. Здесь ошибки нет.

На ПК ипользую COM Port ToolKit 0.171. А как настроить правильно?


--------------------
!!! All you need is LOVE !!!
Go to the top of the page
 
+Quote Post
sysel
сообщение Aug 5 2008, 08:05
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 3-07-07
Пользователь №: 28 852



Попробуйте исключить компьютер из ваших экспериментов - закоротите выход USART на вход прямо на микроконтроллере и подолжить эксперименты.

Посмотрите, правильно ли у Вас настроен порт D:
Должно быть так: PD0 - вход, PD1 - выход.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Freeze Anti   USART на mega32   Aug 5 2008, 07:16
- - Палыч   По-моему: UCSRC = 0x06; // Разряды UCSZx установле...   Aug 5 2008, 07:26
- - smac   Цитата(Freeze Anti @ Aug 5 2008, 11:16) С...   Aug 5 2008, 07:34
- - Палыч   Хотя у Вас и ошибка инициализации USART, но МК дол...   Aug 5 2008, 07:46
|- - Палыч   Цитата(Freeze Anti @ Aug 5 2008, 10:59) Н...   Aug 5 2008, 08:18
|- - sKWO   Цитата(Freeze Anti @ Aug 5 2008, 10:59) Н...   Aug 5 2008, 08:28
- - =GM=   Цитата(Freeze Anti @ Aug 5 2008, 06:16) П...   Aug 5 2008, 08:44
|- - haker_fox   Цитата(=GM= @ Aug 5 2008, 17:44) Покажите...   Aug 5 2008, 09:11
|- - SysRq   Цитата(haker_fox @ Aug 5 2008, 13:07) Нас...   Aug 5 2008, 09:13
|- - haker_fox   Цитата(SysRq @ Aug 5 2008, 18:13) В UCSRC...   Aug 5 2008, 09:40
- - UniBomb   Freeze Anti, во-первых регистры UBRR и UCSRС наход...   Aug 5 2008, 09:14
- - Зайцев Иван   я делал на меге32 8МГц Код#include "bn-185_us...   Aug 5 2008, 09:19
- - Freeze Anti   спасибо за подсказку про URSEL. сейчас попробую. ...   Aug 5 2008, 09:41
|- - haker_fox   Цитата(Freeze Anti @ Aug 5 2008, 18:41) с...   Aug 5 2008, 09:47
- - VladimirYU   Цитата(Freeze Anti @ Aug 5 2008, 11:16) С...   Aug 5 2008, 11:23
- - Freeze Anti   Всем огромное спасибо за ответы. Рядом с max232 бы...   Aug 5 2008, 11:38


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

 


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


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