Witam, mam przejściówkę RS232-USB działającą na układzie PL2303HX, podłączyłem ją tak jak należy z komputera do ATmegi8.
Zainstalowałem sterownik, ustawiłem prędkość na 9600, i napisałem program który miał wysyłać literę A co 1 sekundę wg programu z BlueBooka. Wszystko działało poprawnie a na terminalu wyświetlała mi się co 1 sekunde litera A.
Problem zaczął się kiedy chciałem dane w postaci char z terminala wysyłać do ATmegi8 a następnie wyświetlać je na 2x16 LCD.
Kod:
int main(void)
{
LCD_INIT();
UART_Init();
while(1)
{
CLR();
LCD(UART_Receive());
_delay_ms(500);
CLR();
LCD("tekst");
_delay_ms(500);
}
}
Program ten powinien wyświetlić jakąś literę wysłaną przezemnie z terminala (czego nie robi), a po 0,5 sekundzie wyświetlić napis "tekst" (to akurat wyświetla, czyli LCD jest dobrze podłączony).
Funkcję char UART_Receive( void ) skopiowałem z noty katalogowej ATmegi8, i myślę że jest dobra
Przy kompilacji wyświetla mi się Warning:
Cytuj:
../UART/uart.c:75:3: warning: passing argument 1 of 'LCD' makes pointer from integer without a cast [enabled by default]
dla lini:
Kod:
LCD(UART_Receive());
Pomóżcie, siedze przy tym kilka dni i nie wiem co jest grane