-
Thread
Windows 10 Disketten formatieren
Getriebe kippen. Oder die Disketten klauen. Nerd 8. schrieb im Beitrag #7892278: > Nein. Aber ein 16Bit-Virus ist nicht unter Win11 und 32/64-Bit Virus > nicht auf 16Bit lauffähig. Ganz einfach. Ein Windows-Virus ist auch nicht auf einem ARM-Raspberry lauffähig und umgekehrt. Wenn auf der Maschine
Mass Storage macht. Den Decoderteil hat hier im Forum mal jemand als Proof of Concept auf einem ATmega implemtiert.
-
Thread
Wie baut man in C Strings zusammen?
{ if (c & 1) a |= b; return a; }[/c] [pre]$ avr-gcc-14 foo.c -S -Os -mmcu=atmega8[/pre] [avrasm] func: push r8 push r9 push r10 push r11 push r14 push r15 push r16 push r17 /* prologue end */ movw r8,r22 movw r10,r24 movw r24,r20 movw r22
Ein printf mit einem Float verschleudert 16k auf einem AVR
-
Thread
AVR - Taktfrequenz für Seriell ohne Handshake
CPU-Leistung und hohe Baudraten. Ich hab mal vor Äonen einen DMX512 Player/Recorder gebaut, mit ATmega64 und externem 64kB SRAM und SD-Karte. Der konnte DMX512 mit voller Kapazität mit 250kBaud dauerhaft wiedergeben oder speichern, das macht immerhin ca. 22kB/s. Die mittlere CPU-Last lag bei ~30% @16MHz
verschafft – es ist nicht besonders viel, aber immerhin 15%. Der Grund für die ursprünglichen, archaischen 16MHz liegt vermutlich in dem Umstand, dass es den ATMEGA8 in den Anfängen – oder was auch immer da am Anfang genommen worden ist – mit diesen maximalen 16MHz als Taktfrequenz gab. Und es soll mir bitte
-
Artikel
Temperatursensor
hier. ADT7310 / ADT7xxx-Familie von AD. Der ADT7310 von Analog Devices besitzt eine Auflösung von 16 Bit und eine Genauigkeit von ±0.5°C im Bereich von −40°C bis +105°C. Vorteile: Ansteuerung per SPI ADT73xx oder I2C ADT74xx keine Kalibrierung notwendig hohe Auflösung und Genauigkeit: 16 Bit ADT7x02
G-NICO-018 von Measurement Specialties Inc.. sehr hohe Auflösung und Genauigkeit: 0,10° @ -5°C … +50°C 16/24 Bit Gehäuse 16-VQFN Exposed Pad SPI / I2C über Pin auswählbar Preis: 8,60 (4,40 @1k) bei Digikey kleiner Nachteil: der Sensor liefert den ADC-Wert und die Kompensationskonstanten (5 Polynom-Koeffizienten
-
Thread
"Arduino kompatibler" MC für 2025
pillepalle-Anforderungen ist er allemal kompatibel. Zumal du ja wohl mit Arduino programmieren willst. Da wird der ATMega328PB jetzt schon unterstützt. Warum nimmst du nicht gleich ein Arduino-Board deiner Wahl mit dem ATMega328PB?
einstellen muss in der IDE sonst funktioniert es nicht. Und dann gibt es welche mit FTDI232R und ATmega16U2 und CH340 und ohne die passenden Treiber geht wieder nix. Arduino ist durch den Wildwuchs alles andere als einfach, und hat sich überlebt, so wie die AVR. Setz auf STM32. Geht zwar auch mit
-
Thread
AVR removed in GCC 16 ?
Hallo, wenn ich das richtig verstehe wird der AVR Support in GCC 16 entfernt weil das neue LRA nicht unterstützt wird? >This is the last release supporting the old reload local register allocation code. It will be removed for GCC 16, causing targets that do not support
einen Fall gibt, wo LRA falschen Code erzeugt (mit -Os -mmcu=atmega8 -mlra): [c]__attribute__((noipa)) void func2 (long long a1, long long a2, long b) { static unsigned char count = 0; if (b != count++) __builtin_abort (); } int main (void) {
-
Thread
ADC-Kanäle sukzessive abfragen
Problem – beides lässt sich leicht einbauen! 🔧 Ziel: Maximale ADC-Datenrate: Der ADC des ATmega328 läuft mit einer maximalen Taktfrequenz von 200 kHz bei einer Referenzfrequenz von 16 MHz. Um dies zu erreichen, muss der ADC mit einem Prescaler von 2 betrieben werden. Mittelwertbildung:
Konvertierung nach Aktivierung des ADC. Das kann ich nicht bestätigen. Siehe Anhang. Arduino UNO mit ATmega328P. Ich messe 38,459kHz am Testpin PB0. Das macht 76,918 KHz ISR-Frequenz. x13x16=16MHz. D.h. jede Messung braucht wie im Datenblatt beschrieben 13 ADC-Takte. Und das mit Wechsel des ADC-Kanals nach
-
Thread
CH32V003: Selbstbauprogrammer und "Getting started"
einem > Atmel/ST/usw irgendwie klueger? Warum sollte das klüger sein? Mit Atmel gibt es den für ATmega88 bis 328p und ATtiny2313, nennt sich wie oben genannt ArduLink .. und ist schnarch lahm. Ob es etwas für STM32 gibt weiß ich nicht (glaube ich allerdings auch nicht). Also, warum sollte es klüger
vor Beginn des Projekts: Boards mit USB-Zugang oder virtuellen COM-Ports auf Basis von: MCS-51, PIC16, STM8, PFS154, STM32F0, F1, F3, F4 und Atmel AVR. Ich habe genau 2 Firmware's gefunden, die in der Lage sind, einen CH32 zu flashen, eben die eine für Atmel und die andere für einen V003. Und aus
-
Thread
Verständnisfrage zu Assembler bei PIC und ATMEL
> Befehle mit Konstante gibts ja nur > für R16-R31 und der Wert 0 ist einfach zu wichtig. Eine der wenigen Einschränkungen beim AVR.. aber immerhin bekommt man satte 32 Register, davon 16 general purpose und die oberen 6 davon als 16-Bit-Register nutzbar. Soviel Komfort hat man beim PIC16F bei weitem nicht. Die großen ATMegas können 131 AVR-Instructions (ATMega1284), der PIC16F677 kann 35. Das will man doch nicht ...
-
Thread
HT16K33A mit CH32V003
minichlink (welches im originalen CH32FUN zu finden ist) - schöpft nicht alle Möglichkeiten des HT16K63 aus (weil ich keine 16-Segment LED-Anzeigen besitze und ich es irgendwie nicht mag, dass dieser Chip zum Einlesen von Tasten noch zusätzliche Widerstände benötigt), Ergo: Anzeigen sind machbar bis
ein CH32V003 zum Programmer wird und dieser Chip einmalig von einem Arduino Uno/nano oder einem ATmega mit USB2UART Bridge geflasht werden muß. Prinzipiell kann auch ein Arduino alleine als Programmer dienen, ist aber nicht empfehlenswert, da dieser für die max. 16 kByte Flash die der CH32V003 besitzt
-
Thread
YDLidar X4 Pro an Arduino
DLidar X4 Pro an Arduino Arduino ist ja Allround.. man kann meist den selben Code für einen mini Atmega oder für einen ESP32 kompilieren. Es bleibt Arduino.
Beitrag #7876220: > Arduino ist ja Allround.. man kann meist den selben Code für einen mini > Atmega oder für einen ESP32 kompilieren. Blödsinn, man kann *manchmal* den selben Code ...
-
Thread
Suche Beispiel oder wenigstens Manual zu Arduino Bibliothek
Einfach anwenden, z.B. [c] uint16_t data; EEPstore<uint16_t>::set(data,0); [/c]
Loco M. schrieb im Beitrag #7876025: > Einfach anwenden, z.B. > [c] > uint16_t data; > EEPstore<uint16_t>::set(data,0); > [/c] Genau so funktionierts ! Die Methoden sind wohl so etwas wie static, man braucht also kein Objekt anzulegen.
-
Thread
Analoges Projekt auf MC umrüsten. Frage zu PIN Zuweisungen.
(Pin6) 15) SD, Digital Output, PD3 (Pin7) 16) ASW, Digital Input, PD4 (Pin8) 17) P-OSC, Digital Output, PD5 (Pin9) 18) TRH-RST, Digital Output, PD6 (Pin11) 19) VCC, Power, VCC (Pin20) 20) GND, Power, GND (Pin10) [/pre] [Mod: pre-Tags
Anfänger ein nicht zu unterschätzender Vorteil. https://www.reichelt.de/de/de/shop/produkt/8-bit-atmega_avr_mikrocontroller_32_kb_20_mhz_pdip-28-119685
-
Artikel
Speicher
englisch Refresh) werden muß. Das macht DRAMs im Mikrocontrollerbereich etwas unbeliebt. Bei großen 16/32-Bit-Controllern befinden sich oft DRAM-Controller mit auf dem IC (on chip) die sich um den Refresh kümmern, da große, schnelle und billige RAMs nur als DRAM verfügbar sind. Heute wird fast nur noch
von Synchronous Dynamic Random Access Memory bei Wikipedia Artikel zum SDRAM-Timing Forumsbeitrag: 16MB-SDRAM am ATXmega DDR-SDRAM. Double Data Rate SDRAM - SDRAM mit doppelter Datenrate Oft als DDR-RAM abgekürzt. Es handelt sich um eine Weiterentwicklung von SDRAM. Im Gegensatz zum Vorgänger werden
-
Thread
LCD-Adresse im C-Programm
configuration, and frame buffer control. 2. **SSD1963 LCD Controller** * While its data bus can be 8/16/24-bit depending on configuration, **its internal control registers are accessed through 16-bit commands**, but some registers can act like 32-bit when combined. 3. **RA8875 / RA8889 (RAiO)**
die Ausgabe vom RA8875 nicht stimmt. Die sind laut Datenblatt nur 8-Bit breit. ChatGPT behauptet 8/16Bit.
-
Thread
Strom Opferanode Warmwasserpuffer messen
Strom, der zwischen Opferanode und Warmwasserspeicher fließt, zu messen. Das Signal soll mit einem ATmega32u4 (Vcc=3,3V) verarbeitet werden. Messungen an der Opferanode haben folgendes Verhalten gezeigt: [code]Leerlaufspannung = 0,17V 1000 Ohm : 0,16V -> 0,16mA 100 Ohm : 0,10V -> 1,0mA 10 Ohm
Somit deutlich mehr als ausreichend. Korrektur: Hatte fälschlicherweise mit 12bit gerechnet. Der ATmega hat aber nur 10bit. Sind somit 0,012mA/LSB.
-
Thread
Arduino Nano Störungen und Durchbrennen
getrennt, z.B.: https://www.reichelt.de/de/de/shop/produkt/miniatur-leistungsrelais_ftr-k1_24v_1wech_16a-79423 Da kann man dann viel Abstand im Layout lassen (>5mm).
nichts. Interessanter wäre eine Zeitauflösung im µs-Bereich. Funken sind nämlich eher HF. Und bei 16MHz Takt kann schon ein 62ns Puls stören.
-
Thread
Mehrere CAN Teilnehmer
10. > Aber auch ab dann geht keinerlei Kommunikation mehr. Mal so nebenbei: Mit einem 8-Bit Atmega328 mit 16MHz und einem externen MCP2515 CAN-Controller verarbeite ich 1000 CAN-Botschaften pro Sekunde. Ohne Probleme oder irgendwelche verspäteten Botschaften. Ein STM32 mit internen CAN sollte
>> Aber auch ab dann geht keinerlei Kommunikation mehr. > > Mal so nebenbei: Mit einem 8-Bit Atmega328 mit 16MHz und einem externen > MCP2515 CAN-Controller verarbeite ich 1000 CAN-Botschaften pro Sekunde. > Ohne Probleme oder irgendwelche verspäteten Botschaften. > > Ein STM32 mit internen
-
Thread
Vier Gewinnt für CH32V003 und Linux-Toolchain
Spieleprogramm auf den Chip portiert, der im Ursprung einmal als JavaScript kodiert, danach auf einen ATmega portiert war. Jetzt habe ich das weiter auf eben einen CH32V003 portiert. Hier ging es mir erst einmal nur darum, die "KI" des Spiels auf den Chip zu portieren um zu sehen, wie groß das Compilat
. Interessant ist das sie beim SOT8 mehrere Pins zusammen gebondet haben. Doof ist das sie beim SOT16 das nicht gemacht haben und man so eines der SPI Signale nicht zur Verfuegung hat. :-( Die einzig echte Schwaeche ist IMHO das sie nicht doll bei Lowpower sind. Vanye
-
Thread
USB 2.0 Controller OHNE VCC dafür aber mit Bus Spannung.
vertraut war das wegen ja meine frage. Ich würde es mal nicht an einen FT232R oder wie beim DUE dem ATMEGA16U2 Festmachen. Mich interessiert rein die USB Seite. Ob der USB Controller dadurch kaputt geht oder nicht. Vielen Dank
-
Thread
Neuer ReAVR in Aussicht
hoffe, Du verstehts, was ich meine... Zweitens habe ich mit der Vorgabe THT und noch bevor der ATmega128 verfügbar wurde auf Grundlage des ATmega161 eine Fax-Anwendung programmiert, bei der über den externen Bus ein SRAM für die zu übertragenden Daten sowie ein EPROM für die TIF-Muster verwendet wurden
> einer Erwähnung bei den RAM-less AVRs wert sind. Historisch halt, genauso wie AT90S1200 und ATmega103, der dann ziemlich schnell einen ATmega128 als Nachfolger bekam. Dieser wiederum wurde zum „Dauerbrenner“, der wird als ATmega128A sogar zwei Jahrzehnte später noch produziert.
-
Thread
=== GCC v15 ===
402: e2 e0 ldi r30, 0x02 ; 2 404: 0c 94 68 0d jmp 0x1ad0 ; 0x1ad0 <.Loc.16> [/avrasm] In `.Loc.16` ist eine sub-routine die den SREG rettet, interrupts stoppt, stack pointer runter schiebt, und dann den SREG wieder zurueck holt (gcc-15.1): [avrasm] 00001ad0 <.Loc.16>:
getint.c -Os -S -mmcu=atmega8 && grep 'size =' getint.s /* frame size = 4 */ /* stack size = 8 */ $ avr-gcc-15 getint.c -Os -S -mmcu=atmega8 -mlra && grep 'size =' getint.s /* frame size = 0 */ /* stack size = 6 */[/pre]
-
Thread
DCF77 Modul Vergleich
Das Modul wurde, zusammen mit einem ATmega16, aus einem Spannungsregler LP2950 CZ 5.0 versorgt; dieser hatte an seinem Ausgang (die üblichen) 10 uF (Elko) sowie 100 nF. Modulausgang ging direkt auf Port C1 des uC.
-
Thread
E-Bike legalisieren (PAS+Speed->Gas)
speedLimit_kmh) ? inputV * (4.2 / MAX_GAS_SPANNUNG) : 0.0; if (outputV > 4.2) outputV = 4.2; uint16_t dacValue = (uint16_t)(outputV / 5.0 * 4095); dac.setVoltage(dacValue, false); delay(10); } void setupWiFi() { WiFi.mode(WIFI_AP); WiFi.softAP("eBikeDash", "12345678"); Serial.println
Abschlußbericht: Mit einem Atmega328p (Nano V3 Super Mini Board) hat es nun endlich geklappt. Hab es mit Reed-Schaltern gelöst, die hatte ich noch vom Tacho. Wichtig war die internen Pullups niederohmiger (5kOhm) zu machen, hatte
-
Thread
Problem mit Funktion
LedControl) für die Ansteuerung des MAX7219-ICs für die Verwendung in C mit Microchip Studio (µC: ATmega88PA) umgeschrieben. Jetzt habe ich eine Funktion geschrieben, die Daten aus einem 2D-Array auf einer 8x8 LED-Matrix in einer Dauerschlaufe wiedergeben soll. Die Funktionsparameter sind das Zeit-Intervall
ich auch anders lösen, also so ungefähr insgesamt: [code] // Funktion void display_frames(uint16_t interval, uint8_t start, uint8_t end) { static uint8_t x = 0; static uint32_t previous_ms = 0; if ((previous_ms + interval) <= millis()) { previous_ms = millis();
-
Thread
PicoMon für CH32V003 oder STM32F0xx
allen Dingen ESC-Sequenzen - und einem zusätzlichen Gadget, welches einen "mißbrauchten" Steuercode 16 (0x10h) mißbraucht, um einen String, der eine Turtlegrafik beinhaltet darstellen zu könne. Die ESC-Sequenzen werden hinsichtlich der Farben so interpretiert, wie sie ein Linux-Terminal auch interpretieren
128x128, 160x80, 160x128 und 320x24 mit Schriftstilen in 4 unterschiedlichen Größen: 5x7, 8x8, 10x16 und 12x16 Pixeln. Aus der Kombination von unterschiedlichen Displayauflösungen und Schriftgrößen ergeben sich viele Kombination hinsichtlich der dargestellten Zeichen auf dem Display. Die Ausgabe
-
Thread
Trapez-Ansteuerung von KFZ LEDs
Dies war eher ein Grundsatzartikel ala wikipedia 2. RC mit Transistor 3. Steuerung über einen ATmega In allen Fällen lieferte das Tool sparsame Schaltpläne, z.B.: [code] +12V Blinksignal (vom Relais) | R1 | +-----> Basis/Gate Q1 (mit Pulldown 10k zu GND) |
teilen das Signal so, dass an GP15 maximal ca. 3.3 V ankommen – sicher für den Pico. [code] GP16 (PWM) ---+-- 220 Ohm -- Gate MOSFET | GND (Pico & LED-Schaltung gemeinsam) +12V --- LED --- Drain MOSFET Source MOSFET --- GND [/code] ChatGPT liefert den
-
Artikel
UV-Belichter-Timer mit AVR
Platinen entworfen wurde, aber auch für andere Zwecke verwendet werden kann. Als Controller kommt ein ATmega48 zum Einsatz, der aber selbstverständlich durch pinkompatible Typen (z. B. ATmega328P) ersetzt werden kann; die Firmware müsste dann ggf. leicht angepasst werden. Begründung einiger Design-Entscheidungen
Box4U Reichelt C7 TAJB106K020RNJ Kyocera AVX Reichelt C9 ECQUAAF104M Panasonic Reichelt C10…C12 (1 mF, 16 V, RM 5) (?) Reichelt D5…D8 SB140 Diotec Reichelt D9 LC-204VL Rohm Pollin F1 Feinsicherung 5×20 mm, 5 A, mittelträge Eska Pollin H1 SK 13/35 AL-220 Fischer Reichelt J1, J3 CTB2202/2 Camdenboss Reichelt
-
Thread
AVR ATtiny Serie 1: Input Capture TCD0
deshalb muss man es retten (dummy). Das Differenz-Ergebnis steht nach der Fallunterscheidung in uint16_t capt. Alle Variablen sind uint16_t.
AVR32EA32-I/RXB VQFN-32 5×5mm Two 16-bit Timer/Counters type A (TCA) Four 16-bit Timer/Counters type B (TCB) (DigiKey: 1,04 € + MwSt.)