Hallo, ich habe folgendes Problem ich will den Uart im Programmverlauf zweimal Abfragen, sodaß ich wenn ich im PC die erste Zahl eingebe ins erste Unterprogramm komme und beim 2 Mal ins weitere. Bei meinem Programm springt er ins erste und dann wieder zurück. Vielen Dank im vorraus !!! Jürgen .include "4433def.inc" .def temp = r16 .def data = r17 .def send = r18 .def ver = r19 .def tes = r21 .def qc = r22 ; .equ quartz = 3686400 ; für Standard STK500 .equ quartz = 4000000 ; für 4 MHz .equ baud = 9600 ; Baudrate rjmp reset ; Reset Handler reti ; IRQ0 Handler reti ; IRQ1 Handler reti ; Timer1 Capture Handler reti ; Timer1 compare Handler reti ; Timer1 Overflow Handler reti ; Timer0 Overflow Handler reti ; SPI Transfer Complete Handler rjmp receive ; UART RX Complete Handler : RXCIE reti ; UDR Empty Handler reti ; UART TX Complete Handler reti ; ADC Conversion Complete Interrupt Handler reti ; EEPROM Ready Handler reti ; Analog Comparator Handler reset: ldi temp, RAMEND out SP, temp ; set stack pointer sbi UCSRB, RXCIE ; enable receive completed interrupt sbi UCSRB, TXEN ; enable transmit sbi UCSRB, RXEN ; enable receive ldi temp, quartz / (baud * 16) - 1 out UBRR, temp ; BAUD Rate 9600 sei ; interrupts generell aktivieren main: loop: rjmp loop ;-------------------------------------------------- receive: out DDRB, r20 ldi ver, $38 in data, UDR cp data,ver breq version ldi send, 13 ; CR rcall transmit ldi send, 10 ; LF rcall transmit ldi send, 'A' rcall transmit reti ;-------------------------------------------------- transmit: sbis UCSRA,UDRE ; Warten, bis UDR bereit ist rjmp transmit out UDR, send reti version: ldi send, 'B' rcall transmit ldi qc, $37 in tes, UDR cp tes,qc breq well reti well: ldi send, 'l' rcall transmit mov send, data rcall transmit reti
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.