Ответ: спрошу тут, а то на телесиськах, похоже, одни клоуны...
вот оно передавать - передаёт от МК к ПК;
а вот наоборот, с компа в МК передать не получаетсяяя...
кроме того, при попытке отправить с компа чего нибудь - дрыгать ногами в Loop цикле начинает намного медленнее.
при установке RXCIE =0 в UCR - ничего не тормозит, но и не принимается естественно... т.е. "дырка" где то тут.
.include "2313def.inc"
.def temp0 = r16 ; eigener Name für Register 16
;########
.CSEG
.org 0
rjmp RESET
reti ;.org INT0addr ;External Interrupt0 Vector Address
reti ;rjmp INTERRUPT0
reti ;.org INT1addr ;External Interrupt1 Vector Address
reti ;; rjmp INTERRUPT1
reti ;.org ICP1addr ;Input Capture1 Interrupt Vector Address
reti ;.org OC1addr ;Output Compare1 Interrupt Vector Address
reti ;.org OVF1addr ;Overflow1 Interrupt Vector Address
reti ;rjmp TIMER1_OV
reti ;.org OVF0addr ;Overflow0 Interrupt Vector Address
rjmp receive ; UART RX Complete Handler
;reti ;.org URXCaddr ;UART Receive Complete Interrupt Vector Address
reti ;.org UDREaddr ;UART Data Register Empty Interrupt Vector Address
reti ;.org UTXCaddr ;UART Transmit Complete Interrupt Vector Address
reti ;.org ACIaddr ;Analog Comparator Interrupt Vector Address
RESET:
ldi temp0,RAMEND ; Locate stack
out SPL,temp0
ldi temp0,0b11111111 ;Port B0..B6 = Ausgang, PB7-input
out DDRB, temp0
ldi temp0,0b10011000
out UCR,temp0 ; enable UART receive
ldi temp0,0x40
out UBRR, temp0 ; setze baud rate
sei ; aktiviere interrupts
ldi temp0, '0'
;########## MAIN LOOP
loop:
rcall serout ;Unterprogramm aufrufen
rjmp loop ;zu loop springen
;--------------------------------------------------
receive:
;# сюда оно даже не вываливается...
in temp0, UDR ; lies ein Byte
reti;
;########
serout:
sbis USR,UDRE ;
rjmp serout
out UDR, temp0
ret ;zurück zum Hauptprogramm