-
Thread
Anfänger würde gern Atmel programieren
Links auf der Seite unter AVR, das AVR-Tutorial durchlesen. Du bist nicht der erste. :-)
nicht gegenseitig aus, das STK500 ist ebenfall "In System Programmable", da es einen entsprechenden Port hat. Du kannst den Controller damit auf mehrere Art und Weisen programmieren: - über den RS232-Port ohne jeden zusätzlichen Programmieradapter direkt aus dem AVR-Studio heraus - über einen
-
Thread
avr dude Programm zu groß? Eclipse GCC
Hallo Leute, habe ein kleines Programm geschrieben. Arbeite mit eclipse und GCC Plugin und avr dude. Beim kompilieren erhalte ich dann folgende Meldung: **** Build of configuration Release for project lcd **** make all Invoking: Print Size avr-size --format=avr --mcu=atmega32 lcd.elf
Hier mal mein Programm: (Manches ist ein wenig umständlich) [c] #include <stdlib.h> #include <avr/io.h> #include <avr/interrupt.h> #include <avr/pgmspace.h> #include <util/crc16.h> #include <avr/eeprom.h> #include "uart.h" #include "lib_crc.h" #include <util/delay.h> /* define CPU frequency
-
Thread
PINs abfragen,negieren (Anfänger) Gesperrt
[[AVR-Tutorial]] [[AVR-GCC-Tutorial]]
> was soll falsch sein??? Hat Jochen Müller oben schon vor Deinem Posting geschrieben: *PINx* einlesen und /nicht/ PORTx. Außerdem sind die REGISTER.BIT-Schreibweisen nicht C-Standard und werden nur von einigen kommerziellen Embedded-C-Compilern unterstützt (und /nicht/ vom AVR-GCC!)...
-
Thread
Microcontroller - Handy
phone with Visual Basic: ' Set up the communications port MSComm1.CommPort = 1 ' Com Port 1 ' Set for 9600 baud, no parity, 8 data, and 1 stop bit. MSComm1.Settings = "9600,N,8,1" ' Tell the control to read entire buffer when Input is used MSComm1.InputLen = 0 ' Open the port MSComm1.PortOpen = True ' Send an 'AT' command to the phone MSComm1.Output = "AT" & Chr$(13) & Chr(10) ' The phone will respond with an 'OK' ' Set up the phone for a text message MSComm1.Output =
-
Thread
Rotary-Encoder mit Arduino als Konzentrator
prinzipiell funktionieren. Schöner wäre es noch mit Interrupts, das ist dann Schritt 2. Können die Timer des AVR's selbständig Encoder einlesen? Manche Controller können das, dann spart man sich die Schleife ganz und kann es komplett in Interrupts machen.
das wohl besser. Wicki W. schrieb im Beitrag #5799247: > btw: wie sollen timer einen encoder einlesen koennen? Wenn das ein normales "A/B"-Encoder-Signal ist, indem die Input Capture Einheit die Flanken zählt und die beiden Kanäle vergleicht. Die STM32 können das, bei AVR weiß ich nicht. Wicki
-
Thread
Atmega32U4-Board: USB-Ausgabe in Betrieb nehmen
Unter LunaAVR läuft das, nimm mal Putty als Terminal Programm.
Karl M. schrieb im Beitrag #6007594: > Unter LunaAVR läuft das Danke Karl für den Hinweis. Das läuft unter LunaAVR? https://www.mikrocontroller.net/articles/LunaAVR "Basic/Pascal-ähnliche Programmiersprache" Du hast also nicht mein Programm übersetzt
-
Thread
KIM-1 in AVR?
zyklengenau(im Dezimalmodus bei ADC/SBC gemäß CMOS-6510), anhalten bei Lesezugriffen über RDY möglich, die AVR-IO-Register können mit Vorsicht verwendet werden(alle, die über LD/ST angesprochen werden können), die AVR-Interrupts lösen einen NMI aus, unter 6KBytes Codegröße, 6510-IO-Port auf beliebigem AVR-Port
aber so grob, wie ich den KIM überblicke, vorstellen, 'einfach' Anzeige per Schieberegister an den AVR, Hex-Tasten an AVR-Port, AVR-USART von 6502 aus ansprechen, KIM-ROM entsprechend anpassen und ins SRAM schreiben beim Booten. Mark
-
Thread
Zugriff auf eine "volatlie" Variable aus zwei verschiedenen Interrupts möglich?
geschrieben, das auf der Drehencoder-Routine von Deter Dannegger beruht (hier aus der Codesammlung). Das einlesen der 4 Drehencoder die ich an Port A angeschlossen habe, funktioniert auch prima. Jetzt zu meinem Problem: Das einlesen der Drehencoder erfolgt über den Timer-Overflow-Interrupt mit Timer0 (ca.
lange dauert, ist wurscht, ob er sich selber blockiert oder nen anderen. Daher lange Sachen beim AVR möglichst im Main machen. Peter
-
Thread
Unterbrechen eines Befehls durch ISR
Ja, aber das ist das Problem, welches der Threadsteller meint: Hauptroutine: Variable = PortB; Variable |= 0x00010000; <- Jetzt schlägt der Interrupt zu, der ein Flag setzt. TMP = PortB; TMP |= 0x10000000; PortB = TMP; <- Zurück ins normale Programm PortB = Variable; Und
Das ist aber nicht das gleiche. Wenn Du nur einige Pins ändern willst, musst Du trotzdem vorher den Port einlesen.
-
Thread
ADC starten wenn Signal anliegt
Halli hallo, ist der ADC in der Lage eine Messung zu starten, wenn ein Signal am Port anliegt oder holt sich der ADC den Wert nur dann wenn ich befehle?
Hima wrote: > die Frequenz ist 400kHz Das ist allerdings für den ADC im AVR zu viel. Da wirste nen externen brauchen.
-
Thread
Projekt mit LED Leiste ATMega und Batterien
Beachte, dass die Taktfrequenz der AVR Mikrocontroller gesenkt werden muss, wenn sie mit weniger als 5 versorgt werden. Das beeinflusst auch den Bootloader. Bei Boards mit USB Port solltest du den Schaltplan verifizieren. manche Board
Beitrag #5898625: > Demnach muss ich die Spannung der Bat mit dem Kontroller übern AD > Wandler einlesen und jenachdem abschalten? Ja
-
Thread
Led Cluster ansteuern
Wenn die Basis direkt an den Port kommt, was ist dann bei H-Pegel am Port??? Der ATMega hat nämlich Gegentaktausgänge. ...
habe alles so, wie im avr-tutorial (beispiel mit den leds)... habe ein eigenes "blinkmuster" programmiert, was mit leds direkt am port auch klappt. jetzt wollte ich halt das cluster dran machen, aber da 300 mA ein wenig zuviel
-
Thread
ADC-Wert auf 4 7-Segmentanzeigen darstellen ohne viel Rechenleistung
Zahlen pro Sekunde ? > Daher meine Frage: > Könnte man nicht einfach den ADC Wert in ein Array einlesen Einlesen, was soll hier einlesen ? Ein Indexwert ist es, also indizieren. > und dann > einfach die ensprechenden Felder des Arrays an das Display senden und > sich die ganze rechnerei sparen
https://www.mikrocontroller.net/articles/AVR_Arithmetik#Bin.C3.A4r_zu_BCD_-_Umwandlung
-
Thread
Gibt es beim 8051 einen analogen Befehl zum BREQ?
Man kann aber nicht ne Portleitung einlesen verknüpfen und wieder rausschreiben. Hängen an den unbenutzten Leitungen zum Beispiel Tasten, so werden die Ports auf 1 gesetzt, allso Pullups. Ist eine Taste gedrückt, so liesst er ne 1 zurück
dies die Sache einwenig, da er sich keine großen Gedanken über die Deklaration der Ports machen muss. Hängen Sensoren und Aktoren an einem Port, so muss man halt die nicht benötigten / gewollten PINs beim Einlesen oder Ausgabe maskieren.
-
Thread
ATmega8 Summensignal auswerten
Hat super funktioniert. Ist frei bei privater Nutzung. http://www.ulrichradig.de/home/index.php/avr/avr_-_rc Mfg Ed
Hallo Zusammen, benötige dringend den Quellcode in C zum Einlesen eines Summensignals (Bild im Anhang). Ich muss die ersten 4 Kanäle einlesen. Schalterstellung zuvor erklärt. Arbeite mit myAVR Board MK2 USB mit nem ATmega8 der Empfänger der Funke ist ein Graupner
-
Thread
PORT-B des ATMEGA168 und auch des ATMEGA48 immer $00
Problem mit 2 µC. Betrifft hierbei den ATMEGA168 und auch den ATMEGA48. Bei beiden funktioniert das PORT-B nicht als Ausgang. Als Eingang gibts keine Probleme. JTAG hab ich ausgeschlossen, da diese AVRs angeblich kein JTAG haben und in den Fuses fand ich meiner Meinung nach kein falsches Häkchen ( AVR-Studio4
ADCSRA hast du ja schon umgeändert. Schreib mal, ob der oben genannte Fehler dein Problem mit PortB behoben hat. Die Schaltung sieht nämlich interessant aus. Wo hast du die her? Steffen
-
Thread
Wieder eine Frage
gerne doch noch hinzufügen möchte. Dann hab ich mir das hier angeguckt: http://www.rowalt.de/mc/avr/avrboard/01/progcirc.png Das ist ein einfaches Programmiergerät. Ich beziehe die Spannung aus dem USB und somit kann ich doch einfach die Pins 4-8 am LPT Port weglassen. Und die Masse an die Masse
Blinken dann die LED wieder normal? Ich würde mir an deiner Stelle einen richtigen ISP Adapter "AVR ISP (STK200/300) parallel port interface" zulegen oder bauen. Also mindestens was mit einem Linebuffer-IC wie dem 74HC244 o.ä. zwischen PC und Target. Anleitungen gibt es auf der Ponyprog-Seite >
-
Thread
write und read Probleme bei Atmel Flash
ist das alles für eine AVR geschrieben, und was da Ports und Pins sind, sollte man für solch eine Projekt schon wissen. >Woher weiß das "Programm" das uint8_t eine 8Bit integer Zahl ist? Das sind Typen aus <stdint.h>.
SPI_CSB ist die Pinnummer: Nehm ich Nummer die auf dem datenblatt steht, also hier die 4? SPI_Port wäre ja dann p1_24: wie weiß ich denn dem uC den Port P1_24 als den gewünschten Ausgang(CSFlash) zu. Bei den Ports bis P0_31 ists mit klar. weiß es nur nicht genau bei den einer ports ja glaub auch
-
Thread
TFT LCD Ansteuerung
Variable einen Port ein? Bisher habe ich es immer so gemacht. Nach der Änderung von PORT auf TRIS lese ich nun bei Datahi sowie auch bei Datalo 0x00 aus.
du ja einen PIC verwendest! Ok dann stimmt aber wenigstens die Hälfte meines Posts (der sich auf AVR bezog). Mach mal zwischen RD=low und Einlesen der Daten eine Kurze Pause, da der Displaycontroller erst die Daten anlegen muss. Sascha
-
Thread
Atmega8/1 PortPin als Bit speichern
dieser Variable einen Ausgangspin setzen. Leider funktioniert das nicht. Ich kann nur den ganzen Port D einlesen und dann entsprechend der Wertigkeit des PIND2 den Zustand abfragen. In der Beschreibung steht aber, dass eben "PINx.n" dazu verwendet werden kann, den Zustand eines Eingangpins abzufragen
Ich beziehe mich mit meiner Frage auf das AVR-GCC Tutorial von dieser Homepage. Bei der Beschreibung über die Ports wird ja erklärt, dass man zuerst mal die Datenrichtung festlegt usw. Außerdem lässt sich ja eine Abfrage mit dem Eintrag "PIND2
-
Thread
mit µC Sinus erzeugen + Amplitudenmodulation
praktisch sehr gut... > Die Frequenz stell ich durch unteschiedlich schnelles > rausschreiben an die Ports ein. Sehe ich das richtig? Kann man so machen, muß man aber nicht. Man kann sie auch mit konstenter Geschwindigkeit ausgeben, aber unterschiedlich "schnell" aus der Tabelle einlesen. Das nennt man
Hallo Mathias, der Trick besteht ja darin die Bytes direkt auf den Port schreiben zu können. So etwas zu machen, ist nicht effizient: [c]Bit 0..7 sind auf PortA0 .. PortA7 Bit 8..15 sind auf PortC7 .. PortC0[/c] PORTA 7-0 MSB-LSB LOW_BYTE PORTC 7-0 MSB-LSB HIGH_BYTE
-
Thread
PCF8574 muss mehrfach ausgelesen werden
Kommt auch der Takt Impuls für das einlesen des ACK. Nach dem Daten einlesen oder ausgeben.
juppi schrieb im Beitrag #2602359: > Kommt auch der Takt Impuls für das einlesen des ACK. > Nach dem Daten einlesen oder ausgeben. ich hab leider kein Oszi hier, mit dem ich mir die Pegel anschauen kann... Aber ich versuch mal eins zu organisieren
-
Thread
Entprellen (kein AVR) Gesperrt
Warum weigern sich alle Anfänger so standhaft, bewährte Tutorials und Beispiele zu lesen? Und AVR spezifisch ist auch nur die Syntax für Port einlesen und Timerinterrupt aufsetzen. Der Algorithmus selber ist Hardware unabhängig.
daß dann nicht 8 Pins, sondern 32 Pins parallel entprellt werden. Natürlich kann man auch auf dem AVR uint32_t nehmen und 4 Ports per Shift zusammen fassen. Manche ARMs haben ulkiger Weise trotz 32Bit Architektur nur 16Bit Ports und 16Bit Timer. Da kann ich nur sagen, was hat deren Entwickler denn
-
Thread
MCP3201 mit Atmega 8 in BASCOM
ADC noch nicht, möchte aber wissen wie das geht. Wären die Anschlüsse so richtig? CLK(ADC)--->SCK(AVR) pin 17 Dout--->MISO pin 16 CS--->SS pin 14 MfG Steven
------------------------------------ ' System Settings '--------------------------------------- avr.device = atmega328p avr.clock = 16000000 avr.stack = 42 '--------------------------------------- ' Macros '--------------------------------------- #define BV(n) as ( 1<<(n) ) #define NBV
-
Thread
AVR Entwicklungsboard für Schule
schneller Einstieg (gibts auch von Atmel). Evtl. kann auch hier Atmel für einen Klassensatz helfen. AVR
Kategorie:Projekte Alles mit Unterlagen und Demos. Programmierung oft Basic aber auch C. avr
-
Thread
Wendeschützsteuerung über Atmel ansteuern
Der Tippbetrieb. Habe hier zum Testen ein STK500 Board mit einem atmega32 drauf. LEDs habe ich an PortB, Taster an PortD. Zum Entprellen nehme ich nun die debounce-Lösung von Peter Dannegger. Somit nehme ich nun get_key_rpt und frage den Taster ab. Habe das nun in einer while Schleife und sage, solange
// port where swiches connected as input PORTD = 0xFF; // pull-ups TCCR0 = (1<<CS02)|(1<<CS00); // divide by 1024 TIMSK = 1<<TOIE0; // enable timer interrupt LED_PORT
-
Thread
AT90USB162 - USB und UART
Schnittstelle per USB zu beschreiben ;) Du willst also einfach die Daten über USB per virtuellem COM-Port einlesen und eventuell noch verarbeiten, bevor sie über UART wieder rausgeschrieben werden? Wenn dem so ist, empfehle ich dir den LUFA-USB-Stack. Dort ist alles drin, inklusive Beispiele, was du
Markus Schwarz schrieb im Beitrag #2073976: > Was ist dann aber genau dieser COM-Port? Ist der at90usb dann nur als > BlackBox zusehen und der COM-Port ist Rxd/Txd von dem Controller? Für deine PC-Applikationen sieht es wirklich so aus, als wäre ein neuer COM-Port vorhanden, obwohl
-
Thread
Ist ATXMEGA etwa out?
und man kann diese Pins angeblich auch als normalen I/O-Port verwenden. Das stimmt aber nicht. Diese Pins haben kein 0V oder 3,3V, sondern nur 0V und Open-Drain, weil sie an die I2C-Schnittstelle angepasst sind. Manche Ports haben einen integrierten Pull-Up-Widerstand
Programmierbarkeit angeht, kann ich mich nicht ganz euren Meinungen anschließen. Ich arbeite mit dem Codevision-AVR. Wichtig ist, dass man sich mal in die einzelnen Prozessorstruktureinheiten (UART, Ports, Timer usw.) einarbeitet, aber dann geht es viel schneller weil alles nach demselben Schema aufgebaut ist und
-
Thread
Bascom-AVR: ADC-Werte umrechnen
Hallo!! Habe mein myAVR-Board mitlerweile soweit, das ich einen Wert über den AC an PortC.0 einlesen kann, und den Wert (0...1023) auf dem Display ausgeben kann...hier der Code dazu: $regilfe = "m8def.dat" $crystal = 368400
1 then Portd.6 = 1 End If Loop Aber warum macht er es nicht? Habe den Taster 1 vom myAVR-Board an PortD.5 gelegt, wenn ich den Port betätige tut sich aber an Portd.6 nix...
-
Thread
Welche Programmiersprache lernen? (C, Phyton, Lisp, Swift, Smalltalk?)
Mainstream treiben lassen. - Mein späteres Ziel sind einfache Programme und dass ich ein paar IO-Ports auf dem Board lesen/ansteuern kann (und den USB-Port). - Ich nutze ausschließlich Linux. - Die Sprache soll leicht erlernbar sein. Wobei da sicher keine pauschale Aussage getroffen werden kann
Link oben durch und dann schau dir die Beispiele bei z.B. http://www.ulrichradig.de/home/index.php/avr an bisschen damit spielen.
-
Thread
Hilfe für einen Kompletten Anfänger
ist. Da gibts auch gleich ne Einstellungsmöglichkeit für AVR_DUDE und für den COM-Port usw.. Ich habs auf Ponyser eingestellt. So damit lässt sich das Programm aus dem Programmer Notepad über den Menüeintrag Tool->Make all compilieren und dann über Tool
An einen beliebigen Port. Du musst nur die Addresse des Ports herausfinden (hab' ich vorhin was zu geschrieben) Chris
-
Thread
Kann man mit V-USB zwei Geräte gleichzeitig auf einem AVR betreiben
Ich habe eine Frage zu V-USB. Ist es möglich einen AVR gleichzeitig als zwei USB-Teilnehmer arbeiten zu lassen? z.B.: einmal als UART zu USB Wandler und einmal als USB-Joystick. Der Zweck ist einem AVR, der als Joystick Daten an den PC sendet, vom PC
allem Anschein nach eine serielle Schnittstelle genutzt wird, sollte das mit einem "Mithörer" à la PortMon oder "Free Serial Port Monitor" leicht untersuchbar sein. http://technet.microsoft.com/de-de/sysinternals/bb896644.aspx http://www.serial-port-monitor.com/
-
Thread
Port doppelt benutzen
jemand eine Idee bei folgendem Problem: Es geh darum, 2 unterschiedliche "Eingabemodule" an einem Port voneinander zu trennen/auszuschließen. Der Port B des ATmega8 soll einerseits zum Programmieren, anderseit s zum Einlesen von Zuständen verwendet werden. Die erste Auswahlstufe bildet ein CS-Baustein
Stufe in Frage? Zum besseren Verständnis noch eine kleine Skizze www.microlaboratories.com/Bilder/AVR/ChipSelect%20Auswahl/skizze.JPG Wichtig wäre hier, dass der gesuchte IC im Tri-State arbeitet, also den Ausgang hochohmig schalten kann... Vom Port "B" sind nur 3 von 8 Leitungen gezeichnet!
-
Thread
LM3914 propagation delay?
andauernde Analogspannung zu erfassen, (in 10 Stufen reichts) indem ich die LEDs-Ausgänge mit µC Ports einlese. Datenblatt sagt nichts über Input-Outputs propagation delay, hat jemand schon ausprobiert? (Dass es open collectors sind weiss ich, und ich weiss wie ich sie in µC Ports reinkriege, das ist
andauernde > Analogspannung zu erfassen, (in 10 Stufen reichts) indem ich die > LEDs-Ausgänge mit µC Ports einlese. Ziemlich unwirtschaftlich: 10 Portleitungen, wo für BCD = binary coded decimal vier Leitungen genügen würden.
-
Thread
mC zur Frequenzmessung
Also ich muss hier zwei Frequenzen bis max 200 Hz einlesen und ein PWM ausgeben.
Na aber z.B. 8 Frequenzzähler mit nur einem Timer, da bleibt noch einer für die PWM übrig. Port einlesen, mit dem vorherigen Zustand EXORen, wenn keine Änderung war ist das Zeroflag gesetzt, Interruptzähler eins weiter zählen, fertig, das geht in weit weniger als 25 us.
-
Thread
Einzelne Taster entprellen
Hallo Forum. Ich habe ein Problem, dass ich mit Suchen im Forum nicht lösen kann. Ich prauche Port D als LCD und UART-Port. Entsprechend habe ich nur noch PortB für Taster und LEDS. (AT90S2313) Hier im Forum wird immer nur der komplette Prot gelesen und entprellt. Hat vielleicht jemand ein Beispiel
Hallo, Du kannst doch den Port komplett einlesen und anschließend mit einer log. Verknüpfung die uninteressanten Pins "ausblenden": in r15,PINB andi r15,0b00000100 oder, falls der AT90S2313 den Befehl "andi" nicht kennt, dann
-
Thread
scanf stürzt bei seriellem Port ab
Stattdessen verschwindet das Newline Zeichen wie von Geisterhand aus dem Puffer, obwohl in der Doku der avr-libc genau das Gegenteil ausdrücklich geschrieben steht.
Stattdessen verschwindet das Newline Zeichen wie von Geisterhand > aus dem Puffer, obwohl in der Doku der avr-libc genau das Gegenteil > ausdrücklich geschrieben steht. Ich hab jetzt nicht die Doku gecheckt. Aber deine Beschriebung dessen, was scanf beim Einlesen von Zahlen machen soll, stimmt so nicht
-
Thread
Rechnen mit Assembler
(1mal rechts schieben, high-byte) dual->BCD wandeln BCD->LED falls Atmel-AVR: falls tiny: MUL-Routinen siehe AVR200.asm oder AVR200B.asm dual->BCD: siehe AVR204.asm BCD->LED: selbst schreiben, Stelle für Stelle Die genannten Routinen gab es mal für die classics, sind hoffentlich
Hallo... die beiden Ports habe ich folgendermassen konfiguriert: ; PortB auf Ausgang setzen ldi temp, 0xFF out DDRB, temp ; PortD auf Eingang setzen ldi temp, 0x00 out DDRD, temp ist meiner Meinung
-
Thread
1602 LCD mit ATmega8535 und Bascom läuft nicht
mir dann doch nochmal C angesehen. Mit der Syntax habe ich echt meine Probleme. Beispiel aus dem AVR-GCC-Tutorial [c]PORTA |= (1 << MEINBIT); /* setzt Bit 2 an PortA auf 1 */ PORTA &= ~(1 << MEINBIT); /* loescht Bit 2 an PortA */[/c] Nun weiß ich zwar was der Befehl tut und ich könnte
Hallo Tim, Beispiel aus dem AVR-GCC-Tutorial 1) PORTA |= (1 << MEINBIT); /* setzt Bit 2 an PortA auf 1 */ 2) PORTA &= ~(1 << MEINBIT); /* loescht Bit 2 an PortA */ Das ist eine abgekürzte Schreibweise in C. Kann man in C
-
Thread
Funktionsparameter Gesperrt
lcdSendData() benutzt // PE: data = zu sendende Daten void lcdSend(uint8_t data) { // Bit 3 an Port-A löschen (Schreiben auf LCD) cbi(PortLcdCtrl,3); // Daten auf Port-C PortLcdData = data; // Port-C als Ausgang konfigurieren PortLcdDataDDR = 0xFF; // Bit 0 an Port-A löschen (ChipSelect
\n nop \n"); // Daten an PIN-C holen data=PortLcdDataPIN; // Bit 4 an Port-A löschen cbi(PortLcdCtrl,4); // Bit 0 an Port-A setzten (ChipSelect = Aus) sbi(PortLcdCtrl,0); // Port-C als Ausgang konfigurieren PortLcdDataDDR
-
Thread
Ausgang des Atmega32 definieren
auf 0xFF setzen -> alle LEDs aus loop: in r16, PINA ; an Port A anliegende Werte (Taster) nach r16 einlesen out PORTC, r16 ; Inhalt von r16 an Port C ausgeben rjmp loop [/avrasm] Leider habe ich hier das problem, dass die LED ständig
; an Port A anliegende Werte (Taster) nach r16 einlesen out PORTC, r16 ; Inhalt von r16 an Port C ausgeben rjmp loop [/avrasm] //Beispiel Taster unbetätigt PINA 0b10000000 wird
-
Thread
3-Kanäle PWM messen
gerade über ein Problem: Ich möchte drei PWM Signale / Kanäle von einem RC Empfänger mit einem AVR (Atmega32u4). Da es ein Road-Empfänger ist (Spektrum SRS) bekomme ich von dem Empfänger kein PPM Summensignal, sondern kann nur die drei Kanäle einzeln einlesen. Wie beim RC üblich folgen die Kanäle
im Beitrag #4655132: > Ich möchte drei PWM Signale / Kanäle von einem RC Empfänger mit einem > AVR (Atmega32u4). Da es ein Road-Empfänger ist (Spektrum SRS) bekomme > ich von dem Empfänger kein PPM Summensignal, sondern kann nur die drei > Kanäle einzeln einlesen. > > Wie beim RC üblich folgen
-
Thread
Drehencoder zählt doppelt.
*/ /************************************************************************/ #include <avr/io.h> #include <avr/interrupt.h> #include <avr/pgmspace.h> #define XTAL 8e6 // 8MHz #define PHASE_A (PINA & 1<<PA1) // an Pinbelegung anpassen #define PHASE_B
auch innerhalb des Interrupts noch einmal eine plausibilitätsprüfung Durchführen, un den eingenen Port kontrollieren ob sich der tatsächlich geändert hat - so ist dieser zumindest 2mal gelesen worden. Zum anderen hab ich ja auch geschrieben, dass man die Ports auch pollen kann, dann kannst Du alle
-
Thread
C Programmierung STM32
doch deutlich besser. (Bevorzuge Visual Studio vor Eclipse). Die ganzen Initilaisierungen der Ports sind in meinen Augen grundlegend verschieden. Gibt es irgendwo ein gutes Tutorial, was man ab arbeiten kann, bei dem man mal Grundlegend die neue Technik bzgl. Taster einlesen oder Led setzen lernt
Hi, also im Unterschied zum AVR solltest Du dringlichst die vorgegebenen Initialisierungsroutinen benutzen um die Clocks etc. einzustellen. Im Gegensatz zum AVR wird das NICHT per Fuses geregelt, sondern durch die Software zur
-
Thread
Interrupt Atxmega 32 A4U
zaehler= r19 .def temp2= r20 ldi temp2, 0xFF sts PORTD_DIRSET, temp2 ;PortC Interrupt config ldi temp, 0x00 sts PORTC_DIRSET, temp ;PortC als Eingang ldi temp, 0b00111000 sts PORTC_PIN6CTRL, temp ;PORTC PIN6 Pull-Up und Interrupt bei fallender
lediglich die Einstellung Steigendene Flanke ändern und die Pullup-Konfiguration weglassen. Sowie den PORT bzw. PIN auf deine verwendeten abändern.... Vielleicht kannst du ja in ein paar Worten auch mal noch erklären, was du mit deinem Programm genau machen möchtest... ( So in der Art: Einlesen eines
-
Thread
AVR FTDI ISP-Prog (AVR-8 Programmersoftware für den FT232R)
siehe da es funktioniert :) Ich kann lesen und schreiben. Aber, Wenn ich ein .hex file einlese, dann gibt mir das Programm immer einen Fehler zurück. 0 2 3 Wenn ich aber den AVR Flash lese (klar ist nichts drauf) und dann wieder schreibe dann macht er das Tadellos. Hab mir ja selber
Öffne mal den AVR FTDI ISP-Prog direkt. Öffen deine AVR. Dann kannst du das Hex-File über den entsprechenden Button direkt öffnen und danach programmieren. Solange dein AVR auf 1MHz läuft stell die Programmiergeschwindigkeit
-
Thread
LCD Dispaly initialisieren!
Programmierdialog geht, wenn du deinen Brenner mit AVRDUDE ansteuern kannst) Das ist ganz normales AVR-Handling. Dazu muss man sich halt ein wenig einlesen. > Meine Sprachen sind neben (html, css und javascript) C, C#, C++, Java, > MySql! Dafür stellst du dich aber ziemlich d..... an
---------------- > In Deinem Code : > COnfig Lcdpin = Pin , Db4 = PORT.2 , Db5 = PORTC.3 , Db6 = PORTC.4, Db7 > = PORTV.5 , Rs = PortC.0 , E = PORTC.1 > > Was ist db7=portV.5 ? > ------------------------------- > Mein Beispiel : > Config Lcdpin = Pin , Db7 = Portb
-
Thread
TWI: Quartz notwendig?
Hallo... Ich arbeite mit dem My AVR MK2 Board ich besitze einen TWI PORTExpander und eine TWI Echtzeituhr, welche ich für mein project benötige... Ich brauche aber einen Kompletten Port der Direkt vom ATMega 8 kommt... Um Port
zu ungenau (abhängig von Temperatur, Versorgungsspannung). Das mit dem Display auf den anderen Port zu schieben würde prinzipiell gehen, aber du wirst wahrscheinlich das passende MyAVR-LCD-Modul verwenden und das müsstest du komplett ummodeln.
-
Thread
Adressierung eines LUT mit Z-Register
des Z-Registers benötigt wird. Dann soll das Programm nur immer wieder einen Wert aus der Liste einlesen und auf PortD (LEDs) ausgeben und das Z-Register inkrementieren. Bis zu der Zahl 12 in der Liste funktioniert das auch. Nur ab Zahl 12 werden nurnoch 0xFFs augegeben. Die 12 hat in meiner definition
Apropos Simulation: Ist die Version vom AVR-Studio aktuell?
-
Thread
all-test Online Terminal Programm für AVR?
Gibts für den AVR vielleicht schon einen bestehenden "all-test" Programmcode (avr-gcc), mit welchem man online über serielle Terminal-Kommandos Register & Memory,Bits... live (ggf. per Namen) leicht setzen/abfragen/durchprobieren
beizeiten rüber ins Codesammlungs-Forum stellen. Unten aus dem README.txt Grüsse Robert ----- AVR Spy Monitor (AVR-GCC) v0.1 Description: AVR µC monitor & code evolution base for Rapid Development on AVR µC's. Provides a direct serial (UART<->Terminal) shell interface into the AVR and