rendered paste bodyvoid USART_Init( unsigned int ubrr)
{
DDRD|=0x2; /* TXD as OUTPUT */
PORTD|=0x2; /* PULL-UP TXD */
/*Set baud rate */
UBRR0H = (unsigned char)(ubrr>>8);
UBRR0L = (unsigned char)ubrr;
/*Enable transmitter */
UCSR0B = (1<<TXEN0);
/* Set frame format: 8data, 2stop bit */
UCSR0C = (1<<USBS0)|(3<<UCSZ00);
}
void lcd_init(void)
{
// ustawienie wszystkich linii sterujących LCD jako wyjścia
DDR_DB4 |= (1 << DB4);
DDR_DB5 |= (1 << DB5);
DDR_DB6 |= (1 << DB6);
DDR_DB7 |= (1 << DB7);
DDR_E |= (1 << E);
DDR_RS |= (1 << RS);
//
_delay_ms(15); // czekaj 15ms na ustabilizowanie się napięcia zasilającego
CLR_E; // E = 0
CLR_RS; // RS = 0
char i; // zmianna licznikowa
for(i = 0; i < 3; i++) // trzykrotne powtórzenie bloku instrukcji
{
SET_E; // E = 1
out_nibble(0x03);
CLR_E; // E = 0
_delay_ms(5); // czekaj 5ms
}
SET_E; // E = 1
out_nibble(0x02);
CLR_E; // E = 0
_delay_ms(1); // czekaj 1ms
write_command(0x28); // interfejs 4-bity, 2-linie, znak 5x7
write_command(0x08); // wyłącz LCD, kursor i miganie
write_command(0x01); // czyść LCD
write_command(0x06); // bez przesuwania w prawo
write_command(0x0C); // włącz LCD, bez kursora i mrugania
}
void lcd_clr(void)
{
write_command(CLEAR);
write_command(HOME);
}
FUNKCJE TYPU INICJACJA LCD czy USART'u/CZYSZCZENIE EKRANu LCD uwaza że :
../Nadajnik.c:290: warning: statement with no effect - w momencie uzycia funkcji w main