Не работает USART ATmega8

Обсуждаем контроллеры компании Atmel.
Ответить
Встал на лапы
Сообщения: 82
Зарегистрирован: Чт мар 22, 2012 20:28:49

Сообщение ddimochka »

Уважаемые Коты! Ситуация хоть плачь :cry: . Пытаюсь в первый раз в своей жизни осуществить связь МК и ПК по USART. написал тестовую программку в AVR Studio 5. Привожу листинг

*
* AVRGCC6.c
*
* Created: 22.10.2013 16:44:59
* Author: ДМИТРИЙ
*/

#include <avr/io.h>
#include <avr/interrupt.h>
#define F_CPU 8000000 UL



SIGNAL(SIG_UART_RECV)
{
unsigned int i;

i=UDR;
i=i+1;
USART_Transmit(i);
}

int main(void)
{
DDRB=0xFF;
DDRD=0b00000010;
PORTB=(1<<PB3);
UBRRH=0;
UBRRL=51;
UCSRB=152;
UCSRC=134;
UDR=100;
sei();
while(1)
{


//TODO:: Please write your application code
}

return (0);
}

В Proteus все работает. В железе же МК лампочку на PB3 зажигает, а на данные с компа не реагирует. Да и сам ничего не отсылает. Даже значения 100, которое должно быть отослано сразу после включения мк. Где и какие тут подводные камни? Ну ведь проще ничего быть не может. Да, кстати, МК подключаю к Компу через USB-Serial переходник от Ardruino UNO. Выводы RX и TX соединяю с соответствующими выводами МК. Даже менять их местами пробовал. Ничего не помогает.
Реклама
Мучитель микросхем
Аватара пользователя
Сообщения: 472
Зарегистрирован: Ср фев 15, 2012 09:00:34
Откуда: Киев

Сообщение Eugene.Negrobov »

Бодрейт правильно выставил? Шнурок COM/USB-UART принимает свои же отосланные данные? Ну, если Rx и Tx соединить, в терминале есть эхо при отсыле данных?

P.S.
Студией не пользуюсь, так что код проверить не могу.
I'm on a huge rock, flying through space!
Реклама
Встал на лапы
Сообщения: 82
Зарегистрирован: Чт мар 22, 2012 20:28:49

Сообщение ddimochka »

Eugene.Negrobov писал(а):Бодрейт правильно выставил? Шнурок COM/USB-UART принимает свои же отосланные данные?
Принимает. Это тоже уже проверял
Опытный кот
Сообщения: 758
Зарегистрирован: Вс фев 10, 2013 15:26:00

Сообщение nirq »

Бодрейт зачёркиваем, потому что непонятное слово. Проехали.

"Magic numbers" тоже непонятно. Требуй пояснения за предъяву, а не посылать в интернет!

Зачем разрешаются прерывания? Что мешает их запретить?
Реклама
Эиком - электронные компоненты и радиодетали
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2209
Зарегистрирован: Вт июл 27, 2010 11:31:59
Откуда: Кххх

Сообщение minakan »

Забавно... Тут нехватает внутренностей.
Какой протеус, если ваш исходник у меня и компилироваться не захотел. Вы вот вызываете USART_Transmit(i); а где оно описано?, соответственно эррор и в сад.
Нате вам мою нынешнюю игрушку, можете из нее сделать что нибудь свое.
12 разряд АЦП SPI+ m8515, в компе запущен терминал типа терратерм.
Открываете протеус, для получения перечня команд в терминале нажать ?
Например команда synk: при нажатии на кнопку делается оцифровка по 4 каналам, результат передается в терминал на комп, в текстовом виде.
Схема устройства несколько сложнее, чем схема в протеусе.
Вложения
m8515.zip
(29.18 КБ) 198 скачиваний
Последний раз редактировалось minakan Сб окт 26, 2013 22:19:33, всего редактировалось 2 раза.
Реклама
vek
Вымогатель припоя
Аватара пользователя
Сообщения: 563
Зарегистрирован: Чт апр 16, 2009 04:53:41

Сообщение vek »

nirq писал(а):Зачем разрешаются прерывания? Что мешает их запретить?
Обратите внимание в первую очередь на то, что основной цикл пустой(вернее просто зациклен while(1) ).Ни на какие мысли не наталкивает? :))
В первый раз меня ударило током - и я подумал что ни черта не соображаю в электричестве. Во второй раз был аккуратнее и меня не ударило - теперь я возомнил из себя крутого микроэлектронщика.
Реклама
Встал на лапы
Сообщения: 82
Зарегистрирован: Чт мар 22, 2012 20:28:49

Сообщение ddimochka »

Все нормально в моей программе. Со скоростями поколдовал и пошла передача (ошибок в коде не было). описание функции USART_transmit я здесь просто не привел.
vek
Вымогатель припоя
Аватара пользователя
Сообщения: 563
Зарегистрирован: Чт апр 16, 2009 04:53:41

Сообщение vek »

Это я не вам :) Это было адресованно minakan-у
В первый раз меня ударило током - и я подумал что ни черта не соображаю в электричестве. Во второй раз был аккуратнее и меня не ударило - теперь я возомнил из себя крутого микроэлектронщика.
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2209
Зарегистрирован: Вт июл 27, 2010 11:31:59
Откуда: Кххх

Сообщение minakan »

Вы смотрели архив? :shock: Сильно сомневаюсь. На момент написания вашего письма мой шидевра не скачал никто.
Ответить

Вернуться в «AVR»