Witam
Walczę z tym tematem już dość długo i nie mogę sobie sam poradzić, może wy pomożecie... Chcę z komputera za pomocą terminala sterować Attiny2313 za pomocą rs485. Wszystko dział ok po rs232 po 485 już nie. Po niżej pokażę schemat i program. Na schemacie jest podpisany układ MAX3468 ale w rzeczywistości jest tam MAX485 podłączony tak jak na schemacie. Do portu B podłączonych jest 8 diod, jednak na porcie B nic się nie dzieje.
Dodam jeszcze, że na piny 2i 3 MAX485 podaje raz 5V raz GND, zamieniam miejscami RO z DI ale niczego to nie zmienia...
Używam przejściówki USB ->RS485 firmy Unitek Y-1081, przejściówka jest wykrywana przez system.
http://www.aksonet.pl/Unitek_Y_1081_adapter_USB_1x_RS_485-3385.html
Walczę z tym tematem już dość długo i nie mogę sobie sam poradzić, może wy pomożecie... Chcę z komputera za pomocą terminala sterować Attiny2313 za pomocą rs485. Wszystko dział ok po rs232 po 485 już nie. Po niżej pokażę schemat i program. Na schemacie jest podpisany układ MAX3468 ale w rzeczywistości jest tam MAX485 podłączony tak jak na schemacie. Do portu B podłączonych jest 8 diod, jednak na porcie B nic się nie dzieje.
![[Tiny2313][C] Transmisja RS485 [Tiny2313][C] Transmisja RS485](https://obrazki.elektroda.pl/4095549800_1336506146_thumb.jpg)
#include <avr/io.h>
#include <util/delay.h>
#define F_CPU 8000000L
#define BAUD 9600
#define __UBRR ((F_CPU/(16*BAUD)) - 1)
void USART_Init (uint32_t baud)
{
UBRRH = 0;
UBRRL = 51;
UCSRB = (1<<RXEN)|(1<<TXEN);
UCSRC = (1<<UCSZ0)|(1<<UCSZ1)|(1<<USBS);
}
void UART_Transmit (unsigned char data)
{
while (!(UCSRA & (1<<UDRE)));
UDR = data;
}
unsigned char UART_Receive (void)
{
while (!(UCSRA & (1<<RXC)));
return UDR;
}
int main(void)
{
USART_Init(__UBRR);
DDRB = 0xff;
PORTB = 0xff;
unsigned char znak;
volatile int i;
while(1)
{
znak = UART_Receive();
PORTB = znak;
//UART_Transmit(znak);
}
}
Dodam jeszcze, że na piny 2i 3 MAX485 podaje raz 5V raz GND, zamieniam miejscami RO z DI ale niczego to nie zmienia...
Używam przejściówki USB ->RS485 firmy Unitek Y-1081, przejściówka jest wykrywana przez system.
http://www.aksonet.pl/Unitek_Y_1081_adapter_USB_1x_RS_485-3385.html