Страница 1 из 1

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

Добавлено: Вт май 01, 2018 13:40:34
LeonOn1
Товарищи помогите. Подскажите где ошибка.

Пытаюсь передать в компорт символ. Не передается :(
Чего-то заблудился в 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 байты передавались

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

Добавлено: Вт май 01, 2018 15:11:32
dr.doc
Проверьте правильность подключения. Если все в порядке - поморгайте светодиодом в железе.

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

Добавлено: Вт май 01, 2018 18:08:08
Z_h_e
Попробуйте порт на выход настроить.

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

Добавлено: Ср май 02, 2018 12:21:58
LeonOn1
Товарищи это просто 3,14здец!!!!

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

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

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

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

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

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

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

Добавлено: Ср май 02, 2018 19:43:26
LeonOn1
[uquote="Z_h_e",url="/forum/viewtopic.php?p=3367481#p3367481"]
LeonOn1 писал(а):Там где было написано RX на самом деле TX и на оборот.
Это смотря с какой стороны на вывод смотреть , очень условно. Но по нормальной логике TX адаптера подключается к RX контроллера. Проверяю просто, чтобы не парится. На TX адаптера висит лог.1, а если взять за RX адаптера рукой терминальная программа принимает мусор.[/uquote]
Что значит условно? Ножки на адаптере подписаны. И там где написано RX на самом деле был TX.

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

Добавлено: Ср май 02, 2018 19:53:53
Z_h_e
Кто их знает этих китайцев, они могли исходящий вывод от компа подписать как rx, имея ввиду что туда надо подключать rx подключаемого девайса.

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

Добавлено: Ср май 02, 2018 19:55:31
Reflector
[uquote="LeonOn1",url="/forum/viewtopic.php?p=3367742#p3367742"]Что значит условно? Ножки на адаптере подписаны. И там где написано RX на самом деле был TX.[/uquote]
Ножки и на мк подписаны, но если нужно соединить два мк между собой, неужели ты подключишь RX одного к RX другого?