Forum: Mikrocontroller und Digitale Elektronik ATMega16 vs. CMUCam2


von Tekknö (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.