proszę o pomoc w takiej sprawie
wysyłam liczby , lub stringi z jednego procka do drugiego
drugi jest podłączony do terminala w komputerze , chcę spowodować żeby to co wysłał pierwszy procek odebrał ten drugi i to samo wysłał do terminala.
Problem jest w tym, że jak odbieram znak w przerwaniu i zaraz wysyłam go jako echo to jest dobrze, ale jak zrobię UDR=znak w pętli main to wysyła <00> co jest powodem ?
wysyłam liczby , lub stringi z jednego procka do drugiego
drugi jest podłączony do terminala w komputerze , chcę spowodować żeby to co wysłał pierwszy procek odebrał ten drugi i to samo wysłał do terminala.
Problem jest w tym, że jak odbieram znak w przerwaniu i zaraz wysyłam go jako echo to jest dobrze, ale jak zrobię UDR=znak w pętli main to wysyła <00> co jest powodem ?
#include <avr/io.h>
#include <avr/interrupt.h>
char znak;
int main(void)
{
UCSRB = 0x00; //disable while setting baud rate
UCSRA = 0x00;
UCSRC = 0x86; //8 bits data & 2 stop bits
//UART SPEED 19200 bs
UBRRL = 0x33; //set baud rate lo
UBRRH = 0x00; //set baud rate hi
UCSRB |= (1 << RXEN) | (1 << TXEN);
UCSRB |= (1 << RXCIE);
sei();
while(1)
{
UDR=znak;
};
return(0);
}
//-------------------------------ISR--------------
ISR(USART_RXC_vect)
{
znak = UDR;
//UDR = znak;
}