1. RXD - RO TXD - DI 2. переключаю ногой PE2, подключена к DE MAXа 3. подключаю к компьютеру, там программа читает порт
МК передает последовательность чисел 0 - 255, но комп принимает не то вот кусок программы МК: /* Main - a simple test program*/ void main( void ) { //unsigned char ch; port_init(); InitUART( ); /* Set the baudrate to 9,600 bps using a 10 MHz crystal */ SEI(); for(;;) /* Forever */ { //ClrBit(PORTE,2); // //ch = ReceiveByte(); SetBit(PORTE,2); // ïåðåäà÷à for(ch=0;ch<255;ch++){ //ch=0xFF-ch; TransmitByte(ch); /* Echo the received character */ } } }
/* Initialize UART */ void InitUART(void)// unsigned char baudrate ) { UBRR0L = 64; //set baud rate lo UBRR0H = 0x00; //set baud rate hi UCSR0A = 0x00; UCSR0B = 0b00001000; }
/* Read and write functions */ unsigned char ReceiveByte( void ) { while ( !(UCSR0A & (1<<RXC0)) ) /* Wait for incomming data */ ; /* Return the data */ return UDR0; }
void TransmitByte( unsigned char data ) { while ( !(UCSR0A & (1<<UDRE0)) ) ; /* Wait for empty transmit buffer */ UDR0 = data; /* Start transmittion */ }
void port_init(void) { PORTA = 0x00; DDRA = 0x00; PORTB = 0x00; DDRB = 0x10; PORTC = 0x00; //m103 output only DDRC = 0x00; PORTD = 0x00; DDRD = 0x00; PORTE = 0x00; DDRE = 0x04; PORTF = 0x00; DDRF = 0x00; PORTG = 0x00; DDRG = 0x00; }
|