Код
#include <avr/io.h>
#include <avr/delay.h>
#define F_CPU 1000000UL
void USART_Transmit (unsigned char data)
{
while ( !(UCSR0A & (1<<UDRE0)) )
;
UDR0 = data;
}
void USART_Init (unsigned int baud)
{
UBRR0H = (unsigned char)(baud>>8);
UBRR0L = (unsigned char)(baud);
UCSR0B = (1<<RXEN0)|(1<<TXEN0);
UCSR0C = (1<<UCSZ00)|(1<<UCSZ01);
}
void Beep (unsigned int time)
{
PORTC = 0xff;
_delay_ms(time);
PORTC = 0x00;
_delay_ms(time);
}
int main(void)
{
DDRC = 0xff;
PORTC = 0x00;
USART_Init (51);
while (1)
{
USART_Transmit ('f');
Beep (100);
}
}
#include <avr/delay.h>
#define F_CPU 1000000UL
void USART_Transmit (unsigned char data)
{
while ( !(UCSR0A & (1<<UDRE0)) )
;
UDR0 = data;
}
void USART_Init (unsigned int baud)
{
UBRR0H = (unsigned char)(baud>>8);
UBRR0L = (unsigned char)(baud);
UCSR0B = (1<<RXEN0)|(1<<TXEN0);
UCSR0C = (1<<UCSZ00)|(1<<UCSZ01);
}
void Beep (unsigned int time)
{
PORTC = 0xff;
_delay_ms(time);
PORTC = 0x00;
_delay_ms(time);
}
int main(void)
{
DDRC = 0xff;
PORTC = 0x00;
USART_Init (51);
while (1)
{
USART_Transmit ('f');
Beep (100);
}
}
На той стороне HyperTerminal 1200 скорость 8 бит, четность нет, один стоп бит. На экране пустота и тишина. Проверял, цеплял на этот же шнурок вместо микросхемы и макса просто GPSку - выдает данные на ура, всё идет. Здесь же просто пустота. При ошибке по скоростям у меня должен быть мусор вроде. Нету даже мусора. Порядок соединения входов-выходов вроде верный, но на всякий случай перебрал все варианты. Ноль эмоций. На ноге выхода микросхемы вроде сигнал есть насколько я могу его увидеть тестером. На ноге выхода макса стабильные минус где-то 7-8В которые там сохраняются независимо от того соединен он с микросхемой или нет.
Скажите где стоит искать проблему?