-
Thread
IQP500 Kamera vom S55 an AVR?
Schnittstelle einbinden ? Bei mir kommt nur : No module named serial Bin schon gespannt auf Deine AVR-Anbindung !
neuere Kamera IQP5 02.01, die etwas andere Befehle verwendet. Ich versuch das später nochmal mit nem AVR, vielleicht klappt das da besser.
-
Thread
GCC Compiler Optimierungen
Guten Morgen, fange gerade an mich mit C auf dem AVR zu beschäftigen. Folgendes Problem habe ich mit dem Code im Anhang. Es wird die Variable dcc_daten[] in der ISR und in main verwendet. Sobald ich den GCC den Code optimieren lasse, ist der Inhalt von
ich falsch? [c] #ifndef F_CPU #define F_CPU 8000000 #endif #define BAUD 19200 #include <avr/io.h> #include <stdint.h> //#include <util/delay.h> #include <util/setbaud.h> #include <avr/interrupt.h> #define L_FIFO 32 // größe des fifo tx buffer volatile
-
Thread
Gerät "bauen"
wird "letzteres" wohl doch ein Problem darstellen. Fang doch erst mal klein an, z.B. mit dem [[AVR-Tutorial]]. Ohne Vorkenntnisse gleich mit einem Projekt wie einem PDA loszulegen ist Unsinn.
gibts displays und displaymodule gleich mit knöpfen und den display und du hast sogar noch nen rs232-port oder sowas und da kannste sehr schön mit anfangen. wenn ich AVR verwenden würde hätte ich mir schon eins geholt. (nein, ich stehte in keiner beziehung zu dem shop, finde die preise aber okay und dafür
-
Thread
AVR: Strom & Span messen, Leistung errechnen, S0 Impulse verarbeiten und via LAN bereitstellen
hallo Community, zum ersten, ich neu hier und wünsch euch erstmal einen guten Abend. zum zweiten habe ich ein relativ großes Projekt, quasi auf der Zunge liegen, und brauche hilfe was die umsetzung via Mikrokontroller angeht. Ich habe mit Mikrocontroller bis jetzt noch nicht viel Erfahrung, ich hoffe aber, viel zu lernen, denn es ist ein sehr interessantes Thema. Aber ich fang wohl erstmal von vorn an. Ich arbeite in der Veranstaltungstechnik, wir erstellen mobile Stromversorgungen. Unser Netz ist fast immer Sternförmig aufgebaut, sprich eine zentrale Einspeisung und viele Abgänge
-
Thread
Hopf Clock Mouse --> Abfrageprotokoll
schreiben lassen, aber noch nicht getestet. Muss erst mal eine Clockmouse finden. [c] # Define COM port and settings (Use \\.\ notation for COM ports > 9) $portName = "COM1" # adapt to your clockmouse port $baudRate = 300 # Set baud rate to 300 $parity = [System.IO.Ports.Parity]::None $dataBits = 8 $stopBits = [System.IO.Ports.StopBits]::One # Endless loop while ($true) { # Open the serial port $serialPort = New-Object System.IO.Ports.SerialPort $portName, $baudRate, $parity, $dataBits, $stopBits $serialPort.Open
-
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
AVR asm code bewerten und kritisieren bitte!
machen muss als einfach nur eine >betimmte Anzahl Zeichen anzunehmen. Als erstes solltest du das Einlesen des NMEA-Strings im Hintergrund laufen lassen. Erst wenn der vollständig vorliegt werden die Werte extrahiert und angezeigt. Im Anhang mal ein Stück Code aus dem Programm zu dem hier: http:/
viewtopic.php?t=54671&sid=ccf684586a42004a666b0906cffdb25d hatte ich mit robo_wolf auch mal einen AVR-Assembler-Lernkurs angelegt. Ist vllt in Hinblick auf einen modularen Programmierstil interessant. mare_crisium
-
Thread
PCA9555/PCA9535 Hilfe
bleibt aber immer auf 0V. Egal ob sich ein Input ändert oder nicht. Ich möchte gerne den INT auf dem AVR INT0 hängen um die Ports nicht dauernd abfragen zu müssen. 2. Ich kann die Polarity der Eingänge nicht ändern. Das Einlesen der Bits vom Port funktioniert aber - das habe ich mit einem Taster überprüft
TWIM_Stop(); } return 1; }[/c] Einstellen und lesen würde ich dann so: [c] SetPort(I2C_Slave_Address, PORT0, 0xFF); SetPort(I2C_Slave_Address, PORT1, 0xFF); SetPolarity(I2C_Slave_Address, PORT0, 0xFF); SetPolarity(I2C_Slave_Address, PORT1, 0xFF); ReadPort(I2C_Slave_Address
-
Thread
Raspberry Pi: Messwerte im Webbrowser anzeigen
Vielen Dank für die Antworten. Sascha Weber schrieb im Beitrag #3970821: > werden die Daten die vom AVR kommen auf dem PI schon irgendwie > weiterverarbeitet? Die Daten die vom AVR kommen sind schon fertig, also Temperatur, Luftfeuchte, etc. Ich habe es mir so vorgestellt, ich schreibe auf dem
Bedarf zu aktualisieren. Für das Auslesen der Sensoren brauche ich allerdings Zugriff auf die GPIO-Ports, der meines Wissens nach nur dem root-User gestattet ist.
-
Thread
sensoren auswerten und fahren: Nebenläufigkeit?
das wäre ja dann so etwas wie Nebenläufigkeit, oder? Cool, das klingt gut. Ich werde mich da einlesen. Danke auch für den Code!
ich das ADIE-Bit lösche, kann ich Messungen vornehmen. Seht ihr einen Fehler? [c] #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <stdint.h> #include "motor.h" #define AUSWEICHENTFERNUNG 70 #define MESSUNGEN_ENTFERNUNG 3 uint8_t entf=0; ISR(ADC_vect)
-
Thread
Erste Hilfe mit ICC (Demo)
wie "sbi cbi outp inp" nicht. Kennt jemand die Befehle (korekte Schreibweise) mit der man Ports einlesen kann (z.B.Taster) Vielen Dank
Lade besser die aktuelle WinAVR runter und studiere die Online Doku.
-
Thread
ESP8266 - was kann die Platine?
Hallo, ich möchte meinen AVR-Controller an ein WLAN-Modul anbinden. Dazu habe ich folgendes Modul gefunden: ESP8266 Im Forum habe ich bereits den Artikel zur o.g. Platine gelesen, leider ist diese aber äußerst dünn und sagt
Anton F. schrieb im Beitrag #4453879: > ich möchte meinen AVR-Controller an ein WLAN-Modul anbinden. > Dazu habe ich folgendes Modul gefunden: ESP8266 Das ganze Netz ist mit den Dingern zugepflastert, da man so eine Platine für 2€ bekommt. Da gibts mehr Tips
-
Thread
Tasterabfrage beim Mega8
Schau doch mal hier: [[AVR-Tutorial: IO-Grundlagen]]
DDRB=0x00; //Taster > PORTB=0xFF; //Pull-Up > if (1<<PINB0) if (PINB & (1<<PINB0)) // Einlesen // und // Bit vergleichen
-
Thread
piso register per Software in c auslesen
da ich zwei kaskadierte Register, wie es im AVG Tutorial (http://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister) für Schieberegister angegeben ist, verwende. Trotzdem danke für deine Antwort
Problem nich umgehen wenn ich die Tasten wie im Tutorial (http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial) angegeben mit, der inline uint8_t debounce(volatile uint8_t *port, uint8_t pin) Funktion an den Eingängen abfrage? Das mit der Endkopplung sollte kein Problem mehr sein Danke
-
Thread
Schnelle Datenspeicherung
Ausgabemodus(Bild auf TV) mit 16MHz (direkt vom Quarz)getaktet und im Schreibmodus(neu Daten in Bildram) vom AVR. Umschaltung durch AVR. Entkoppelung der Datenbusse durch Wiederstände. Wenn man die Konstruktion umkehrt hat man einen Datenlogger, der 8 Digitale Kanäle mit 8MHZ (max. 20) abtasten und speichern
Auflösung und 400KHZ Abtastrate besitzt. Weitere 4 digitale Kanäle sind vorhanden. Anbindung über EPP Port zum PC vorhanden. (Dient zur Ultraschallverarbeitung von Heuschreckengesang).
-
Thread
Aller Anfang beim ARM - Controller.
die Tendenz offensichtlich alles auf die 32-Biter von ARM-Cortex. Ich wollte mich jetzt da mal einlesen. Ich hab schon einige Erfahrung mit 80x51,PIC und ATMELS gemacht. Soviel ich weiß ist ATMEL beim ARM auch irgendwie unterwegs. Ich wollte wie bei den ATMELS auch etwas wie den AVR Dragon mit einer
die man braucht (Preis ?) oder kann man hier auch auf z.B. gnu Compiler tools ausweichen wie bei AVR-Studio ? Gruß Uli
-
Thread
Schaltung spinnt nach Einbau in Gehäuse (PP-Rohr)
hübsch gemacht... Timer1 ist für das LED-Geflacker, habe ein paar Sachen gekürzt (...) #include <avr/sleep.h> #include <avr/power.h> #include <avr/interrupt.h> #include <avr/io.h> #include <util/delay.h> #include <stdlib.h> #define F_CPU 1000000 #define button_down (!(PINB & (1 << PINB2)
der Isr Flankeninterrupt disable und Timer starten Nach 20ms Timer stop. Portlevel checken, wenn Port low, dann Taste gedrückt, Flankeninterrupt auf steigende Flanke programmieren. Wenn Port high war, war Taste nicht lange genug gedrückt - Flankeninterrupt auf fallende Flanke programmieren. Wenn
-
Thread
mimalistischer Aufbau um einen Atmega168 zu flaschen
soll den das für ein Murk sein? Man benötigt zum Flashen übrigens keinerlei Zusatzbauteile außer dem AVR, den Leitungen und dem Steckverbinder. Wenn man schon so was tolles baut - ich hoffe das auf der linken Seite der Audiokupplung ist neben dem Widerstand die 100nF Kapazität. Die Lötstellen sind
brilliant! Ja. äh. Wie löst man nun das Henne-Ei-Problem? Wie bekommst du den Audio-Bootloader in den AVR, ohne einmal einen "echten" ISP bemüht zu haben(ohne den Kram fertig kaufen zu müssen)? mfg mf
-
Thread
Hilfe bei der Programmierung eines Adventskalenders
habe einen > AVRispMKII wie eingangs erwähnt. Und das Brennen eines Arduino HEX files auf einen AVR überfordert dich ?
man I2C, auch da gibt es funktionierenden Code, z.B. von Fleury (http://www.peterfleury.epizy.com/avr-software.html?i=1).
-
Thread
LCD Keypad Shield zeigt nichts an
und getestet, dabei auf alle Arduino-spezifischen Befehle verzichtet, so dass es ganz normal unter AVR-GCC laufen sollte. Funktioniert's?
verwenden möchtest, mußt Du den ADC an A0 direkt abfragen, dazu gibt es hier auch ein Tutorial, wie auf AVR-Controllern der ADC abgefragt wird: http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/Analoge_Ein-_und_Ausgabe#Der_interne_ADC_im_AVR
-
Thread
Auslesung von DS1307 RTC
DIMMER5 #define SET_DIMMER6 PORT_DIMMER_56 &= ~(1<<PIN_DIMMER6) // set DIMMER5 #define CLEAR_DIMMER6 PORT_DIMMER_56 |= (1<<PIN_DIMMER6) // clear DIMMER5 // 3,3V und 5V auf SPI Stecker #define PORT_SPI_CON_POWER PORTE
PORT_RELAIS |= (1<<PIN_RELAIS1) // set Relais1 #define CLEAR_RELAIS1 PORT_RELAIS &= ~(1<<PIN_RELAIS1) // clear Relais1 #define SET_RELAIS2 PORT_RELAIS |= (1<<PIN_RELAIS2) // set Relais2
-
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
7 Segment Anzeige auslesen / MCP23017
, 0, 0, 0, 7, 1, 0, 0}; anzeigewert = seg2int[port_einlesen() & 0x1f]; // Eingangsvektor als Index nehmen [/c] Bei r und c wird der Wert 99 zurückgegeben. > um Bauteile für 1€ zu sparen. Man gewinnt nichts, wenn man 7 Segmente nimmt und den 1
Besser ist das, anstatt zu raten, wie oft man abfragen muß. Und vor allem: wann man die Segmente einlesen muss.
-
Thread
Einzelnen Pin auslesen
(an dem hab ich die > Brücke gesteckt gehabt) ausgelesen PORTC dient zum Setzen (nicht zum Einlesen) der Ein-/Ausgangspins. Wie es richtig geht steht hier: http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Zugriff_auf_IO-Ports
So hier mal der Code: [c] #include <avr/io.h> #include <stdint.h> int main() { DDRC=0x00; DDRB = 0xff; while( 1 ) { PORTB = PORTC; } return 0; } [/c]
-
Thread
Bit-Banging UNI/O-Bus EEPROM mit Arduino-Uno [Fehlschlag]
zu nem Pull-Up Resi geändert. Da ein NoSAK ja kein low-to-high oder high-to-low ist gibt mir das einlesen ja immer den vom Pullup manipulierten Wert wieder. Das heisst selbst wenn was nicht stimmt und anstelle eines SAK ein NoSAK kommt - bekomme ich ja auch nur ne 1. Ist dementsprechend ein Pull-Down
komplett durchgelesen - wo erkennst du denn das mit der Richtungsumschaltung? Oder meinst du das Einlesen des SAK (Slave Aknowledge Bit) ? Also das ich ab der Stelle einlesen anstatt ausgeben muss? Ein festes Timing gibt es auch nicht. Via Start Header Pulse synchronisiert der Slave mit dem Master
-
Thread
"keine Änderung" des ADC soll zu Ereignis führen
ich hab sowas ähnliches mal mit Hilfe der einfachen linearen Regression gelöst: - Werte in array einlesen - Regressionsgerade berechnen - die Steigung dieser Geraden mit Schwelle vergleichen Gruß Willi
Hier Fehlermeldung + hier der Code: [c] #define F_CPU 1000000UL /* 1MHz */ #include <avr/io.h> #include <util/delay.h> #include <avr/io.h> #include <avr/interrupt.h> #include <stdlib.h> //Variablen für die Zeit volatile unsigned int millisekunden; volatile unsigned int sekunde
-
Thread
muss man unbedingt entprellen?
kurzen Spikes/Störungen, einen > vollwertigen Tastendruck erkannt zu haben. Erinnern wir uns: Der AVR hat seinen Pullup an, also liegt sein Eingang immer an Vcc. Die Spike/Störung müßte somit ei- ne gegen Masse sein, und damit die Schutzdioden des AVR das als 0V erkennen, muss die Spannung < 0,5V sein (Vcc=5V). Wenn man die Taster wirklich nur zwischen Masse und das AVR Bein- chen stöpselt, ist mir kein physikalischer Umstand bekannt ( außer Wegfall der Versorgungsspannung natürlich), der zu einer Fehlfunktion beim Entprellen führen würde. Das AVR-Beinchen liegt
-
Thread
Tasten entprellen per Software
Zeugs hast... Das ist aber kein Grund sich so blöd anzustellen! Es nennt sich vollständig: Arduino AVR Core. Hier auch gerne ein Link dahin, damit du dich höchst persönlich kundig machen kannst... https://github.com/arduino/ArduinoCore-avr
funzt mit normalen IO Ports und braucht keinerlei zusätzliche Hardware.
-
Thread
Impulse zählen
An einen Portpin anschliessen,diesen als Eingang schalten und dann den Port einlesen.Wenn er sich ändert wird um eins hochgezählt: AVR_Beispiel: [code] i = 0; while(1 == 1) if( x!= PINA) { x = PINA; i++; } [code/] Wie du das Signal an den
Mikrocontroller passen.Sonst wird nix eingelesen(3V Signal auf 5V Eingang) oder dir geht u.U. der Port kaputt. Deshalb: 1.Welcher Mikrocontroller? 2.Was für ein Signal? (Wo kommt´s her,welche Spannung)
-
Thread
pwm regeln
=> Interrupt bei Überlauf (TIMER0) ldi temp,(1<<toie0) out timsk,temp ; Port B als Ausgang konfigurieren ldi temp,0b11111111 out DDRB, temp ; Port B auf L schalten ldi Ausgang, 0b00000000 out PORTB,AUSGANG ;Interrupts freigeben sei ;---
--------- TIM0_OVF: push TEMP ; Sichern von "TEMP" im Stack in TEMP,SREG ; Einlesen des SREG push TEMP ; Schreiben von SREG im Stack (KOPIE) ;Timer0-Startwert setzen out tcnt0,TSW ; Port B umschalten com AUSGANG out PORTB,AUSGANG pop
-
Thread
ATmega8 Spannung messen, aber wie ???
Hallo, aja - mit dem Bsp. kannst du nur den ADC-Wert einlesen. Daraus kannst du aber leicht die anliegnde Spannung errechnen: bei einer Auflösung von 10 Bit: U = (ADCwert / 1023) * Uref bei einer Auflösung von 8 Bit: U = (ADCWert / 255) * Uref mfG
10-30sek (auch über Poti einstellbar) ein Relais geschaltet werden, was natürlich an einem freien Port des ATmega 8 angeschlossen ist. Ist das so überhaupt möglich, oder gibt es an einer Stelle Probleme ??? Schau Skull
-
Thread
Servo C577 mit Attiny13 ansteuern (Assembler)
Wenn Du mit relativ neuen AVRs arbeiten willst, solltest Du Dein AVR-Studio schon mal auf *AVR-Assembler 2* umschalten. Ich hoffe, Du hast eine halbwegs aktuelle Version des AVR-Studios und wurschtelst nicht mehr mit einer 3.5x er Version herum. ...
Also ich bekomme beim Assemblieren diese Meldung: [pre] AVRASM: AVR macro assembler 2.1.9 (build 90 Jul 5 2006 11:06:16) Copyright (C) 1995-2006 ATMEL Corporation E:\AVR\FORUM\t13servo\t13serv1.asm(15): Including file 'C:\Programme\Atmel\AVR Tools\AvrAssembler2
-
Thread
5V zu 5V Optokoppler, welchen nehmen?
Darf man überhaupt 16 Optokoppler direkt an die Ports des Mega32 anschließen oder wird dann die Stromaufnahme zu hoch? Habe beim 6N137 gelesen das einer schon 15 mA verbrennt. Das wären dann 240 mA und der Atmel kann doch nur 200mA ab oder? Wenn man dann
@ Lutz M. (luttenhamburg) >Darf man überhaupt 16 Optokoppler direkt an die Ports des Mega32 >anschließen oder wird dann die Stromaufnahme zu hoch? Wolltest du nicht Signale von aussen ZUM AVR leiten? Dann spielt die Stromaufnahme keine Rolle, die mus die Aussenschaltung liefern
-
Thread
PIC, String aus dem Flash ausgeben
ein bisschen mehr mit dem PIC auskenne, noch so vervollständigen wie meine LCD_Anzeige Routinen für AVR und 89Cxx51 bzw 89S51. Die laufen bei mir schon lange. D.h. automatische Zeilenumschaltung, Erkennen von RETURN, wahlweise oberer oder unterer Nibbel eines PORT für die 4Bit Daten, etc. Dabei habe
dann werden die Variablen im Hauptprogramm dahinter gehängt. Weiterhin viel Spass beim PICen oder AVRen (viel einfacher) mfG frewer
-
Thread
Eingänge am ADC wechseln
Tippfehler. Gemeint war natürlich das AVR-GCC-Tutorial
nurnoch auf Spannungsänderungen am ADC2 reagiert. ADC0 ist ihm generell egal, sobald ich mal den Port umschalte.
-
Thread
Hilfe gegen Bares
und so richtig der Hit ist das natürlich auch nicht. main.c [c] #include "lcd.h" #include <avr/io.h> #include <util/delay.h> #include "functions.h" #include <avr/interrupt.h> #include <avr/eeprom.h> //global vars uint16_t EEMEM eeKM; uint16_t EEMEM eeM; uint16_t EEMEM eeDKM;
iM-=1000;} if(dzmflag==0)iRPM=0; } return 0; } [/c] functions.c [c] #include <avr/io.h> #include <util/delay.h> #include "lcd.h" #include <stdlib.h> #include <string.h> #include <avr/eeprom.h> #include "functions.h" #include <avr/wdt.h> #include <avr/interrupt.h> void
-
Thread
PLL per Software
Joar das ist wurscht. Ich würde aber eher die Feldstärke mittels ADC einlesen das Stopsignal ist nix fürs finetuning
@ Axel War das ne Fangfrage, wenn man den Avr abschaltet dann laufen weder Timer noch Compare Unit also kann er auch den Port nicht ein ausschalten und somit auch nicht tunen oder seh ich das falsch? @ Ernst meinst du 47µ würde auch noch gehen
-
Thread
LCD-Initialisierung
> dann lade ich mir das beispiel mal herunter! http://www.nongnu.org/avr-libc/user-manual/group__stdiodemo.html Hat aber auch noch Bugs, geht so nicht mit jedem Controller. Ist in der CVS-Version repariert. > ich würde das gerne selber hinbekommen, Ja klar. Ich
nimmst danach E zurück. Mir ist aber so, als würde der HD44780 mit der steigenden Flanke von E einlesen, also müsstest du zuerst das Byte ausgeben und dann E setzen. So mache ich es, ob man's so machen muss, müsste ich jetzt im Datenblatt nachlesen.
-
Thread
Wie Display beschalten und Temperatur ausgeben?
Ich denke hiermit bin ich gut beholfen, oder? http://www.mikrocontroller.net/articles/AVR-Tutorial:_LCD
#2890903: > Ich denke hiermit bin ich gut beholfen, oder? > > http://www.mikrocontroller.net/articles/AVR-Tutorial:_LCD Nicht für dein Grfaik-LCD. Aber grundsätzlich wäre ein reines Textdisplay einfacger - und dafür ist dann auch dieses Tutorial.
-
Thread
usbprog Fans aufgepasst: JTAG USB (OpenOCD, ARM7)
Also AVR-Programmierung ist kein Problem, nur bei JTAG mach ich gerade meine ersten Schritte ;) Werd mich wohl oder übel erst einmal richtig einlesen müssen, bevor ich dir da helfen kann glaub ich. Sonst
Interface ready![/pre] Aber danach geht nichts mehr weiter und ich kann mich auch nicht per telnet auf Port 4444 verbinden :( Hat wer nen Vorschlag? ^^ thx Martin
-
Thread
µC mit Iphone / Ipad kommunizieren lassen
- Bluetooth unterstützt zum Bedauern vieler Entwickler in der Apple-Firmware kein SPP (Serial Port Protocol), was leider viele einfache Anwendungen ausschließt. - Über die Schnittstelle (DockConnector) ist eine serielle Kommunikation möglich. Stichwort Indicator-Pin (21) und Datenpins (12/13)
> Sollten sich alle per iOS ansprechen lassen. Über die Anwendung im > einzelnen einfach mal einlesen. HTTP-Basiert ist noch einfacher. Bild machen und speichern...
-
Thread
AVRStudio Simulator + USART (Atmega16)
Hi AVR-Studio->Help->Simulator->Known Issues MfG Spess
view etc is not possible. Terminal I/O window is not implemented. This feature is available in AVR Studio 3.xx." Ah ok, danke :). Hätte ich allerdings gleich mal noch die nächste Frage. Im Tutorial und an mehreren anderen Stellen wird das Einlesen von einem "Zeichen" immer durch diese while
-
Thread
Adresslatch für AVR in CPLD fehlerhaft?
so hoch die die AVR-Frequenz REICHT NICHT!! Das Einlesen geht ganz einfach in meinem Fall [c] process (RESET, CLK) begin if (RESET='0') then -- hier Reset elsif (rising_edge(CLK)) then if ALE = '1'
MMB aber intern selber zwei Register speichert und demzufolge auch die komplette Addresslogic des AVR's benötigt kann für euer Projekt einiges eingespart werden. entity MMB is port( AVR_AD: inout std_logic_vector(7 downto 0); AVR_AH: in std_logic_vector(7 downto 0); AVR_ALE,AVR_RD
-
Thread
ADC Messbereich verschieben nach 3,0 - 4,2V
einzuschalten und die Akkuspannung mit einem 1:2 Spannungsteiler und Abblockkondensator an den ADC Port zu führen. Das ergibt Wertebereiche von 3/2/2,54*256= 151 und 211. Wenn dir die Auflösung davon zu gering ist, kannst du auch ne differentielle Messung machen indem du 3V an einen ADC Port hängst
> THOR schrieb: >> kannst du auch ne >> differentielle Messung machen indem du 3V an einen ADC Port hängst und >> deine Akkuspannung an einen anderen. > > der Beitrag wird zu Unrecht ignoriert Er wird nicht ignoriert, nur muss ich mich hier erst noch genauer einlesen, bis ich genau verstehe
-
Thread
Servo ansteuern
Wahrscheinlich werd ich mir mal den Funktionsumfang von Bascom angucken um zu sehn, was mir entgeht. ;-)avr-gcc kann das nicht, oder? Mfg und3rt4ker
Wahrscheinlich werd ich mir mal den Funktionsumfang >von Bascom angucken um zu sehn, was mir entgeht. ;-)avr-gcc kann das >nicht, oder? Meiner kann es... Allerdings habe ich die Funktion selber programmiert und kann den Timer auch noch für andere Sachen benutzen (wie das Einlesen eines PWM-Signals und
-
Thread
Basketball Scoreboard selber bauen (Anfänger)
begreifen ist Leich zu begreifen dürfte Arduino sein. Wenn du aber einen "richtigen" µC willst, kann ich AVR oder PIC empfehlen, die sind für dein Projekt beide geeignet. Zum AVR gibt es hier im Forum ein Tutorial, zum PIC hier: http://pic-projekte.de/wordpress/ Für die Anzeige brauchst du min. 7+8 (Multiplexing
Jan Mustermann schrieb im Beitrag #3501618: > SainSmart MEGA2560 ATmega2560-16AU AVR Board + USB Cable For Arduino UNO > R3 Von den beiden würde ich dieses wählen, weil beim ersten viel dabei ist, das du für dein Projekt nicht brauchen wirst.
-
Thread
LCD initialisieren
dem Sprungbefehl "rcall WaitBusy" das BusyFlag des LCD abgefragt. Der Datenbus des LCD hängt am PortA (8bit) und und E,RW und RS des LCD an PortC des AVR. Takt ist 4Mhz 1 WaitBusy: 2 ldi R16, 0x00 ; 3 out DDRA, R16 ;PortA als Eingang konfiguriert 4 cbi PortC, RS ;Register-Select
R16 einlesen 11 cbi PortC, E ;Enable-Impuls beenden 12 nop ;Zeitverzögerung warum auch immer 13 sbrc R16, BF ;wenn bit7 in R16 0 ist überspringe den nächsten
-
Thread
ATMega Flash wird langsam knapp. Upgrade o. Plattformwechsel?
nicht. Da hast Du nur einen Satz von Adressen von 0 bis 4G-1, und da ist alles drin: Flash, RAM, IO-Ports usw. Ist damit einfacher zu programmieren und ermöglicht es auch, Code aus dem RAM ablaufen zu lassen. Das ist auch etwas, was bei AVR grundsätzlich nicht geht. fchk
Assembler, und auch nur dort, wo es ULTIMATIV nötig ist. https://www.mikrocontroller.net/articles/AVR-GCC-Codeoptimierung Die Grundlagen gelten ganz allgmein. https://www.mikrocontroller.net/articles/AVR-GCC-Codeoptimierung#Was
-
Thread
7 Segment digitaluhr
Hallo, ganz einfach, zähle die I/O-Ports, mit Punkt brauchst Du 8 I/O je Segment also bei 6 Stk. sind es 48 Stück oder Du legt alle Segment paralell also 8x I/O und taktes sie duch mit gemeinsame Anoder oder Kathode also 6 Stk. macht gesamt 14 I/O-Pins. Als Erweiterung kannst Du aus 3 Ports auch wieder 8 oder 14 I/Os machen z.B. mit 74HCT4094(96) Schieberegister. Gruss A. Arndt
-
Thread
uP anzahl inputs erhöhen
pro Print nehmen. Die haben jeweils 24 konfigurierbare I/O Pins. Diese werden dann an einem 8bit Port angeschlossen. Die 12 Chipselect Leitungen kann st du entweder separat über das Kabel führen oder mit einem Multiplexer aufdröseln (HC4514 , HC237). Falls du einen AVR mit XRAM Interface (mega162,mega64,mega128,mega8515 usw.) nimmst, dann kannst du damit die Abfrage oder das Setzen eines 8bit Ports mit einem einzigen Assemblerbefehl bewerkstelligen. Die zusätzlichen Portpins werden dann einfach wie RRAM Adressen angesprochen. cu Hauke