-
Thread
winavr assembler .byte directive even oder odd ???
Ja, weil der Flash-Speicher der AVR-Architektur 16 bit breit ist und daher immer zwei Bytes in einer Speicherzelle hält.
danke habe ich mir auch gedacht da der assembler von avrstudio automatisch auffüllen würde mit .db danke
-
Thread
Probleme Tachosignal Auswertung
mich für euere Hilfe und verbleibe mit freundlichen Grüßen Balou Baer [c] #include <avr/io.h> #include <avr/interrupt.h> #define F_CPU 16000000UL #include <C:\AVR\warten.h> //#include <avr/bit.h> // Wird noch nicht benötigt. #include <C:\AVR\lcd-pollin-jumper.h> // Am Pollin Board feur // das LCD nur die Jumper DB4-DB7, R/W,E,RS stecken volatile uint8_t a=0; ISR(TIMER1_COMPA_vect) { a=1; } int main (void) { uint8_t b=15; uint16_t Tachosignal=0, Windgeschwindigkeit=0; DDRA=0b11110001
-
Thread
Fragen zu schrittmotor Treiber
Aufbau und die Programmierung auch einfacher und man kann jedezeit die Anzahl der Katzen auf bis zu 128 Stück erhöhen ohne dass man die SW nochmal umprogrammieren müsste. Beispiel für µC der geeignet wäre: STM32F042 - hat CAN Bus - hat Timer mit 4 Kanäle und negierte Ausgänge, womit man direkt eine
Bernd S. schrieb im Beitrag #5551383: > Du hast leider nicht ins DB vom L298N geschaut, der kann nämlich durch > parallelschalten seiner beiden Ausgänge 4A treiben. > > Diesen Strom braucht der Kollege höchst wahrscheinlich nicht So ist es. Den braucht er bei
-
Thread
Daten im Flash-ROM
an PORTB ausgeben ende: rjmp ende ; Endlosschleife daten: .db 0b10101010
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Programmspeicher_.28Flash.29
-
Thread
Direkte Messung von Wechselspannung mittels ADC
adc1_config_width(ADC_WIDTH_BIT_12); adc1_config_channel_atten(ADC1_CHANNEL_4, ADC_ATTEN_11db); while (1) { if (next_measure && digitalRead(Pin_Interrupt) && micros() > t_start + t_duration / 2 - 10 && micros() < t_start + t_duration / 2 + 0) { last_time =
Prozessor. Den lässt man einfach mit maximaler Geschwindigkeit im Kreis laufen und gut iss. Selbst ein AVR braucht nur wenige Prozent Prozessorleistung wenn er 15000 Mal pro Sekunde den ADC bedient.
-
Thread
AVR vs MSP430 und Linux
Anpassungen verwenden. AVRs lassen sich perfekt unter Linux programmieren, immerhin sind fast alle AVR-Tools unter Windows einfach Ports der Unix-Versionen, avr-gcc, avrdude, uisp, ... Programmieren über USB geht z.B. mit dem USBasp (http://www.fischl.de/usbasp/). HV-Programmer zur Rettung verflashter
Schaltungen einbetten und das in Echtzeit durchsimulieren. Ansonsten habe ich meinen "Wiedereinstieg" mit AVR's geschafft indem ich mir einen einfachen SP-12-Programmieradapter gebaut http://www.xs4all.nl/~sbolt/e-spider_prog.html Dazu brauchst Du eigentlich nur eine Lochrasterplatte wo Du eine DB-25-Buchse
-
Thread
Fragen Temperaturlogger (Hard-/Software)
Sektor nach dem anderen > mit Datum und dann meinem Temperaturwert füllen? wenn du das EEPROM im AVR meinst, das kannst du byteweise beschreiben
fuer den stromsparenden Betrieb, einen Uhrenquarz mit 32kHz. Dann als Speicher, nimm einen Atmel AT45DB321 Datenflash mit 4MByte. Das ist von der Komplexitaet her einfacher wie eine SD Karte, etwas komplzierter wie ein EEPROM. Und groessenmaessig auch dazwischen.
-
Thread
Softwareentwicklung im Maschinenbau
schildern. Es gibt eine Tabelle mit Buchungen, wo wir 1,2 Mrd Datensätze haben. Dort mussten wir ein neues DB Feld einführen. Rückwirkend mussten alle Datensätze mit einem nicht einfach zu ermittelnden Wert gefüllt werden. Dies passierte durch eine aufwendige PLSQL Routine auf einer Oracle DB. Nun das Problem
kann. Du kannst ja mal mit einem byte das Spiel betreiben: private byte a; .. public bool IsMinus128(a == -128) .. public bool Is0(a == 0) public bool Is1(a == 1) public bool Is2(a == 2) public bool Is3(a == 3) .. dann kannst du auch den internen Datentyp von byte auf int ändern, ohne
-
Thread
ATTiny3216 über UPDI Software-Reset auslösen
Mal ein Beispiel, Teil einer Kommunikation mit einem AVR128DB28: Auslesen der Device-Signatur: [code] ... 55 C8 59 55 C8 00 55 69 00 11 55 24 55 24 55 24 ... ^-> Sync ^->
Mit angehängtem Programm(auszug) erhalte ich den SIB (System-Information-Block) "...tinyAVR P:0D:0-3" von einem ATtiny412 zurück. Sie erkennen das Muster, und die Umsetzung von Pascal nach Python ist wohl klar.
-
Thread
Attiny 841 mit SPI ein Display ansteuern
> einfach ist, wozu dann soviel Aufwand. Ich frag mich beim SPI Interface, also die Hardware im AVR, oft, wo sie mir Arbeit spart. Die o.a. Routine kann ich simpel an andere Pins anpassen und sie läuft auf jedem AVR, ob mit oder ohne SPI Hardware. Nur eine Sache noch: Für Befehle muss man evtl.
(RS bzw. A0) und ihn danach wieder runtersetzen. Läuft jedenfalls ohne Änderung mit DOGM163, DOGM128 und anderen. Die Befehle selber sind je nach LCD Controller unterschiedlich, aber die Ausgaberoutine ist immer die gleiche.
-
Thread
(wieder) LCD mit HD44780
! Wieder mal ne Frage zu LCD´s mit HD44780 Chip! Muss gleich vorausschicken: Bin anfänger bez. AVR´s! Folgendes Problem: Habe mit so ein Display mit 16*2 zugelegt und kanns auch ansteuern. Jedoch nur die erste Zeile. Ich verwende zwar den BASCOMAVR-Basic-Compiler, aber nicht die eingebauten
erstmal E auf Hi setzte, und RS aus Lo, anschliesend, lege ich am Datenbus die gewünschte Addresse plus 128, z.B 192, also erstes Zeichen in der Zweiten Zeile. Danach geht E auf Lo (damit wirksam), danach E auf Hi und Datan an den Bus, z.B. 65 f. "A" und dann setz ich E wieder auf Lo. Wie gesagt, alles
-
Thread
AVR: Drehgeber-Verhalten bei sehr schnellem Wechsel
das mit der Mischung von char (vorzeichenbehaftet) und unsigned short gut geht. [c] #include <avr/io.h> #include <avr/interrupt.h> #include <stdlib.h> #include <stdio.h> #include "lcd-routines.h" #define PHASE_A (PIND & 1<<PIND5)//(PINC & 1<<PINC0) // PINC.0 #define PHASE_B (PIND & 1
Achja bzgl. Atomicity: http://www.nongnu.org/avr-libc/user-manual/group__util__atomic.html
-
Thread
LPM für (0xF040 * 2) reicht nicht mehr und nun?
meinem Bootloader gerne eine Einschaltmeldung ausgeben. Ich habe mir diese mit... INF_BOOT: .db 13,10,">>> Bootloader Version 1.0 <<<",13,10,0 in dem BOOTLOADER bereich abgelegt. Sie steht also bei 0xF040... Jetzt wollte ich mir jeden Buchstaben mit LPM holen und nun das böse Erwachen...
Ähm ja, also ich nehme AVR Studio und den ATmega128. Ich schau mal nach den von Dir gennanten Befehl, mal sehen. Danke, MfG AVRli...
-
Thread
Labor Netzteil
Ich hoffe, das Fertigprodukt sieht besser aus, als das hier: http://www.scriptkiller.de/pics/avr/netzteil/misc/4.jpeg :)
Da gibts den netten Parameter "Supply Voltage Rejection Ratio", der beim hochwertigen LM324 bei 110 db liegt. Da kommt dann weniger als 0 raus, oder? 110 dB ist übrigens Faktor 3.15e5 Oder hab ich nen Denkfehler? Alex
-
Thread
Problem mit MMC, bekomme immer illegal command
gescheites raus. Wenn ich sie doch nur mal initialisieren könnte wäre ich schon superhappy. Mein avr läuft mit 1 Mhz, und die SPI habe ich mit 128 vorteiler am laufen, also überrenne ich die MMC nicht, habe auch zu testzwecken überall grosse Pausen eingebaut - vergebens. Wenn jemand in den Code schaut
Hi, im DB der MMCs ist das irgendwo in einem Timing-Diagramm aufgeführt. Du kannst das Byte auch nach dem Command übertragen, spielt AFAIK keine Rolle. Hast du's denn jetzt nochmal ohne des probiert?
-
Thread
UART AT90CAN128-16AU von ALVIDI
konnte ich sehen, dass die Funktion send_char(); vollständig abgearbeitet wird. [c] #include <avr/io.h> #include <avr/interrupt.h> #include <stdlib.h> #include "uart.h" #include "value.h" /***** ISR USART RECEIVE ****************************************************/ ISR(USART0_RX_vect
wäre der Fehler im oder in der Elektrik zum MAX zu suchen. Serielles Kabel auch an Pin 34 & 36, DB S. 4 angeschlossen ? Ich finde die Beschreibung des DB's irreführend, wenn man auf Seite 2 schaut, steht bei PE0..1 Pin 9 & 10 auch RS232, wobei RS232 da nix zu suchen hat, denn das sind die µC-Pins
-
Thread
Studienarbeit CAN
Bearbeiten. Wie telefonisch besprochen schicke ich Ihnen erst einmal das Datenblatt des AT90CAN128. Die Programmierung wird, wie gesagt unter CodevisionAVR (http://www.hpinfotech.ro/html/cvavr.htm) in ANSI C erfolgen. Nötige Aufgaben sind - Anknüpfung an ein bestehendes CAN Protokoll - Umsetzung
Schau dir genau das DB vom CAN128 an. Die Struktur ist auf den ersten Blick erstmal verwirrend. Dann kannste dir nochmal die Atmel CANLib V3 ansehen. Die ist nicht schlecht zum Einstieg und die könntest du dann auch verwenden
-
Thread
Externer Interrupt
ich ja was. (Bsp-Programm im Anhang) Wenn ich nun mit einen Drähtchen den INT0 auf High setze (AVR_MT-128: EXT1:PIN2 (5V) mit EXT1:PIN9 (INT0) verbinden) sollte ich doch die Schleife verlassen und im Programm weitermachen!? LG, Joe.
Das abgespeckte DB ist wahrscheinlich für Marketing-Strategen, die können mit dem vollständigen sowiso nix anfangen... ;-) ...
-
Thread
Plattenspielerantrieb Konzept - Hilfe gesucht
Direktantrieb für Plattenspieler gebaut wurde - allerdings mit Sensoren. Diesen habe ich mit Hilfe von AVR447 (Appnote von Microchip/Atmel zur Sinusansteuerung) schon vor langer Zeit zum lautlosen Drehen ohne jedes Rastmoment programmiert. AVR447 benutzt optional einen PID Regler für externe Steuerung.
nie so tangential wie der Schneidearm läuft. Ein RIAA Filter, wo man froh sein kann, wenn man +-5 dB erreicht (nach Alterung der Filmkondensatoren). Man kann sich vieles schönreden, aber Präzision schaut heute anders aus. Aber Trotz allem, eine Schallplatte ist schon etwas schönes :-)
-
Thread
Was ist Fast PWM ? Gesperrt
mal die Folge um const uint16_t pwmtable_8B[8] PROGMEM = { // aus 0, 4, 8, 16, 32, 64, 128, 255 // wird 255-0, 251-4, 255-8, 251-16, 251-32, 251-64, 251-128, 251-255 }; umgedreht deswegen weil einige Nokia5110 high aktiv sind andere low aktiv.
nichts 0 oder 255 const uint16_t pwmtable_8B[8] PROGMEM = { // aus 0, 4, 8, 16, 32, 64, 128, 255 // wird 255-0, 251-4, 255-8, 251-16, 251-32, 251-64, 251-128, 251-255 }; und wenn es an einem Ende funktioniert und am anderen Ende nicht, nach dunkel hell kommt hört offensichtlich die
-
Thread
ATMEGA8 ISP trotz RSTDISBL dank BOD?
versetzen muss. Wenn Du den Reset-Pin als IO brauchst, dann brenn doch einfach nen Bootloader in den AVR. Damit funktioniert das Reprogrammieren immer. Und man muß nicht mehr darauf achten, ob sich die ISP-Pins mit der Applikation vertragen. Der Bootloader braucht nur (irgend) einen Pin. Peter
Peripherie zugleich zurücksetzen zu können), ist aber bei Standard-AVRs nicht vorhanden. Der einzige AVR, der sowas (aber mittels getrenntem Pin namens RSTON) hat, ist der ATmega128RFA1.
-
Thread
GCC Optimierung killt Funktion
Nase schrieb im Beitrag #4439039: > Im Prinzip geht sowas schon auf nem popeligen AVR in die Hose: Zwischen > Pin schreiben und zurücklesen muss eine Nop eingefüllt werden, Hallo Nase, Wo kann ich das nachlesen? Danke.
#4439029: > GPIO_SetBits(GPIOC,GPIO_Pin_1); > GPIO_ResetBits(GPIOC,GPIO_Pin_1); umgeschrieben auf AVR wird aber kein PIN eingelesen, PORTB |= 1; PORTB &= ~1; und mit Sicherheit ein Puls ausgegeben
-
Thread
Grafik-LCD
Hallo! Ich versuche gerade, ein Grafik-LCD anzusprechen. 128*64; KS0108-Controller; Datenblatt -> http://www.produktinfo.conrad.com/datenblaetter/175000-199999/187429-da-01-en-nlc-128x064csc_display.pdf Nun funktioniert das alles ganz nett, allerdings nur
mal anzeigen lassen, und BUSY ist dort dauerhaft auf "1". Merkwürdigerweise ist aber auch das Bit DB6 dauerhaft auf "1", was laut Datenblatt jedoch nie "1" werden kann. Ich hoffe hier kennt sich jemand mit LCDs mit KS0108-Controllern aus, scheint ja nicht der gängigste Typ zu sein. Mein Programm
-
Thread
Bug in WinAVR oder liegts an mir?
Hi, ich habe lange nach einem Fehler bei mir gesucht, aber mir scheint, avr-gcc (WinAVR 20090313) 4.3.2) macht es falsch. Ich habe den Fehler mit einem kurzen Programmstück provozieren können (s.u) Das Stück [code] if (tmp.x.sekunden) tmp.x.sekunden--;
ausliest. Außerdem habe ich die Kommandozeile auf folgendes Minimum herunter gebrochen: [pre] avr-gcc -S -mmcu=atmega128 -Os -fno-inline-small-functions -fno-split-wide-types bug.c [/pre] Offenbar liegt der Bug also darin, wie das -fno-split-wide-types implementiert ist und ist aber nur reproduzierbar
-
Artikel
Logic Analyzer-Projekt: Ideen zur Hardware
3.3V, 117 I/O, TQFP144 für ca. 10 Dieser bietet genug I/O um: 2x SRAM 256k x 16 (jeweils 18 AD, 16 DB, 3 Ctrl) 2x 8-bit-LA-Channel Ext. TriggerIn, TriggerOut SPI Bus zum AVR JTAG anschließen zu können. Der Grund für die 2 Speicherbänke liegen in den Möglichkeiten, sich den LA selbst zu konfigurieren
darin wird beschrieben, wie der CPLD mittels µC beschrieben wird. Dieses Thema wurde bereits im Forum "AVR Ethernet Platine" aufgegriffen. In diesem Thread kam man allerdings zu der Überzeugung, dass die XSVF Datei mit 45 kB für µC-Verhältnisse extrem groß ist und somit nur in einen ATmega128 (und größer
-
Thread
China SUPER Bauteile-Schnäppchen Thread [V3] Gesperrt
ganz verstanden habe warum da eine Auswahl der Eingangsspannung von 9 oder 12V angegeben ist laut DB fängt der IC bei 4,5V an zu Arbeiten. DB: http://www.consonance-elec.com/pdf/datasheet/DSE-CN3791.pdf
Oder das Pollin AVR-Net-IO Board, man waren das noch zeiten: https://www.pollin.de/p/bausatz-avr-net-io-810058 dazu eine 8 Kanal Relais Karte und man ist wieder bei den 35€ :D
-
Thread
I2C Takt Pullup abhängig? (AVRxDB)
Hallo, ich spiele gerade mit einem AVR128DB64 rum und probiere Formeln aus wie man den optimalen BAUD Wert für den I2C Takt berechnet für unterschiedliche Gegebenheiten. Dabei fiel mir auf, dass der Takt stark vom Pullup abhängig ist. Nur
bis zu 9 SCL-Pulsen, bis SDA = 1 ist und dann ein STOP senden. https://www.robotroom.com/Atmel-AVR-TWI-I2C-Multi-Master-Problem.html
-
Thread
Welchen Mikrocontroller für Millisekunden-Stoppuhr?
Man kann auch noch mehr tricksen. Den Resonator am "echten" AVR beim Arduino Uno ablöten und die 16 MHz vom Quarz, welcher den Hilfs-AVR für die USB-Verbindung treibt (U3) auf den Haupt-AVR legen. U3 Pin 2 (XTAl2) an ZU4 Pin 9 (XTAL1) Der Quarz hat vermutlich
lacht dich der 328er aus. Ernsthaft... Schau über deinen "Arduino" Tellerand hinaus - such dir das DB und leg los.
-
Thread
extrem schnell Wandeln ASCII-Hex nach Binär auf einem uC
Am schnellsten geht es sowieso mit einem Dual-Port-RAM und einem FPGA. Ach ja, der gemeine AVR hat ja kein RAM-Interface. Schade.
beginn: ld r16,x ld r17,y swap r16 add r16,r17 ret .dseg .org 0x230 tabelle: .db 0,1,2,3,4,5,6,7,8,9 .org 0x241 .db 10,11,12,13,14,15 .org 0x261 .db 10,11,12,14,14,15 MfG wb1
-
Thread
Servo am Mikrocontroller
/ //////////////////////////////////////// #include <stdlib.h> #include <inttypes.h> #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> #include <avr/sleep.h> #include <avr/pgmspace.h> #include <math.h> #include "lcd.h" #define XTAL 1000000 // [Hz] void schlaf(float
Wo finde ich denn die sig-avr.h ?? der mach mir beim compilen immer folgenden fehler: -------- begin -------- avr-gcc.exe (GCC) 3.4.5 Copyright (C) 2004 Free Software Foundation, Inc. This is free software; see the source
-
Thread
pwm multiplexen, geht das?
Kann es sein, daß das AVR Studio 4 die Daten die gesendet werden sollen nicht anzeigt? Gruß Florian
da sie mit weniger "Kabelsalat" auskommt. Dafür muß das Timing dann aber höher sein, was aber für'n AVR kein Problem darstellt. Gehen wir mal von 64 LEDs aus, monochrom. Per SPI an einem 8MHz AVR benötigst du also 128 CPU Takte um die LEDs anzusteuern. Würdest du aber eine Matrix von 16*4 LEDs aufbauen
-
Thread
Rust - ist das hier um zu bleiben?
unknown-linux-gnux32 x86_64-unknown-linux-musl x86_64-unknown-netbsd x86_64-unknown-redox [/pre] AVR soll auch unterstuetzt werden, sobald das AVR Backend fehlerfreier ist. Solange gibt es das avr-rust projekt. Der Buildprozess ist mit cargo super angenehm. Man hat eine gewisse Sicherheit was Rebuild-Sicherheit
Werkzeugen? Wie schwer tut man sich wenn z.B. der Chef man möchte doch z.B. von STM32 oder PIC/AVR auf ein Rust Entwicklungssystem umzusteigen? Wird PIC/AVR unterstützt? Gibt es Case Studies wie man ein existierendes erfolgreiches embedded Projekt (STM32/AVR/PIC) von C/C++ auf Rust umsetzt und
-
Thread
Selbstgebautes ARM9 Board
Vertraeglichkeit war sehr gut. Die Messwerte im fertigen Geraet waren im schlimmsten Fall unter 20 dB zwischen 30MHz-1GHz um den (EN55022, IEC/ CISPR22) Richtlinien zu genuegen. Ich hoffe meine Erfahrungen helfen Dir ein wenig um Dir dafuer ein gewissen Einblick im praktischen Sinn zu geben. mfg
Wissen, sondern auch Erfahrung. Backe erstmal kleinere Brötchen. Wieviel Erfahrung hast du mit AVR, ARM7? Was hast du daraus gelernt? Wieviele Platinen hast du schon gelayoutet?
-
Thread
sparsamster Mikrocontroller
verbraucht. Die Compiler Optimierungen sind auch extrem wichtig. Verwendest Du z.b. IAR auf dem AVR, kannst Du auf Performance optimieren was dann zu kürzeren Laufzeiten führt. GCC ist nicht immer optimale Wahl. Das kann auf einem MSP430 z.b. positiv sein, auf dem AVR negativ oder umgekehrt. Versuch
GROUP=P622;GROUPID=4244;ARTICLE=26540;START=0;SORT=artnr;OFFSET=16;SID=28aWSemawQARwAAC2g5Q8bc327d8db6e3ae0ad3a007d309f2651b
-
Thread
MLF Sockel + AVR's
Hi, kennt jemand ein billigen Haendler fuer MLF Sockel und die folgenden AVR'S als MFL Version: Mega128 u. Mega16) ? Reichelt vertreibt diese Teile nicht und C**** , S**** sind extrem teuer. Ich brauche auch keine 1000 Stk. Mfg Dirk
extrem hoch. Kennt jemand noch einen anderen Anbieter? Ich finde überall nur TQFP Gehäuse, aber die AVR's sollen auf Dev. Boards. Mfg Dirk
-
Thread
Ansteuerung 50W RGB Power-LED mit PWM
Christian S. schrieb im Beitrag #4936179: > Lieber möchte ich Farben per PWM eines > AVR steuern lassen. Leider scheint es nicht so einfach zu gehen. https://www.youtube.com/watch?v=JbQvsFE9yJQ
liefern "nur" 450mA laut DB. Das LED-Modul habe ich auf einen alten CPU-Kühler geschraubt. Im Kurzbetrieb bei Maximallast ohne Lüfter wird es handwarm. Zum Testen reicht das erst mal.
-
Thread
Audio ADC - DAC mit Mega8
Die folgenden Application Notes von Atmel könnten evtl. hilfreich sein: AVR335: Digital Sound Recorder with AVR and DataFlash AVR223: Digital Filters with AVR
der erforderlichen Genauigkeit rechnen zu können, um diesen auszuschöpfen, braucht es mehr als einen AVR. Ausserdem gibt dein Eingangssignal diese Auflösung schon nicht her.
-
Thread
BMP/JPEG/GIF/PNG nach C-Code konvertieren
Formal dermaßen einfach ist :-)) https://de.wikipedia.org/wiki/Portable_Anymap http://nongnu.org/avr-libc/user-manual/FAQ.html#faq_binarydata
Hallo Maco wäre der Aufwand groß eine Funktion für das asm Format einzufügen. .db