-
Thread
Initialwert von globalen Variablen zur Laufzeit verwenden
Maxe schrieb im Beitrag #6061777: > Für den AVR ist ein LDI, welches ein 8-bit Wert enthält, als > Maschinenbefehl genauso 16bit lang wie ein LDS oder LPM, Wobei LDS ein 32-Bit Encoding hat auf den meisten AVRs. Auf Reduced Tiny ist LDS zwar
21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
-
Thread
Professionelle Entwicklung für AVR-Controller (Linux)
Professionell und AVR war mal, aber mittlerweile eher mit 32-bittern, d.h. in meinem Falle STM32-Familie. In anderen Firmen ganz ähnlich. AVR wird nur noch dort verwendet, wo es auch Sinn macht bzw. wo die Entwickler darauf bestehen. Preislich schlagen die 32-bitter die 8-bitter so ziemlich in allen Fällen. Beispiel: STM32F030C8T6TR (48 MHz, 64kB Flash) bei mouser schon ab 1-er Stückzahl unter einem Euro... Thema Simulatoren: oft Zeitverschwendung. Nimm
-
Thread
C++ Codeoptimierung Tastatureingabe
Das war sogar meine Studienarbeit, Vergleich von 8 C Compilern für 8088. Und heute schau ich bei AVR und STM32 hin und wieder nach dem Assembleroutput und bin ähnlich erschrocken.
Wilhelm M. schrieb im Beitrag #6058833: > Da hast Du in 30 Jahren nichts dazugelernt Falsch, die AVR und STM32 sind aktuelle gcc, so strohdoof wie vor, 30 kommt hin. Compilerbauer haben nichts hinzugelernt.
-
Thread
USB-AUDIO-MIDI-Controller in eigener Elektronik benutzen
Gleich vorweg: Ich kenne mich weder mit USB noch mit RasPI, Arduino oder AVR genauer aus und brauche etwas Unterstützung: Ich würde gerne solche USB-Controller mit Reglern und Tastern zum Steuern von Pseudoanalogwerten und Schalterzuständen nutzen. Die externen Knöpfe sollen
und die alle verkettet, also seriell verknüpft. Jeder STM32 erhält einen seriellen Eingang und kann seine eigenen Daten über FIFOs einmischen durch Multiplexing. Der letzte dekodiert dann das MIDI und setzt die IOs. Durch die Anstöpselung der MIDI-Controller
-
Thread
Absolutwertgeber (absolute rotary encoder) mit Arduino oder ESP32
bin auf der Suche nach einem Absolutwertgeber. Ich möchte mit dem Mikrocontroller (Arduino oder ESP32) die Drehposition bzw. den Winkel einer Lenkstange (ca. 3 Umdrehungen) ermitteln. Als Spannung steht mir 5V oder 12V zur Verfügung. Ich habe an einen Multiturn mit min. 10 Bit Auflösung oder einen
oder vllt magnetisch. Für den Sensor habe ich etwa 200€ eingeplant und möchte möglichst einen IP64 Schutz. Ich kenne mich mit diesen Sensoren aber überhaupt nicht aus. Daher weiß ich nicht worauf ich achten muss und was von meinen Kriterien vllt wichtig oder unsichtig ist. Ich habe z.B. Sensoren
-
Thread
Schnelle Modulo-Operation mit variablen Parametern
Laufzeitbibliothek keine passenden Divisionsroutinen mit ungleicher Operandenlänge (also bspw. 16/8 oder 32/8) verfügt und stattdessen auf eine 16/16- bzw. 32/32-Division zurückgegriffen werden muss. - Wenn der Dividend nur einen Teil des möglichen Wertebereichs nutzt (bspw. nur 9 von 16 Bit), so
abschneiden. Du kannst es ja mal testweise ausprobieren, am besten auf einem einfachen Prozessor wie dem AVR, wo man noch leicht die Taktzyklen zählen kann.
-
Thread
Auswahl I2C Bus Adresse durch DIP umschaltbar
&=~(1<<PINA1)) // A0 auf GND Dip Schalter { Adress_G = Adress_1; // 0x32 } ergibt den Fehler: expected expression before '=' token
Seiten mit auskommentierten Teilen. [c] #define F_CPU 8000000 // CPU clock in Hz #include <avr/interrupt.h> // dient zur Behandlung der Interrupts #include <avr/io.h> // Integer-Definitionen #define I2C_DATA_INTERRUPT 0x80 // 0x80 #define I2C_BUS_COLLISION 0x08 // 0x08
-
Thread
Parallel to SPI Interface-Chip?
Bibliothek leider nicht, dann hätte ich gewußt was ich vor mir habe. Das CPLD ist gerammelt voll, 32 von 32 Makrozellen benutzt, 2 Pins noch frei. Altera MAXII insistiert darauf die Schaltung als JPG exportieren zu müssen. Gruß, Holm
Eine Suche bei gockel nach "Z80 CP/M ESP8266" förderte auch prompt einen CP/M Emulator auf dem ESP32 Prozessor zu Tage.... Ansonsten ist das mit Deiner Verwunderung gar nicht selten. Gerade wenn man mit ollen Z80 spielt stößt man ständig auf Designs bei denen irgend ein AVR als "remote iüber USB
-
Thread
ATtiny85 (AVR Atmel 8bit), Linux, Microcontroller, C/C++
wirklich weiter. Allerdings ist das unter Linux wirklich kein großes Problem. Die Pakete gcc-avr binutils-avr avrdude (zum Flashen) avr-libc gdb-avr sollte man in jeder Distro so oder so ähnlich benannt finden. Dazu kann man ein eclipse mit eclipse-cdt und avr-plugin installieren, wenn
> weiter. > > Allerdings ist das unter Linux wirklich kein großes Problem. > Die Pakete > gcc-avr > binutils-avr > avrdude (zum Flashen) > avr-libc > gdb-avr > sollte man in jeder Distro so oder so ähnlich benannt finden. So sieht es aus. Als IDE geht natürlich auch etwas schlankeres als
-
Thread
Windows-Lizenz plus Installations-DVD - geht das so?
man sowas üblicherweise? Ist sowas hier korrekt? https://www.ebay.de/itm/Windows-7-Professional-32-Bit-DVD-COA-Aktivierungsschlussel-Win-7-Pro-Deutsch https://www.ebay.de/itm/Windows-7-Professional-32Bit-DVD-Win-7-Pro-Lizenz-Key-Product-Key-TOP Merci
Sorry, jetzt sollten die Links funktionieren: https://www.ebay.de/itm/Windows-7-Professional-32-Bit-DVD-COA-Aktivierungsschlussel-Win-7-Pro-Deutsch/372800317989? https://www.ebay.de/itm/Windows-7-Professional-32Bit-DVD-Win-7-Pro-Lizenz-Key-Product-Key-TOP/123533439090?
-
Thread
MIDI mit AVR erzeugen
Versatz. Da Note-On Messages aus 2 Bytes bestehen, ist das im besten Fall 2 x 10 x 1/31250s = 0.64 Millisekunden. Also nicht wirklich hörbar. Zusätzlich gibts noch die Möglichkeit bei mehreren Noten das Command Byte nur einmal zu senden, damit wird für die Noten nach der ersten Note nur noch 1
Mit 8-Bit-µCs kann man mehr machen, als sich kaum ein Dödel mit einem 32-Bit-Schnurpel bei GHz-Takt vorstellen kann. Aber selbst das uralte MIDI braucht etwas RAM. Nicht nur 128 Byte, auch 1024 Byte sind zu knapp. 10 K wären schon ein Anfang, aber die findeste nun
-
Thread
Fork: avr-libc version 3, für xtiny
Wenn ich demnächst den von dir präferierten Multilib-Umbau mache (einschließlich der Sachen für 64-bit-FP), möchte ich die major version number der avr-libc hochziehen. Es ist zwar streng genommen theoretisch keine API-Änderung damit verbunden (für die wir eigentlich die major # mal vorgesehen hatten
/releases/tag/avr-libc-2_2_0-release https://avrdudes.github.io/avr-libc/
-
Thread
Debuggen AVR DRAGON Variable ?
Frage, und zwar habe ich nachfolgenden Code hier getestet. Jetzt will ich mir im Debugg Mode mit dem AVR Dragon in der Watchlist die Variable [c]int32_t val = 0;[/c] anschauen, geht das Überhaupt ? ich meine, wenn ich wärend ich im Debbug Modus bin und am Encoder drehe ? Denn, wenn ich die Variable
power on state enc_delta = 0; TCCR1B = (1<<WGM12) | (1<<CS11) | (1<<CS10); // CTC, prescaler 64 OCR1A = (uint8_t)(F_CPU / 64.0 * 1e-3 - 0.5); // 1ms TIMSK1 |= 1<<OCIE1A; } ISR( TIMER1_COMPA_vect ) // 1ms for manual movement { int8_t new, diff; new = 0; if( PHASE_A
-
Thread
Quellcode für einfaches Gerät Programmieren lernen
dafür ist aber die Motivation und das Feedback deutlich größer. Ich denke ein guter alter Atmega32 ist für den Anfang super Sehr einfach ´m unendlich viel Lektüre und Libraries in Pascal, basic C etc programmierbar. Wenn Du aber so große Schwierigkeiten hast nimm Mikroe Mikroe Pascal für AVR. Erst
auch PC und ARM Controller programmieren kann. Unterstützt FreePascal STM32?
-
Thread
Lötstation JBC ?
einen Drehknopf haben. Drucktastenbedienung alleine liegt mir nicht wirklich. Display soll ein 128x64 OLED Typ sein. UC wahrscheinlich ein STM32 oder DsPIC da ich mit denen beruflich zu tun habe.
Gerhard O. schrieb im Beitrag #6053595: > Display soll ein 128x64 OLED Typ sein. > UC wahrscheinlich ein STM32 oder DsPIC da ich mit denen beruflich zu tun > habe. Gerhard O. schrieb im Beitrag #6054530: > Wenn es nicht so viel SW Aufwand wäre, dann würde ein
-
Thread
Warum kann der Compiler nicht erkennen, daß Variable in ISR geändert wird?
Annahme ist, daß es kein C-Äquivalent zu C++ std::atomic für > bestimmte embedded-Platformen wie AVR 8bit gibt. Wenn diese falsch ist > bitte mich korrigieren. Du scheinst Google noch nicht gefunden zu haben! Nachholbedarf. Massiv! https://www.nongnu.org/avr-libc/user-manual/group__util__atomic.html
Annahme ist, daß es kein C-Äquivalent zu C++ std::atomic für > bestimmte embedded-Platformen wie AVR 8bit gibt. Wenn diese falsch ist > bitte mich korrigieren. Wenn du den GCC für AVR verwendest gibts immerhin: https://www.nongnu.org/avr-libc/user-manual/group__util__atomic.html Inwieweit
-
Thread
C: Variablen in Bedingungsanweisungen definieren
< Max <= uint16::max(), uint16_t, std::conditional_t<Max <= uint32::max(), uint32_t, uint64_t>>>; [/c] Welche Probleme sollen das sein? size_type bleibt natürlich weiterhin size_t, nur wozu soll ein Container mit weniger als 256 Elementen dessen Größe in einem
uint8 = std::numeric_limits<uint8_t>; > using uint16 = std::numeric_limits<uint16_t>; > using uint32 = std::numeric_limits<uint32_t>; > > template<uint64_t Max, typename = std::enable_if_t<Max >= 0u>> > using smallest_unsigned_t = std::conditional_t< > Max <= uint8::max(), > uint8_t, >
-
Thread
I2C Expander reagiert nicht
Danke für die Info, aber nein es handelt sich um ein ESP32
#6022626: > Dürfte für ihn schwierig werden, Matze. > > mr.Moe schrieb: >> es handelt sich um ein ESP32 aber die Quellen sind ja einsichtig, evtl. kann man die AVR Register zu ESP Register tauschen. OK auf Registerebene habe ich noch nichts mit dem ESP32 gemacht, ist aber auch nur ein Prozzi, genauer
-
Thread
Welcher ARM-Prozessor als Anfänger ?
STM32F0 oder STM32G0 z.B. STM32F030C8T6TR
Bei STM sind die STM32L Serien auf's Stromsparen getrimmt. Für den Anfang würde ich ziemlich weit unten mit einem Nucleo64 Board mit STM32L072 oder STM32L073 anfangen. Anleitung: http://stefanfrings.de/stm32/stm32l0.html
-
Artikel
AVR Bootloader in C - eine einfache Anleitung
Datenblatt S.288 Device Flash Size Page Size PCWORD No. of Pages PCPAGE PCMSB Atmega88 4K words (8 Kbytes) 32 words PC[4:0] 128 PC[11:5] 11 Aus der Tabelle ergibt sich, dass die Größe einer Page des verwendeten Atmega88 32 Words - also 64 Byte sind. Insgesamt gibt es 128 Pages, damit ergibt sich nach Adam Riese
Datei mit dem Bootloader, als auch das Batch-Script im Solution Directory liegen: Fehler bei Flash > 64k. Neuere avr-gcc optimieren den oben beschriebenen Bootloader mit so genannten "table jumps". Darin verwendet der Compiler LPM Instruktionen. Laut dem "AVR Instruction Set" kann dieser Befehl aber nur
-
Thread
gcc11 könnte das avr Backend verlieren
GPUs arm - ARM arm64 - ARM64 (little endian) arm64_32 - ARM64 (little endian ILP32) armeb - ARM (big endian) avr - Atmel AVR Microcontroller bpf - BPF (host endian) bpfeb - BPF (big endian
32-bit nvptx64 - NVIDIA PTX 64-bit ppc32 - PowerPC 32 ppc64 - PowerPC 64 ppc64le - PowerPC 64 LE r600 - AMD GPUs HD2XXX-HD6XXX riscv32 - 32-bit RISC-V riscv64 - 64-bit
-
Thread
Die "BluePill" spielt Reversi / Ohtello, Code für STM32F103
viele dieser Projekte das Manko, dass für die Hardware oft ein teures Discovery-Board mit bspw. STM32F4 oder gar STM32F7 benötigt wird (und das Discovery-Board das Display mitbringt). Für die AVR Controller gibt es etwas, das sich "Gamebuino" nennt und benutzt ein bekanntes s/w Display. Weil ich
allerdings den Nachteil, dass es nicht > Arduino-kompatibel ist. Ich habe zwar Arduino-Hardware, auch AVR, ESP und diverse "Shields" und mein Standarddevelopmentboard für STM32F103 ist ein eigenentwickeltes PCB mit Arduino r3 Formfaktor, aber ich mag die Arduino Software und Entwicklungsumgebung nicht.
-
Thread
LowPower MCU
"Race to idle" oft besser, denn dann kann man die > Taktquelle längere Zeit ganz abschalten. Ein 32kHz Uhrenquarz zieht nur > rund 1µA bis zum aufwecken. Das kann ein Mega328P (und auch viele andere AVR8, inbesondere praktisch alle ATmega) außerdem auch noch. *Zusätzlich' zu den ganzen möglichen
Quarz laufen lässt gibt es heute uC die dabei weniger Strom als der ATmega brauchen. PicoPower um bei AVR zu bleiben.
-
Thread
ISP-Programmer für Produktion
einer eigens entwickelten Fertigungsmitarbeiter gerechten Oberfläche. Auf anderen Systemen (Win7 32 Bit) habe ich ähnliches am Laufen aber mit AVRDude. Jetzt sollen alle PCs in der Fertigung auf Windows 10, 64-Bit und 32_Bit, umgestellt werden. In diesem Zuge sollte alles vereinheitlicht werden.
Damals habe ich es versucht an meinem Entwicklungsplatz AVR-Studio mit Jungo-Treiber und AVR-Dude mit Lib-USB-Treiber unter 64-Bit Windows und bin damals gescheitert. Habe zwar dann den einen Filter-Treiber installiert und habe die 64-Bit Lib-USB-Treiber
-
Thread
Arduino Bit Shifting Problem
muss ich mal die Takte zählen! Und dafür müsstest du die tatsächliche Zielhardware kennen... Dein AVR-ASM funktioniert auf nem AVR, es mag aber auch sein das er einen Arduino mit nem 32-Bitter verwendet. Daher wäre hier eine Lösung in C angesagt, wie von mir oder Spess, dein ASM hilft hier unter Umständen
r19, 0 d6: 20 e8 ldi r18, 0x80 ; 128 d8: 81 fd sbrc r24, 1 da: 20 64 ori r18, 0x40 ; 64 dc: 82 fd sbrc r24, 2 de: 20 62 ori r18, 0x20 ; 32 e0: 83 fd sbrc r24, 3 e2: 20 61 ori r18, 0x10 ; 16 e4: 84 fd
-
Thread
Suche günstige Open-Collector Schieberegister
gepolt" ist. Die verbraucht im schlimmsten Fall ihren maximalen Sperrstrom bei der Betriebsspannung des AVR. Also so gut wie nix. Alle anderen LEDs "verbrauchen" den Leckstrom der Ausgänge eines AVR. Also quasi garnix.
. Die > verbraucht im schlimmsten Fall ihren maximalen Sperrstrom bei der > Betriebsspannung des AVR. Also so gut wie nix. Alle anderen LEDs > "verbrauchen" den Leckstrom der Ausgänge eines AVR. Also quasi garnix. Denkfehler meinerseits. Bin heute nicht ganz so fit im Kopf... Charlieplexing hab
-
Artikel
AVR Bootloader FastBoot von Peter Dannegger
tiny85, tiny861, mega48, mega8, mega8515, mega8525, mega88, mega16, mega162, mega168, mega328, mega32, mega64, mega644, mega128, mega1281, mega2561. Passwortschutz gegen unberechtigtes Umprogrammieren (aber keine Verschlüsselung des Programms). Freie Software - unter GPL lizenziert (Link). Das eigentliche
GitHub Linux- und Mac-Host (ohne One-Wire-Unterstützung), nur mit Anmeldung Dev-C++ Portierung (Win64) Windows-Host mit GUI von leo-andres.de, alte Version Host-Software für Version 1.7 Python-Script von kreatives-chaos.com Dev-C++ Portierung (Win32) Sonstiges Atmel AVR-Studio (um Bootloader zu assemblieren
-
Thread
Hilfe beim Brett von Stirn lösen [Analoge Sensoren Atmega328p]
durch den triggern lassen. Weil: 54000*13 = 702000 ADC-Takt 16000000/16 = 1000000 16000000/32 = 500000 Der gewünschte ADC-Takt läge also ziemlich genau in der Mitte zwischen den beiden allein mit den Mitteln der ADC tatsächlich erreichbaren.
ich 1Msps und wenn es auch normales C sein darf bei dem man keine Arduino Libs hat nimm ein Nucleo32/64 da gibts F3 und co mit 3-5Msps. Teilweise haben die sogar 2 oder 3 ADCs. Ich meine sogar die Nucleos lassen sich mit der ArduinoIDE programmieren? Zumindest teilweise bin da nicht so auf dem laufenden
-
Thread
STM32F730R8T6 top P/L, crashkurs fragen
: > Die 64k Flash dürften aber ziemlich schnell voll sein. Aber nur für Schwätzer. Wenn man bedenkt, daß ein ATmega328 nur 32 KB hat, dann ist da noch reichlich Luft nach oben ;-) STM32 schrieb im Beitrag
m.n. schrieb im Beitrag #6006780: >> Die 64k Flash dürften aber ziemlich schnell voll sein. > Wenn man bedenkt, daß ein ATmega328 nur 32 KB > hat, dann ist da noch reichlich Luft nach oben Andererseits belegt gleicher Code auf ARM Controllern
-
Thread
Problem mit STM32F103 und RAM-Größe
zu produzieren. Während in einem uint_fast8_t auf einem STM32 durchaus der Wert 256 gespeichert werden kann, ist dies bei einem AVR dann durch Überlauf gleich 0.
Struct noch mit dem Attribut "packed" zu versehen. Naja man kann sich ein bißchen Verschnitt sparen. 32, 16 und 8 bit sind 64 bit normal und 56 bit packed.
-
Thread
Bits shiften - ich verstehe es nicht.
(in & 0x0004) out += 200; if (in & 0x0008) out += 800; return out; } [/c] Sind auf dem AVR 72 Byte Code.
mich, was Du da vergleichen willst: 1. Dein Code versagt für ATmega88 2. Dein Code versagt mit avr-gcc 4.7.2
-
Thread
Conrad Elektronik hat Probleme
Chef von der Bayerischen Re war vor ein paar Wochen noch Pumperlgsund und ist jetzt an Corona mit 64 gestorben. Watch out!
Conrad seine seit 72 Jahren und damit älteste Zweigniederlassung in Nürnberg, Fürther Str. schließt. 32 Beschäftigte. Grund: Wierschaftliche Erwägungen und standortbedingte Besonderheiten. Bundesweit gibt es wohl (noch) 19 Filialen an 14 Standorten.
-
Thread
DVBT mit 2MHz Bandbreite
Ralph B. schrieb im Beitrag #6009038: > ondern auch die fast 2000 QAM64 modulierten > Träger generieren, bzw ein IQ Signal erzeugen, in welche die 2000 QAM64 > modulierten Träger enthalten sind. OFDM erzeugen ist kein grosser Aufwand. Eine 2K-FFT ist inzwischen kein
DVB-T2/T und T2-Lite: Kanäle: VHF Band, UHF Band Bandbreite: 1.7, 5, 6, 7, 8 MHz FEC: QPSK, 16QAM, 64QAM, 256QAM FFT-Mode: 1K, 2K, 4K, 8K, 16K, 32K Code-Rate: 1/2, 2/3, 3/4, 5/6, 7/8 gibts bei https://www.tbs-technology.de/shop/DVB-S2-S-S2X-T-T2-C-C2-Single-Tuner-USB-Multituner-Empfangsbox-TBS-
-
Thread
Atmega32U4-Board: USB-Ausgabe in Betrieb nehmen
es geht um die Nutzung der USB-Schnittstelle eines Atmega32u4-ProMicro-Boards unter Win7 64bit. auf das Board lässt sich mit AVRDUDE Code aufspielen wenn man Reset drückt und sich so der Bootloader meldet. als Code nutze ich das Beispiel "USB Serial, Version
Unter LunaAVR läuft das, nimm mal Putty als Terminal Programm.
-
Thread
Schachcomputer Eigenbau?
//www.ct800.net Den gibt es auch als Platine: https://github.com/d3rvita/ct800-pcb Wenn es ein AVR sein soll, wie wäre es mit dem SHAH? (a.k.a. AVR-Schachzwerg) http://www.andreadrian.de/schach/ https://github.com/d3rvita/avr-schachzwerg Es gibt noch den Mysticum: https://miclangschach.de/index.php
Ist doch pillepalle: 64 Felder, 32 Spielfiguren und Regeln, die im umständlichen Menschen-Sprech auf 2 A4-Seiten mit lesbarer Schriftgröße passen. Da brauchst du noch Hilfe? Selbst IBM hat es vor wenigen Jahren geschafft
-
Thread
Profitiert double von der 32bit FPU?
nicht so, dass eine FPU doubles beschleunigen kann. Das ist ja nicht wie bei einem fixkomma add mit 64bit wo es reicht ein normales add und danach ein add with carry auszuführen. Selbst ein 64bit MUL geht mit 3 32Bit MULs und einer Abfrage. f32 und f64 sind komplett anders aufgebaut. Das f64 müsst
Mw E. schrieb im Beitrag #6001731: > Das ist ja nicht wie bei einem fixkomma add mit 64bit wo es reicht ein > normales add und danach ein add with carry auszuführen. > Selbst ein 64bit MUL geht mit 3 32Bit MULs und einer Abfrage. Das war mein Gedanke dahinter. Wenn man große Integer
-
Thread
usb serial Win7 64bit welches INF-file nehmen
es geht um die Inbetriebnahme eines 32u4-Boards unter Win7 64bit. Auf dem Board läuft usb_serial.c von Paul Stoffregen. Im Gerätemanager taucht ein USB-Gerät auf mit gelbem Rufzeichen. Es fehlt der passende Treiber. Frage: Welchen Treiber
Matthias W. schrieb im Beitrag #6000378: > es geht um die Inbetriebnahme eines 32u4-Boards unter Win7 64bit. Auf > dem Board läuft usb_serial.c von Paul Stoffregen. Im Gerätemanager > taucht ein USB-Gerät auf mit gelbem Rufzeichen. Es fehlt der passende > Treiber. > > Frage