Hiho wiedermal
Also ich hab mir eueren Rat zu hertzen genommen und moir das wunderbare
Tutorial über die serielle kommunikation durchgelesen und bin
mittlerweile um einiges schlauer (many many many thx).
allerdings funktioniert die kommunikation leider nur mit dem Hyper
Terminal vom lieben alten Windof.
mein assemblerprog sieht ca. so aus:
--------------------------------------
.include "m16def.inc"
.def temp = R16
.equ CLOCK = 4000000
.equ BAUD = 9600
.equ UBRRVAL = CLOCK/(BAUD*16)-1
.org 0x00
rjmp Hauptprogramm
.org URXCaddr
rjmp int_rxc
Hauptprogramm:
ldi temp, LOW(RAMEND)
out SPL, temp
ldi temp, HIGH(RAMEND)
out SPH, temp
ldi temp, 0xFF
out DDRC, temp
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, RXCIE
sbi UCSRB, RXEN
sbi UCSRB, TXEN
sei
Schleife:
ldi temp, 0x0D
rcall serout
rjmp Schleife
serout:
sbis UCSRA,UDRE
rjmp serout
out UDR, temp
ret
int_rxc:
push temp
in temp, UDR
out PORTC, temp
pop temp
reti
--------------------------------------
ich arbeite mit nem stk500
0x0D über den seriellen ausgang schickt der camera ja ein CR und auf das
sollte die Camera laut Manual immer mit ACK antworten.
port c liegt auf den leds und sollte doch theoretisch immer ein ACK
anzeigen....
das tut er aber nicht!
:(
Bitte belehrt mich meiner fehler....
Ihr seid die besten 8)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.