Hallo Zusammen, Weiß jemand wie ich über rs232 Schnittstelle des Port von Attiny2313 steuern kann. Möchte gern an dem Port 6 LED’s über PC ansteuern. Gruß Martin
Hallo Peter, Was meinst du mit dem Prorotkoll??? Weiss du ich kann nicht Programmieren, eher habe ich mir gedacht ob irgend wo ein fertiges Application für 2313 gibt dass ich so einfach übernenhmen kann. Gruß Martin
Du musst ein Protokoll schreiben, dass sagen kann, dass LED nummer X einen bestimmten Zustand haben soll. Alternativ über usb kenne ich das hier: http://www.recursion.jp/avrcdc/cdc-io.html#usage
Mikrocontroller sind ab Werk strohdoof und können garnix. Sie sind primär für Leute gedacht, die programmieren können oder lernen wollen. Es kann sein, daß es für Deine konkrete Anwendung schon was fertiges im Web gibt, ich weiß es nicht. Es wird wohl auch keiner für Dich danach suchen (d.h. mußt Du wohl selber). Du brauchst in jedem Fall aber noch ein Programmiergerät, um das Programm in den MC zu flashen. Peter
Hallo, dieser Code habe ich von AVR turirial Uart kopiert. so weit ich verstanden habe die entschprechen fast meine anwendung allerdings dieser Code für Atmega 8 geschrieben. Die Frage ist kann ich dieser Code auch für AT902313 verwenden oder nicht wenn Ja, was muss ich ändern? Gruss Martin .include "m8def.inc" .def temp = R16 .equ F_CPU = 4000000 ; Systemtakt in Hz .equ BAUD = 9600 ; Baudrate ; Berechnungen .equ UBRR_VAL = ((F_CPU+BAUD*8)/(BAUD*16)-1) ; clever runden .equ BAUD_REAL = (F_CPU/(16*(UBRR_VAL+1))) ; Reale Baudrate .equ BAUD_ERROR = ((BAUD_REAL*1000)/BAUD-1000) ; Fehler in Promille .if ((BAUD_ERROR>10) || (BAUD_ERROR<-10)) ; max. +/-10 Promille Fehler .error "Systematischer Fehler der Baudrate grösser 1 Prozent und damit zu hoch!" .endif .org 0x00 rjmp main .org URXCaddr rjmp int_rxc ; Hauptprogramm main: ; Stackpointer initialisieren ldi temp, HIGH(RAMEND) out SPH, temp ldi temp, LOW(RAMEND) out SPL, temp ; Port B = Ausgang ldi temp, 0xFF out DDRB, temp ; Baudrate einstellen ldi temp, HIGH(UBRR_VAL) out UBRRH, temp ldi temp, LOW(UBRR_VAL) out UBRRL, temp ; Frame-Format: 8 Bit ldi temp, (1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0) out UCSRC, temp sbi UCSRB, RXCIE ; Interrupt bei Empfang sbi UCSRB, RXEN ; RX (Empfang) aktivieren sei ; Interrupts global aktivieren loop: rjmp loop ; Endlosschleife ; Interruptroutine: wird ausgeführt sobald ein Byte über das UART empfangen wurde int_rxc: push temp ; temp auf dem Stack sichern in temp, sreg ; SREG sichern push temp in temp, UDR ; UART Daten lesen cpi temp, '1' ; empfangenes Byte mit '1' vergleichen brne int_rxc_1 ; wenn nicht gleich, dann zu int_rxc_1 cbi PORTB, 0 ; LED einschalten, low aktiv rjmp int_rxc_2 ; Zu int_rxc_2 springen int_rxc_1: cpi temp, '0' ; empfangenes Byte mit '0' vergleichen brne int_rxc_2 ; wenn nicht gleich, dann zu int_rxc_2 sbi PORTB, 0 ; LED ausschalten, low aktiv int_rxc_2: pop temp out sreg, temp ; SREG wiederherstellen pop temp ; temp wiederherstellen reti
Hi >Die Frage ist kann ich dieser Code auch >für AT902313 verwenden oder nicht wenn Ja, was muss ich ändern? Zumindest: .include "m8def.inc". Ansonsten fällt mir jetzt nichts offensichtliches auf. MfG Spess
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.