Hallo ihr lieben Elektrotechniker, Bastler und Linearkombinationen
daraus,
ich bin im Moment dabei einen Synthesizer zu basteln und möchte dafür
Midi-daten über den Usart einlesen, die ich über ein USB->Midi interface
bekomme.
Hab mit nem Oszi mal geschaut und von der Pinbelegung sollte das
stimmen, daher glaube ich, dass mein Code vielleicht noch nicht ganz
erste Sahne ist.
Benutze einen Atmega 32L und würde mich sehr freuen, wenn ihr mir
weiterhelfen könntet :)
Liebe Grüße vom Blaubär
1 | void Usart_init(void)
|
2 | {
|
3 | UCSRB = (1<<RXEN)|(1<<UCSZ2); // enables Usart receive mode
|
4 | UCSRC = (1<<URSEL); // allows writing to the UCSRC register
|
5 | UCSRC |= (1<<UMSEL); // synchronos Operation
|
6 | UCSRC |= (1<<UCSZ1); // UCSZ1 and UCSZ2 set = 8 bit Word
|
7 | UBRRH |= (1<<URSEL); // allows now writing to the UBRRH register
|
8 | UBRRL = 0x15; // set Baudrate to 31250
|
9 | }
|
10 |
|
11 | unsigned char USART_Receive( void )
|
12 | {
|
13 | /* Wait for data to be received */
|
14 | while ( !(UCSRA & (1<<RXC)) )
|
15 | ;
|
16 | /* Get and return received data from buffer */
|
17 | received_byte = UDR;
|
18 | return received_byte;
|
19 | }
|