Zdravím,
mám dotaz ohledně psaní programu pro ATtiny 2313, kde bych měl posílat data z PC do 2313. Problém je v tom, že jsem ve škole zrovna na USART nebyl, tudíž nevím, o co se jedná. Když jsem se ptal učitele, nic mi ko tomu neřekl. Normálka. Od spolužáků tomu nějak výrazně nerozumím. V podstatě jen vím, že bránu B mám nastavit jako výsupní a D jako vstup.
Podle zadání je přenosová rychlost 19200 Bd, datový rámec: 8 bitů pro data, 1 STOP bit a sundá parita.
Popravdě vůbec nechápu, o co se jedná. Mám k dispozici kód od spolužačky, ze kterého poznám asi jen podle názvu, že jde o USART.
#include <avr/io.h>
#define F_CPU 20000000UL
#define BAUD 9600
#include<util/setbaud.h>
#include<avr/interrupt.h>
static void USART_init(void)
{
UBRRH = UBRRH_VALUE;
UBRRL = UBRRL_VALUE;
UCSRB = (1<<RXEN)|(1<<TXEN)|(1<<RXCIE);
UCSRC = (1<<USBS)|(3<<UCSZ0);
}
/*void USART_init() // 9600 Bd => jedna možnost
{
UBRRH = 0;
UBRRL = 0x81;
UCSRB = (1<<RXEN) | (1<<TXEN);
UCSRC = (1<<USBS); //2 stop bity
}
*/
int main(void)
{
USART_init(); // 9600 Bd
//sei();
UDR = 'A'; //0x41
while(1)
{
}
}
Prosím, je tu někdo, kdo by byl s tím schopen trochnu hnout? Díky moc.