ich glaub meine controller verarschen mich oder ich seh den wald vor lauter bäumen nicht
der code wird identisch auf einem M32 und einem M128 aufgespielt (M128 == Embedit128Modul) der M32 braucht 30 mal länger als der M128 um das byte über die UART zu schieben (mit oszi gemessen) was mach ich falsch, hab ich was vergessen oder pübersehen ? bitte helft mirCode:DDRD |= (1<<TRANSMITTER) | (1<<TRIGGER_PIN); UBRRH = 0; //> ... UBRRL = 10; //> 1/10 MBaud @ 16Mhz UCSRB = (1<<RXEN)|(1<<TXEN)|(1<<RXCIE); UCSRC = (1<<USBS)|(1<<UCSZ0)|(1<<UCSZ1); //> 8N2 while(1){ PORTD |= (1<<PD4); while(!(UCSRA & (1<<UDRE))); UDR = R_OPERATING; while(!(UCSRA & (1<<TXC))); PORTD &= ~(1<<PD4); }
PS: die Frequenz selber konnt ich nicht am Quarz überprüfen, aber die pausezeiten zwischen 2 bytes sind identisch mit rund 250nS (entspricht einer vergleichsoperation, wie im while)
Lesezeichen