Gast
#349792
Hallo liebe Forumsmitglieder, ich bin im Moment dabei eine Steuerung zu schreiben, die ueber die serielle Schnittstelle Daten empfaengt und rausschreibt. Jetzt habe ich bei ersten Tests das Problem, dass die Reihenfolge der empfangenen Bits nicht stimmt. Hoert sich ziemlich bloed an, ich weiss. Also, normalerweise sollte ich die Bits in dieser Reihenfolge 7 6 5 4 3 2 1 0 empfangen. Tatsaechlich kommen die aber so rein: 3 7 6 5 4 2 1 0. Kann das sein? Kann man das vielleicht irgendwo im MC einstellen und ich habe das ausversehen mal gemacht (von der Art wie fuses oder so). Das Problem habe ich nicht nur mit meiner eigenen Platine, sondern auch, wenn ich die serielle Schnittstelle vom STK500 nehme. Anbei mal ein kurzes Codefragement, wie ich das in ASM gemacht habe: .... ;Stack ldi temp,low(ramend) out spl,temp ldi temp,high(ramend) out sph,temp ;UART Initialisierung ldi temp,low(ubrrval) out ubrrl,temp ldi temp,high(ubrrval) out ubrrh,temp ldi temp,(1<<ursel)|(3<<ucsz0) out ucsrc,temp sbi ucsrb,rxen ;daten empfangen sbi ucsrb,rxcie ;interrupt bei empfang sei loop: rjmp loop ..... int_rxc: in temp,udr .... reti Und schon an dieser Stelle stimmt der Inhalt in temp nicht. Irgendjemand vielleicht eine Idee?? Vielen vielen Dank!! mfg, Sebastian