ЧЯДНТ?
Прошивка следующая (тут бод как раз 9600 получается, потому что я UBRR по формуле для синхронного режима считал, usb-свисток послушно печатает "COCK\n" в терминал):
Код: Выделить всё
.set PINB, 0x03
.set DDRB, 0x04
.set PORTB, 0x05
.set SPL, 0x3d
.set SPH, 0x3e
.set SREG, 0x3f
.set UDR0, 0xc6
.set UBRR0H, 0xc5
.set UBRR0L, 0xc4
.set UCSR0C, 0xc2
.set UCSR0B, 0xc1
.set UCSR0A, 0xc0
.org 0x0000, 0xff
rjmp start
.org 0x0032, 0xff
start:
clr r1
clr r2
inc r2
ser r16
out SREG, r1
out SPL, r16
out SPH, r2
sbi DDRB, 5
call wait
call blink
call wait
call blink
ldi r17, 0x67
ldi r18, 0x06
ldi r19, 0x08
sts UBRR0H, r1
sts UBRR0L, r17
sts UCSR0C, r18
sts UCSR0B, r19
call wait
ldi r16, 0x43
call send
ldi r16, 0x4f
call send
ldi r16, 0x43
call send
ldi r16, 0x4b
call send
ldi r16, 0x0a
call send
haltloop:
sleep
rjmp haltloop
wait:
ldi r16, 0x0f
ldi r17, 0x42
ldi r18, 0x40
1:
sub r18, r2
sbc r17, r1
sbc r16, r1
brne 1b
ret
blink:
sbi PINB, 5
ret
send:
lds r17, UCSR0A
sbrs r17, 5
rjmp send
sts UDR0, r16
ret

