RTV forum PL | NewsGroups PL

Nieudany odbiór danych z RS232 na ATmega 128 - co robić?

odczyt z RS na atmega 128

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Nieudany odbiór danych z RS232 na ATmega 128 - co robić?

Dawid
Guest

Sat Sep 09, 2006 4:28 pm   



Witam. Wysyłac dane juz umiemiem ale niestety mi mikroprocesor nie odbiera.
Oto kod programu

#include <avr/io.h>
#include <avr/iom128.h>
#include <avr/sfr_defs.h>
#include <avr/delay.h>
#include <avr/interrupt.h >

void usart_init(void)
{
UCSR0A = 0x00;
UCSR0C = 0x06;
UBRR0L = 0x67;
UBRR0H = 0x00;
UCSR0B = 0x18;
}

unsigned char usart_receive(void)
{
while(!(UCSR0A & (1<<RXC0)));
return UDR0;
}



void usart_transmit0(unsigned char data)
{
while(!(UCSR0A & (1<<UDRE0)));
UDR0 = data;

}

int main(void)
{
int i,j =0;

usart_init();
while(1)
{
DDRD = 0b10000000;
usart_transmit0(0x02);

if (usart_receive||'1')
{
PORTD |= (1<<PD7);
} else
{
PORTD &= ~(1<<PD7);
}


}
}

w przypadku wyslania na rs232 wartosci 1 powinna szgasnac dioda a tu ciagle
swieci.
Jak ktos jest w stanie pomuc to thx:)

Dawid
Guest

Sat Sep 09, 2006 6:28 pm   



Quote:
Po pierwsze to fukcja()||'1' jest zawsze prawdą.
Powinieneś napisać funkcja()=='1'
Pozatym nie widze u Ciebie nawiasów na końcu funkcji, kompilator nic Ci
nie "krzyczy" ?

nie krzyczał kompilowal. Ps. zrobilem nawiazy i nic mi to zbytnio nie dalo.
Gdyz nadal niechce gasnac (obrucilem oczywiscie wszytko tak ze jak wysle do
rS to poeinno mi wylaczyc diode. Juz niewiem gdzie szukac. Mam to dobrze
zaimpletowane? Jesli dobrze to moze max 232 jest dead.

elektroda NewsGroups Forum Index - Elektronika Polska - Nieudany odbiór danych z RS232 na ATmega 128 - co robić?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map