-
Thread
Controllertypen: Blick über den Tellerrand
sequentiellem/ Lesen/Schreiben. Parallel mit dem üblichem Latch komme ich da auf folgende Rechnung (AVR8): Adresse an Ports ausgeben (2 Takte), Latch triggern (2 Takte), AD-Port auf Input (1 Takt) OE auf low (1 Takt) auf SRAM warten (1-2 Takte) Byte einlesen (1 Takt) OE auf high (1 Takt), AD-Port auf
schrieb im Beitrag #1842902: > Parallel mit dem üblichem > Latch komme ich da auf folgende Rechnung (AVR8): Adresse an Ports > ausgeben (2 Takte), Latch triggern (2 Takte), AD-Port auf Input (1 Takt) > OE auf low (1 Takt) auf SRAM warten (1-2 Takte) Byte einlesen (1 Takt) > OE auf high (1 Takt), AD-Port
-
Thread
[AVR] Controller reagiert auf falsche Zahl.
nicht machen. Damit ein Wert gültig eingelesen wird, muss er zwischen einem halben und eineinhalb AVR-Takte vor dem Einlesen angelegen haben. Du setzt aber Deinen Read-Puls low im ersten Takt und liest bereits gleich danach im zweiten ein. Am einfachsten schreibst Du die dat=PIND - Zeile zweimal hintereinander
vergessen. Im vorliegenden Fall spielt der Unterschied nur deshalb keine Rolle, weil die Zeit des AVR-Input-Synchronizers sowieso viel größer ist.
-
Thread
i2c modem oder aehnliches
moin moin ich möchte meine pc's um ein paar io ports erweitern. sind 386sx mit 8mb und laufen unter linux. beim durchstöbern div. seiten bin ich auf dieses hier gestossen : http://www.horter.de/i2c/i2c-modem/i2c_modem_1.html das klingt nach dem was
moin moin 1000 dank an euch beiden. genau sowas hab ich gesucht. werd mich mal einlesen und weiterbasteln. grüße tassilo
-
Thread
PWM mit AD-Wandler steuern
mit mir gemeckert wird wegen formatierung. Ich wollte jetzt mit demn Wert den ich über den ADC einlese an die PWM ausgeben. Das gelingt auch, nur kann ich das Tastverhältniss nur bis etwa 50% einstellen. Wo ist hier der Knacks ? [c] #define F_CPU 1000000UL #include <avr\io.h> #include <util
pin liegt über 100nF an Masse. VACC liegt an 5 Volt. [c] #define F_CPU 1000000UL #include <avr\io.h> #include <util/delay.h> int main (void) { DDRB = 255; // PORT auf Ausgang // AD INIT ADMUX |= (0<<REFS1) |(1<<REFS0); // externe Referenz ADMUX |= (0<<MUX3) |(0<<MUX2) | (0<
-
Thread
getch-Funktion
zusammen, Hab ein sehr unplausibles Problem:). Also ich möchte mit ner getch()-Routine ein Signal einlesen. Dabei verharre ich in einer while-schleife, bis ein Interrupt(Start-Knopf) eintritt, oder an RXC ein Signal/Daten anstehen. Das funktioniert soweit ganz gut, solange ich keine LED an Port PB3 ansteuere
verstehe einfach nicht, warum PB3 mir den Empfangspuffer blockiert... Ich arbeite mit dem AtMega32 und AVR Studio. Schon mal danke im voraus Hab hier mal meine getch()-Routine: #include <avr/io.h> #include "global.h" #define Bereit_LED PB3 // LED 2
-
Thread
PIN einlesen, in variable laden, maskieren und anschließend abfragen-PROB
Also das ist das erste mal dass mir so etwas passiert, Titel sagt hoffentlich alles, Nicht funktionierender Codeabschnitt: [c] DDRD |= (1<<PD4) | (1<<PD5); //PWM Kanäle als Ausgang PORTD |= (1<<PD0); //PIND.0 als Input und Pullup aktivieren //Read EEPROM:***************************** registerVariable = PIND; registerVariable &= 0b00000001; if(registerVariable & 0b00000001) sollwert = eeprom_read_word(&EEsollwert); else if(registerVariable & 0b00000000) sollwert = 0; //***************************************** //Messe die Linie aus und zeige Zustände am
-
Thread
ADC will nicht
mit mir gemeckert wird wegen formatierung. Ich wollte jetzt mit demn Wert den ich über den ADC einlese an die PWM ausgeben. Das geling auch, nur kann ich das Tastverhältniss nur bis etwa 50% einstellen. [c] #define F_CPU 1000000UL #include <avr\io.h> #include <util/delay.h> int main (void) { DDRB = 255; // PORT auf Ausgang // AD INIT ADMUX |= (0<<REFS1) |(1<<REFS0); // externe Referenz ADMUX |= (0<<MUX3) |(0<<MUX2) | (0<<MUX1) | (1<<MUX0) ; //ADC1 //ADMUX |= (1<<ADLAR); ADCSRA |= (1<<ADEN) ;
-
Thread
AVRTiny13: Code verhält sich sonderbar
Hallo! Hier der Coder der Probleme macht (Debugger von AVR Studio 4.18SP2): [c] #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #ifndef F_CPU #define F_CPU 4000000UL #endif volatile short status = 0; ISR(TIMER0_OVF_vect
der das nicht sein? PB3 ist bei dir Eingang. Kein Mensch kann vorhersagen, welchen Wert der µC einlesen wird, wenn wir nicht wissen ob da was drann hängt und wenn ja was und wie. dir ist schon klar, dass du hier PORTB = PINB ^ (1 << PB0); den kompletten PORT änderst, inklusive
-
Thread
Hameg 205-3 PC Interface
to connect the interface the same problem . Any ideas what going wrong ? . Any suggestions for port settings ? . Now I have the default port settings: Bit per second :9600 , Data bits :8 , Parity :N , Stop bits :1 , Flow control :None .
Das ist Eclipse unter Linux mit AVR Plugin. Funktioniert mit avrdude und läuft unter Linux einwandfrei.
-
Thread
Charge Transfer Prinzip (Qtouch) auf STM32 möglich?
PC13 zuerst auf High schalten und dann als Ausgang konfigurieren? Ich dachte man kann einen IO-Port nur dann auf ein Potential ziehen, wenn der IO-Port als Ausgang konfiguriert wurde?
Wenn Dein Port aber "0" ist, Du ihn dann als Ausgang definierst und anschließend erst "1" schaltest, ist schon etwas Zeit vergangen, in der der Port "0" ausgegeben und somit den C schon wieder (etwas) entladen hat
-
Thread
Messgenauigkeiten Butterfly
nicht so. Sowohl der NTC als auch der Lichtsensor links unten im Bild gehen direkt auf die Pins Port F0 und Port F1. > Da die Jungs von Atmel ja nicht > blöd sind, haben sie die beiden Sensoren an den Aref-Pin (VCP) gehängt. Danke. Das hatte ich übersehen. Die beiden Sensoren hängen an Port
ich das falsch? Meine Versuche mit hochohmigen Spannungsteilern bestätigen mir das, sowohl für den AVR ATMega 8, als auch für den M16C, da habe ich es mal im DB gefunden.
-
Thread
GCC Assembler und Thumb Code
werden _muss_. Aber das steht mit Sicherheit an anderer Stelle. Ich werde mich da mal demnächst einlesen. 8086 und Cortex/Thumb 2 sind wohl komplett unterschiedliche Welten was die Assembler Syntax und den Befehlssatz angeht.
ist, dass es keine so schön zusammengestellte und "am Stück" compilierbare Bibliothek + Co wie die avr-libc gibt, die vom crt0.S bis zu den Linkerscripts alles enthält.
-
Thread
20Euro Embedded System mit ARM, 128MB ram und 256MB Flash
Port außen wird die Platte automatisch erkannt. Frage, hat schon jemand ne Platte oder anderes USB Gerät an dem Port auf der Platine am laufen?
mal den anderen Port probiert habe... gut es war auch schon 4 Uhr morgens xD Es ist halt insofern witzig, da später in Debian beide Ports einwandfrei funktionieren, nur uBoot erkennt die Platten am linken Port einfach
-
Thread
Taster auslesen.
Was für einen AVR benutzt Du denn? Und welche Toolchain? Das hier: [c] #include <io.h> #include <iom32.h> [/c] sieht jedenfalls etwas daneben aus.
Dann sollte statt der beiden obigen include Zeilen nur die folgende da stehen: [c] #include <avr/io.h> [/c] Und um Peters Bemerkung aufzugreifen: [c] // DDRD = 0xff; // DDRD &= ~( 1 << DDD4); //PORT4 als Eingang DDRD = 1 << DDD6; // Pin 6 am Port D als Ausgang [/
-
Thread
Reziproker Frequenzzähler+ Optimierte 64bit uint Routinen
TBB512AG 1:64/ 1:65 Man könnte den Teilungsfaktor über eine Spannungsbereich 0 - 5V an einem ADC Port nach dem Reset einlesen. z.B.: die Faktoren 1, 2, 4, 8, 10, 16, 32, 64, 100, 128, 144, 256, 272 Die Spannungsbereich wären dann U_bereich = 5V / (N+1) 'breit'. Mit N=13 dann U_bereich = 0,3571V
gelötet und mit einem ATmega48-20 mit 20Mhz SMD Quarz bestückt. Entgegen meinem Schaltplan ist ein AVR ISP-10 Pol Stecker montiert, da mein usbasp auch damit ausgestattet ist. Zur LED; die ist doch nun an Port B Pin 0 an zuschließen ? [c]// main.c #define LED_PORT PORTB #define LED_DDR DDRB
-
Thread
Elektronik Lager und die vielen Kisten (Verwaltung)
"Bauteil>Bauteil>". Mal gucken, was "Lager/Gehäuse" macht.. "Haeh? Und nun?" Oben ist noch mein AVR ausgewählt. Kiste, "Sortierkasten" Gehäuse "DIP 40" Bezeichnung? Ist doch schon AVR! Nochmal, "auchAVR" Handbuch? Auch schon angegeben. Ah, da, "Menge": 3 Nichts passiert. ENTER! ENTER! Nichts
3". >Irgendwas mache ich falsch? Oben links, 3. Button: "Speichere Datensatz", dann müsste der AVR gespeichert sein! Gruß
-
Thread
24 Lichtschranken mit dem PC überwachen
Dann kannst du einfach hochzählen. Ich weis nicht wie's mit den Pic's aussieht. Aber jeder ATmega (AVR) hat einen USART eingebaut. Dass ist nichts anderes wie eine RS232 Schnittstelle mit 0V/5V Pegeln. Die AVR's haben den Vorteil dass die Programmierumgebung nichts kostet( AVR-Studio + WinAVR ) und
am besten einen Atmega - zum Beispiel 32 - und probier mit dem ein bisschen rum. Sprich: Pins einlesen, über serielle Schnittstelle (UART genannt) zum PC übertragen, usw. Alles, was du dazu brauchst - inkl persönlicher Unterstützung - findest du hier im Forum und beim [[AVR-Tutorial]]. Wenn du das
-
Thread
frage zu programm
abgebrochen werden und alle Leds erlöschen. hier mein programm (die tasterentprellung hab ich aus dem AVR tutorial): [c] #include <avr/io.h> #include <util/delay.h> uint8_t Taster0; uint8_t Taster1; void long_delay(uint16_t ms) { for(;ms>0; ms--) { _delay_ms(1); } } inline uint8_t debounce(volatile uint8_t *port, uint8_t pin) { if ( ! (*port & (1 << pin)) ) { /* Pin wurde auf Masse gezogen, 100ms warten */ _delay_ms(50); // max. 262.1 ms / F_CPU in MHz _delay_ms(50);
-
Thread
Kann man das besser schreiben?
Puls erzeugen SR_PORT &= ~( 1 << SCK_PIN ); } // alle 32 Bits sind draussen // Die SR-Latches durchschalten SR_PORT |= ( 1 << RCK_PIN ); SR_PORT &= ~( 1 << RCK_PIN ); } int main() { uint8_t tmp,
Puls erzeugen value >>= 1; SR_PORT &= ~( 1 << SCK_PIN ); } // alle 32 Bits sind draussen // Die SR-Latches durchschalten SR_PORT |= ( 1 << RCK_PIN ); SR_PORT &= ~( 1 << RCK_PIN ); } [/C] [C] int main() {
-
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
Probleme beim AVR-Tutorial mit Pollin EvaBoard
Ich habe ein Problem beim Eingang einlesen. .include "m8def.inc" ldi r16, 0xFF out DDRB, r16 ldi r16, 0x00 ldi r16, 0xFF out PORTD, r16 loop: in r16, PIND out PORTB, r16 rjmp loop Mein Problem ist das bei dem Pollin Board sowohl Taster und auch die Leds alle an Port D angeschlossen sind. Ich bräuchte es vom Sinn her so: in r16, PIND3 out PB5, r16 rjmp loop So funktioniert das aber nicht. Ich habe schon alle möglichen Schreibweisen
-
Thread
Falsche Flag-Aktivierung Timer/Counter0
wäre sehr dankbar, wenn jemand mir einen Vorschlag geben könnten. Hier der C-Code: [C] #include <avr/io.h> #include <stdint.h> #include <avr/interrupt.h> uint8_t temp1; uint8_t temp2; uint8_t result; void Initialize(void){ // Definition of PORTB DDRB |= (1<<DDB0); // Pin PB0 is
Code auf den uC zu prüfen. Könntet ihr vielleicht den Code simulieren? Ich verwende die Tools AVR Studio 4.18 Build 700 und WinAVR-20090313, da ich mit anderen Versionen von WinAVR Probleme hatte, den Code mit dem ATTiny25 zu debuggen. #include <avr/io.h> #include <avr/interrupt.h>
-
Thread
Bau einer Kaffee-Vollautomaten Steuerung
ein Entwurf der Lastschaltung mit Triacs für Komponenten bei 230V AC. Würde es so funktionieren? AVR gibt logisch 1 auf den MOC, der Triac zündet durch, AVR gibt 0, Triac trennt. Ist es eigentlich kritisch, ob ich am Triac L oder N schalte?
über SSR * Bezug der 5V über externes Schaltnetzteil * LCD-Hintergrundbeleuchtung abschaltbar über PortG.0
-
Thread
XMega und QDec
oder stelle ich mich nur an? Zu Testzwecken habe ich einen Drehgeber mit 32 Positionen Auflösung an Port E eines XMega128A1 angeschlossen. Die Initialisierung ist: [c] lineCount = 32; QDEC_Total_Setup(&PORTE, /*PORT_t * qPort*/ 0, /*uint8
.INTFLAGS = TC0_CCAIF_bm; AVR_LEAVE_CRITICAL_REGION(); } ISR(QDecCounter0CCB) { AVR_ENTER_CRITICAL_REGION(); register int step = QDecCounterStep; QDecCounter0Base -= step; QDecCounter0Offset -= step; QDecCounter0
-
Thread
Problem mit PWM bei Mega8
leuft er und er ist so eingestellt das er > mir beim erreichen des OCR1A(B) wertes den jeweiligen port auf ausgang > schaltet. Ähm. Eine PWM stell einen Port-Pin, der auf Ausgang geschaltet ist, zwischen 1 und 0 um und nicht den Modus zwischen Eingang und Ausgang um. > Doch wenn ich im AVR studio
gewünschten schreibweise. Ja ich weis das er es zwischen 1 und 0 umstellt. Aber wie du schon sagst einen PORT pin. Das währe im AVR studio dann der PORTB, doch er stellt den PINB um.
-
Thread
Display3000-UART-Problem
F_CPU 16000000L #define OSCSPEED 16000000L /* in Hz */ #include <stdio.h> #include <avr/io.h> #include <avr/wdt.h> #include <util/delay.h> #include <math.h> #include <avr/pgmspace.h> #include <avr/interrupt.h> #define LCD_DDR DDRB [...] ISR(USART1_RX_vect) { unsigned
F_CPU 16000000L #define OSCSPEED 16000000L /* in Hz */ #include <stdio.h> #include <avr/io.h> #include <avr/wdt.h> #include <util/delay.h> #include <string.h> #include <avr/pgmspace.h> #include <avr/interrupt.h> #define LCD_DDR DDRB #include <glcd-Display3000-211.h> extern const
-
Thread
Interrupts im Avr-Studio simulieren
mich eh mit Interrupts beschäftigen - daher bleibt die Frage: Ext. Int. sind nur über Bit 2/3 vom PortD möglich und nicht auf andere Ports anwendbar??? Desweiteren soll ich mich auch noch in Programmierung von Timer, Sleep-Modes, Watchdogs, Entprellung, I2C einlesen... Also wenn jemand gute Einsteigerlektüre
Frank schrieb im Beitrag #1791482: > Ext. Int. sind nur über Bit 2/3 vom PortD möglich und > nicht auf andere Ports anwendbar??? jap
-
Thread
ATMEL-AVR-µC Eingangsbits ausmaskieren bzw. selektieren
gekommen, weil ja z.B. FUNKTION den Wert 3 enthält aber ich ja Bit 3 testen muss, da der Taster an PortB3 hängt und dieser hat nun mal den Wert 8 ( 8 = 2^3 ). Die Assembleranweisung EXP2(Ausdruck) sollte ja als Ergebnis 2^ (Ausdruck) liefern. Jedoch springt im AVR-Studio der Simulator immer nach
Hi >Ich kenne zwar EXP2 nicht, Gehört zum AVR-Assembler2. Mit '|' ergibt es das gleiche Ergebnis. MfG Spess
-
Thread
Algorithmus für Linefollower mit 5 Sensoren
fühlst. >Apropos: Über welchen Prozessor und damit welchen Assembler reden wir >eigentlich? AVR Assembler, Atmega 16 spess53 schrieb im Beitrag #1789442: > Wenn das alles ist, bist du bei ca. 0,1 von 100. Träum weiter. Spess, du bist aber der ärgste von allen^^ Grüße Bro
über den Analog-Digital-Converter eingelesen. Jeder an einen ADC-Pin und per Software abwechselnd einlesen. Was wür einen µC nutzt du denn? und was hat die Frage 32bitµC oder nicht damit zu tun? Ein 8bit-AVR langweilt sich mit der Aufgabe zu tode. 5x AD-Wandlung, winzig kleines bisschen rechnen, neue
-
Thread
Excel dokument einlesen und auf LCD Display wieder geben
überträgt dann diesen Text/Wert zum µC. Der µC wartet nur auf die Daten und steuert das Display. avr
Franzis gab es "Messen, Steuern, Regeln mit EXCEL" oder so ähnlich. Gooooogle hilft auch ;) avr
-
Thread
Serielle Übertragung
Dann wäre noch die Standard-Frage bei PORT C: JTAG abgeschaltet (Fuse, MCUCSR)?
Baudrate auf 300, im Sender nach jedem Byte eine Pause einlegen (und den Bytewert hochzählen). Auf dem AVR das empfangene Byte auf einen Port ausgeben (oder sonst irgendwo wo man den Wert sieht) und beobachten: Ist die Anzahl der korrekt empfangenen Bytes immer gleich? Wieviele Bytes sind hintereinander
-
Thread
2x 7 Segment Multiplexen mit ATmega32 - Grundlagenproblem
: http://www.mikrocontroller.net/articles/AVR-Tutorial:_7-Segment-Anzeige Die Anzeige ist an PortD, PD0 bis PD6 angeschlossen und ein Testprogramm was von 0-9 zählt funktioniert auch. Um mich an das Multiplexing heranzutasten habe ich nun
JTAG abschalten In deinem Brennprogramm gibt es irgendwo einen Punkt mit dem man die 'Fuses' einlesen und brennen kann Fuses einlesen JTAGEN abschalten Fuses brennen und dann sollte der Spuk vorbei sein. Hier noch einmal genauer http://www.mikrocontroller.net/articles/AVR_Fuses
-
Thread
Taktsignal einlesen mit USB
Abstand die teuerste Variante werden. Hier geht's los: http://www.mikrocontroller.net/articles/AVR-Tutorial http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial =)
Einfach die Signalleitung an einen Port-Pin hängen und schnell genug abtasten. Dann das Signal auswerten (in Zahlenwerte umwandeln) und diese Werte dann über USB an den PC senden. Gruß
-
Thread
µC Wahl für meine Dipmlomarbeit
, kann das. > Was könntet ihr mir da empfehlen. Welche µC kennst du denn schon? Auf einem AVR kann zb ein extern getakteter Timer das meiste deiner Aufgabenstellung vlllständig alleine in Hardware lösen.
Ende der Umdrehung kommen. Und genau da liegt der Hund begraben. Die 25ns schüttelst du mit einem AVR nicht mehr einfach so aus dem Ärmel.
-
Thread
Video DEcoder mit AVR
muss dein Haupt-AVR 1,5 MBit pro Sekunde einlesen, in 8er Gruppen sammeln und dann z.B. in das RS232-Senderegister schieben. Du hast also so ca. 10 Assembler-Befehle pro Bit bei 16 MHz zur Verfügung. Das sollte genügen
reichlich Zeit. Die Frage ist es ob du in 1 µs dein Pixel in einen Digitalwert gewandelt und ggf in den AVR bekommst. Bei einem einzelnen Bit kein Problem. Bei externer Wandlung und einem hohen Takt kannst du bestimmt auch Bytes über ein Port einlesen und für die Weiterleitung vorbereiten. Willst
-
Thread
Projekt für den NXP 8051 "Mischanlage" in Planung
Display, Matrix-Keyboard,Temperatursensor...etc) und wie du das mit den zur Verfügung stehenden IO-Ports lösen könntest. Es gibt nichts blöderes, als wenn du im Laufe der Realisierung draufkommst, dass die Wahl des uC vielleicht doch nicht ideal war. Da handelst dir dann mehr Probleme ein, als nötig wären
sinnvoll nacheinander ausgeben. Evtl. sollte noch eine "Glas voll" Erkennung eingebaut werden. avr
-
Thread
Programm für Testgerät
und "eine LED soll blinken" und noch bevor "und jetzt bauen wir uns ein Knight Rider Lauflicht" AVR-Tutorial AVR-GCC-Tutorial
Du deinen Taster nicht enptrellst. Infos dazu im Tutorial: http://www.mikrocontroller.net/articles/AVR-Tutorial:_Tasten
-
Thread
ADC- Wert in C-Programm einlesen
nicht anderst sein. Des weiteren gibt es hier ein Tutorial: http://www.mikrocontroller.net/articles/AVR-Tutorial:_ADC Was ist daran so schwer?
Datenblatt auch für den UART ein einfaches Beispiel Und hier auch: www.mikrocontroller.net/articles/AVR-GCC-Tutorial#UART
-
Thread
Anfänger Frage - Programmieren C/C++
möchte ich diesen in das > uint8_t buttons aufnehmen. Wie mache ich das? nun musst du den PIN einlesen, z.B. mit buttons = (PINB & (1<<PB0)); //buttons gleich 1 für Pin high, und 0 für pin low Ansosnten schau mal ins AVR-gcc-Tutorial.
integriere ich das mit Komma, Strichpunkt, and oder wie > geht das, dass er kapiert, dass er den Port auch mit einbeziehen soll, > definiert ist er ja oben schon. Nun, das ist ein längerer Prozess. Schritt 1: Die Grundlagen von C lernen Schritt 2: AVR Controller programmieren lernen Das
-
Thread
Lasst uns mal ein richtigen "HANDHELDEN" bauen! Gesperrt
Warum denn ein Exot (AVR32) und kein ARM?
>Laut meinen Recherchen ist dies bei einem AVR aufgrund seiner Harvard >architektur und der darausfolgenden getrennten Adressräumen nicht >möglich... Es ist weder ein AVR noch ein STM32 verbaut. Hier geht es um einen AVR32. Dieser hat auch
-
Thread
RFM02 keine Antwort
ATTINY2313 angeschlossen. Schaltplan, siehe Anhang. Mein Sourcecode+UART sieht so aus: [c]#include <avr/io.h> #include <avr/interrupt.h> #include <avr/pgmspace.h> #include <avr/eeprom.h> #include <util/delay.h> #include <stdlib.h> #define BAUD 2400UL #define UBRR_VAL ((F_CPU+BAUD*8)/(BAUD*16)-1) // clever runden #define RFM02_CS PB5 // AVR MOSI #define RFM02_SDI PB6 // AVR MISO #define RFM02_SCK PB7 // AVR SCK #define RFM02_IRQ PB0 #define RFM02_DDR DDRB #define RFM02_PORT
-
Thread
Wecker mit Solar und Ladeüberwachung bauen
und dass mit der ladungsanzeige is dass für einen anfänger ratsam? ich habe ein avr buch hier nur finde ich die beschreibungen da drinn ziemlich kacke.
liegt? ich schalte bei meiner schaltung das die spannungsversorgung des dcf77 moduls durch den avr ein und dann kommt das signal auf einen pin am avr.
-
Thread
welche Programmiersprache?
den sdcc-Compiler für 8051 des Jahres 2000 mit einer deutlich schlechteren Optimierung als der gcc-avr. Beim AVR habe ich keine Vergleichsmöglichkeit, weil mir da die Erfahrung in Assembler fehlt.
Basics. Aber nichts wildes. (Wie schon geschrieben, LED blinken, Lauflicht, Ausgabe auf 7segment. Ports einlesen und vieleicht noch so Dinge wie eine Stoppuhr und einfaches Voltmeter) Halt alles noch übersichtlich, aber wo die Grundfunktionen drin sind. Natürlich könnte man das auch direkt in C schreiben
-
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
Tastenabfrage bei Menüführung - Ideenblockade
schonmal! Ich muss die trotzdem erstmal komplett verstehen! Habe mir grad schon alles mögliche zum AVR im Internet gesucht, um zu sehen, was was bedeutet mit den Ports. Was ich zum Beispiel nicht verstehe: [c] #define REPEAT_MASK (1<<KEY1 | 1<<KEY2) [/c] und KEY0 ist definiert zu 0, KEY1 zu
und KEY2 zu 2 Das hat mit AVRs speziell nix tun. Das sind ganz normale Makros. Es wird der ganze Port eingelesen (Port B in diesem Fall: PINB -> AVR-spezifisch) und KEY1/KEY2 sind einfach nur (sprechende) Namen für die Eingänge (C allgemein). > Soweit ich mir das jetzt angelesen hab, heisst das beim
-
Thread
Portierung aus Bascom auf GCC
Portf.1 Green_led Alias Portf.2 Config Portb.5 = Output 'OC1A Port Nicht in benutzung Config Portb.6 = Output 'OC1B Port Config Portd.0 = Input 'Modem Interrupt 'Konfiguration der Interrupts
nun mit 8000000 definiert" #define F_CPU 8000000UL /* Interner Quarz */ #endif #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> /* in älteren avr-libc Versionen <avr/delay.h> */ #include <avr/sleep.h> #include "LEDS.h" //Initialisierung und Ansteuerung
-
Thread
Wie lange prellt ein Taster in der Regel?
als Tastendruck gewertet werden" filterst nicht. Daher ist der übliche Code zum entprellten Einlesen mein erstes Programmbeispiel, und hier noch mal für dich in Assembler IN a,KEY_PORT MOV key_new,a EOR a,key_old ; changed AND a,key_new ; pressed : : a enthält gesetztes
Geschlossensignal sofort und eindeutig als Tastendruck gewertet werden" filterst nicht. Durch das pure Einlesen (ohne "Filter") wird es trotzdem automatisch gefiltert, nämlich von der Integrat.dauer des uC-In-ports. (nur diese Zeit (einige ns) ist viel zu kurz)
-
Thread
GPS-Parser für XMEGA
zweidimensional sein? sollte so sein, vermutlich für 4 Satelliten. Aber.. der Aufruf GPGSV_Einlesen(GPGSV0, &GPS_Daten0) führt im AVR-Studio4 zu folgenden Fehler, da die Variable ein mehrdimensionales Array ist. warning: passing argument 1 of 'GPGSV_Einlesen' from incompatible pointer type void GPS_Einlesen(uint8_t Empfaenger){ if(Empfaenger == 0) { GPRMC_Einlesen(GPRMC0, &GPS_Daten0); // ok GPGGA_Einlesen(GPGGA0, &GPS_Daten0); // ok GPGSA_Einlesen(GPGSA0, &GPS_Daten0); // ok GPGSV_Einlesen(