Обсуждаем контроллеры компании Atmel.
Ответить

attiny2313 uart не работает

Вт май 01, 2018 13:40:34

Товарищи помогите. Подскажите где ошибка.

Пытаюсь передать в компорт символ. Не передается :(
Чего-то заблудился в 3х соснах, помогите плиз!

Код максимально примитивный, в протеусе работает
Код:
#define F_CPU 8000000L
#include <avr/io.h>
#include <util/delay.h>

void delay_ms(unsigned short ms);

void delay_ms(unsigned short ms)
{
   for(unsigned char i = 0; i < ms/10; i++)
   {
      _delay_ms(10);
   }
}

int main( void )
{
   CLKPR = 0x80;
   CLKPR = 0;
   
//скорость 9600
UBRRH = (unsigned char)(51>>8);
UBRRL = (unsigned char)51;

//Режим 8 бит, 1 стоповыx бита
UCSRA = 0b00100000;
UCSRB = 0b00011000;
UCSRC = 0b00000110;
   while(true)
   {
      UDR = 's';
      while((UCSRA & 0b00100000) == 0);
      delay_ms(200);   
   }
}


Протеус
Изображение

Но при реальной проверке в порт ничего не передается использую terminal
Изображение

Микруху прошивыаю с такими фьюзами
Изображение

Понимаю что от внутреннего генератора может работать не очень стабильно, но в данном случае вообще тишина

Порт эмулируется через USB CH340G - сам по себе адаптер работает, соединял перемычкой RX TX байты передавались
Вложения
Capture3.jpg
(27.15 KiB) Скачиваний: 549
Capture2.jpg
(40.01 KiB) Скачиваний: 625
Capture1.jpg
(57.16 KiB) Скачиваний: 633

Re: attiny2313 uart не работает

Вт май 01, 2018 15:11:32

Проверьте правильность подключения. Если все в порядке - поморгайте светодиодом в железе.

Re: attiny2313 uart не работает

Вт май 01, 2018 18:08:08

Попробуйте порт на выход настроить.

Re: attiny2313 uart не работает

Ср май 02, 2018 12:21:58

Товарищи это просто 3,14здец!!!!

Умелые китайские производители перепутали маркировку выводов USB uart.
Там где было написано RX на самом деле TX и на оборот.

Чисто случайно догадался.

В общем поменял местами соединение и все заработало.

Спасибо всем и извините за беспокойство, в очередной раз убедился что чудес не бывает

Re: attiny2313 uart не работает

Ср май 02, 2018 14:37:49

LeonOn1 писал(а):Там где было написано RX на самом деле TX и на оборот.
Это смотря с какой стороны на вывод смотреть , очень условно. Но по нормальной логике TX адаптера подключается к RX контроллера. Проверяю просто, чтобы не парится. На TX адаптера висит лог.1, а если взять за RX адаптера рукой терминальная программа принимает мусор.

Re: attiny2313 uart не работает

Ср май 02, 2018 19:43:26

LeonOn1 писал(а):Там где было написано RX на самом деле TX и на оборот.
Это смотря с какой стороны на вывод смотреть , очень условно. Но по нормальной логике TX адаптера подключается к RX контроллера. Проверяю просто, чтобы не парится. На TX адаптера висит лог.1, а если взять за RX адаптера рукой терминальная программа принимает мусор.

Что значит условно? Ножки на адаптере подписаны. И там где написано RX на самом деле был TX.

Re: attiny2313 uart не работает

Ср май 02, 2018 19:53:53

Кто их знает этих китайцев, они могли исходящий вывод от компа подписать как rx, имея ввиду что туда надо подключать rx подключаемого девайса.

Re: attiny2313 uart не работает

Ср май 02, 2018 19:55:31

Что значит условно? Ножки на адаптере подписаны. И там где написано RX на самом деле был TX.

Ножки и на мк подписаны, но если нужно соединить два мк между собой, неужели ты подключишь RX одного к RX другого?
Ответить