-
Thread
Die natur von FT8
auch die Frage, wie er ans Radio angebunden ist. uSDX zeigt, dass man selbst mit einem popeligen AVR SDR machen kann.
den anderen directabtastern. Und einen RF-Amp hat der auch nicht. Im QMX ist afair ein 240MHz STM32F4 drin. Der hat halt noch bisschen DSP Funktionalität.
-
Thread
BME280 mit Attiny85 auslesen Daten per SN75176 an Pi senden
irgendeinen kleinen ARM-basierten Controller vorschlagen. Die haben dafür fertige Einheiten in Hardware. STM32C011F4, STM32F030F4, oder so die Größe. Gibt auch gut passende aus China, WCH, Puya etc. Die sind dann auch noch klar billiger als der Attiny85.
nicht um die Richtungsumschaltung kümmern musst (ich weiß nicht, wie aufwendig das da ist; bei einem AVR ist das Pippifax)
-
Thread
Schaltung vereinfachen
Wenn die Schwellen nicht genau sein muessen, ginge auch sowas: SN74LS14N
: > > https://www.reichelt.de/de/de/shop/produkt/arm_cortex_-m0_mikrocontroller_16_kb_flash_lqfp32-352809?search=stm32c031&; > > Der ADC ist jedenfalls schnell genug. Kleiner geht's natürlich auch > noch, aber man soll ja nicht übertreiben. Nicht jeder kann den STM32C031x4/x6 Mainstream-Mikrocontroller
-
Thread
[S] Alte IDE 3.5 Zoll Festplatte(n) für Experiment
Versorgungsspannung zieht der Aufbau zu Beginn über 3A. Zur Fixierung der Festplatte habe ich mir noch längere 6-32 UNC Schrauben besorgt. Wenn diese angekommen sind, kann ich den Aufbau fertigstellen...
HD-Spindelmotor eigentlich aufgebaut? > > 4 Anschüsse = Sternschaltung? https://www.elektronik-labor.de/AVR/dds/HardDiscMotor.html
-
Thread
Python SCPI - Keithley DMM6500 u.ä.
nicht dazu, ständig neuen Versionen zu installieren. f-strings: ab 3.6 template strings: ab 3.14
Formatierung und du wirst es zu schätzen lernen. ;-) ad1: Geht übrigens auch mit Hex-Werten, zB. ein 32Bit WORD optisch in zwei HALFWORDS zu splitten. Oder 32bit Bin-Werte in vier Gruppen à 8Bits.
-
Thread
Arduino Q, Qualcomm kauft Arduino, neue IDE ante Portas
, irgendwelche Libraries fehlten In der Zeit, als die IDE entstand, war Arduino im wesentlichen AVR. Die anderen Prozessoren kamen erst viel später. Für den AVR gab es da schon seit sehr langer Zeit Atmel Studio oder Eclipse mit AVR-Plugin und WinAVR, die alle mit eine bis zwei clicks installiert
Oliver S. schrieb im Beitrag #7969105: > Für den AVR gab es da schon > seit sehr langer Zeit Atmel Studio oder Eclipse mit AVR-Plugin und > WinAVR, die alle mit eine bis zwei clicks installiert waren. Das > Argument zählt also nicht. Viel zu kompliziert
-
Thread
_delay_ms() und Interrupts
Funktion _delay_ms() blockiert ja bekanntermaßen z.B. Interrupts. Die <util/delay.h> Funktionen der AVR-LibC blockieren Interrupts NICHT. Allerdings sagt die Dokumentation nichts dazu. Lediglich dass __builtin_avr_delay_cycles() verwendet wird falls unterstützt, was schon seit weit über 10 Jahren der Fall ist. Und __builtin_avr_delay_cycles wiederum blockiert keine Interrupts: [pre] > Built-in Function: void __builtin_avr_delay_cycles (uint32_t ticks) > Delay execution for ticks cycles. Note that this built-in does
-
Thread
Byte bitweise und als ganzes zugreifen als Datentyp in c
auch in der Firma. Liegt wohl daran, dass wir da nur Controller mit dem selben Endian verwenden (STM32 und AVR). Der arm-Compiler ist inzwischen ein neues Release, und der "alte Kram" funktioniert trotzdem (wäre auch dämlich von Hitex, das einfach mal zu ändern)- Norbert schrieb im Beitrag #7946682
btn28 :1, btn29 :1, btn30 :1, btn31 :1, btn32 :1; }; struct { uint32_t byte1 :8, byte2 :8, byte3 :8, byte4 :8; }; uint8_t byte[4]; uint32_t all; }buttons_t;
-
Thread
Arduino Uno R4: Besonderheiten und Abhilfen
defined(__AVR_ATmega328P__) Serial.println(F(", auf ATmega328p")); #elif defined(ESP32) Serial.println(F(", auf ESP32 WEMOS LOLIN32")); #endif [/c]
keine 8/16bit ARMs). Die meisten "T32"-Instruktionen (vom Cortex-M4) sind 16bit breit, d.h. genau so breit wie die vom AVR. Die Handvoll 32bit-Instruktionen brauchen i.A. auch nur einen Takt zum Berechnen; das Laden aus dem Flash *kann*
-
Thread
Versuch einer Millis Funktion für AVR
Siehe Abschnitt "Using the library with MICROCHIP's ATMEL Studio". Die Beschreibung ist gültig bis avr-gcc 14.x.
Daniel A. schrieb im Beitrag #7940826: > Schade, das c11 atomics für AVR noch nicht implementiert sind. > (Folgendes ist vermutlich keine gute Idee, war nur mal zum ausprobieren, > was passiert: https://godbolt.org/z/hh8jbfscj) Die 64-Bit und 32-Bit Versionen sind
-
Thread
GCC Statische initialisierung.
inkludiert) #pragma once namespace { using Register = volatile uint8_t *; #if defined(__AVR_AVR32DB32__) || defined(__AVR_AVR64DB32__) || defined(__AVR_AVR128DB32__) #include "include\Pin\AVRxDB32_PinRegister.h" #include "include\Pin\AVRxDB32_PinNamen.h" #elif defined(__AVR_AVR32DB48
inkludiert) #pragma once namespace { using Register = volatile uint8_t *; #if defined(__AVR_AVR32DB32__) || defined(__AVR_AVR64DB32__) || defined(__AVR_AVR128DB32__) #include "include\Pin\AVRxDB32_PinRegister.h" #include "include\Pin\AVRxDB32_PinNamen.h" #elif defined(__AVR_AVR32DB48
-
Thread
direkt in ein Register des Tiny5 schreiben
/* _AVR_ATtiny5_H_ */ [/pre] [pre] ~$ avr-gcc -v Using built-in specs. Reading specs from /usr/lib/gcc/avr/5.4.0/device-specs/specs-avr2 COLLECT_GCC=avr-gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/avr/5.4.0
=/build/gcc-avr-Q3AFj7/gcc-avr-5.4.0+Atmel3.6.2=. -fstack-protector-strong' GCJFLAGS='-g -O2 -fdebug-prefix-map=/build/gcc-avr-Q3AFj7/gcc-avr-5.4.0+Atmel3.6.2=. -fstack-protector-strong' LDFLAGS=-Wl,-z,relro OBJCFLAGS
-
Thread
uC Modul Empfehlung, Tipps für den Aufbau einer Schaltung
dein Ansatz "Spannung bestimmt Solltemperatur" unzureichend sein. Wer WLAN will nimmt einen ESP32.
Klingt nach einer Aufgabe für einen ESP (8266 oder 32) mit Tasmota, ESPHome oder ähnlich.
-
Thread
[V] verschiedene ATtiny und ATmega
Attiny13A-PU DIP8 2 Attiny45-PU DIP8 1 Attiny85-PU DIP8 1 Attiny4313-PU DIP20 1 Attiny84A-PU DIP14 2 Attiny861A-PU DIP20 1 Attiny13A-SSH SOIC8 2 Attiny841-SSU 14SOIC 1 Attiny841-SSUR WSOIC14 1 Attiny861A-SU SOIC20 1 Attiny88-AU QFP32 1 Attiny1634R-MU QFN20 1 Attiny1634-SU SO20-W 2 Attiny1614-SSNR SOIC14 1 Attiny1616SFR SOIC20 1 Atmega: Atmega8A-AU TQFP32 5 Atmega168PB-AU TQFP32 1 Atmega328P TQFP32 1 Atmega32-16 TO TQFP44 1 Atmega644PA-AU TQFP44 1 Atmega128-16 TO TQFP64 1 Atmega8A-PU DIP28
-
Thread
AVR128DB USART Transmit Buffer
(Abschnitt 25.2): Welches Datenblatt nutzt Du denn? Bei den mir vorliegenden Datenblättern für AVR128DB28/32/48/64 behandelt Kapitel 25 den TCD Timer. Der Usart wird in Kap. 27 behandelt. Und dort steht in Abs. 27.2.: "The transmitter consists of a two-level write buffer, a Shift register, and
5usec. Das schafft der AVR auch.
-
Thread
Schrittmotor und Treiber für Drehkondensator
WLAN > weniger geeignet. Nein! Für Ethernet sind sogar kleine Mikrocontrollerarchitekturen wie AVR oder kleine STM32 sehr gut geeignet, seit es die Ethernet Controller W5100 und W5500 gibt, die man ganz locker per SPI steuern kann. Selbst mit einem Mega328P oder einem (auch sehr kleinem) STM32F091, STM32F103 (Bluepill) oder STM32F401/411 (Blackpill) gelingt eine vollständige TCP- und/oder UDP Implementierung inklusive einfacher Hardware-Ansteuerungen. Da betrachte ich mal, einen kleinen Linux-Controller
-
Artikel
KiCad
ein fertiges Packgage auf einem 64 bit System verwendet wurde, könnte es daran liegen, das es für 32 bit compiliert wurde, und nicht für 64 bit. Es gibt zwei Möglichkeiten: a) Selbst aus den Sourcen für sein eigenes System compilieren. b) Die Runtime Libs für 32 Bit könnten fehlen. Nachinstallieren mit sudo apt-get install ia32-libs. Siehe Forumsbeitrag Ich habe das umgekehrte Problem: 32bit system aber 64bit Binarys. Selbst aus den Sourcen neu compilieren. <!-- alt -- *Ich will/muss mir KiCad selber compilieren. Wie gehe ich
-
Thread
Speicherverwaltung bei modularer Echtzeitsoftware
Anzahl an Elementen, die reinpassen. [c] /*modul.h*/ #define MODUL_RAM_SIZE(Elemente) (128+(14*Elemente)) struct sModul; /* Inhalt bleibt der Applikation verborgen! Nur Ptr! */ struct sModul *ModulInit(unsigned char *ram, int ram_size); /* application.c */ struct sModul *ModulHdl; static
RAM-Verbrauch erst zur Laufzeit ergibt. Zur Abschätzung hilf dann z.B. https://avrdudes.github.io/avr-libc/avr-libc-user-manual-2.3.0/group__util__ram__usage.html
-
Thread
Auswahl Bulk Kondesatoren
dazwischen schaltest. Die haben zwei Versorgungsspannungen - einmal die 3.3V vom Pi und einmal die 5V vom AVR. Damit hast Du dann saubere 5V-Pegel an Deinem AVR und schützt Deinen Pi. https://www.ti.com/lit/ds/symlink/sn74lvc1t45.pdf https://www.ti.com/lit/ds/symlink/sn74lvc2t45.pdf https://www.ti.com/
über die 40-polige Buchsenleiste auf der Platine > versorgt. Wenn der SPI auch zwischen Pi und AVR verbunden ist, brauchst Du auch da Levelshifter. Oder Du schaust, ob Dir beim AVR nicht doch 3.3V und 12 MHz reichen. Oder Du nimmst einen modernen AVR und keine Altlast. > Das möchte ich über eine
-
Thread
Probleme beim Compillieren von LUFA Projekten (USB für AVR)
Barny F. schrieb im Beitrag #7923783: > Übrigens ist die GCC Version für AVR unter Linux auch nicht soooooo viel > neuer. Debian 13 (trixie, stable) hat avr-gcc Version 14.2.0 von 2024.
Barny F. schrieb im Beitrag #7923783: > Übrigens ist die GCC Version für AVR unter Linux auch nicht soooooo viel > neuer. Find' ich schon: ein@typ:~# cat /etc/os-release PRETTY_NAME="Ubuntu 25.04" ein@typ:~# avr-gcc --version avr-gcc (GCC) 14.2.0
-
Artikel
Oszilloskop
Software-Aufrüstbar (Funktionsgenerator, Protokoll-Dekoder, usw.) OWON XDS--A(+) •12-bit: 3062 A(+) 3102 A(+) •14-bit: 3202 A(+) OWON 430.. bis 720€ ~1350€ 2 1000 60 100 200 12 12 14 40M 800x600 8" Touch-screen (3062A(+): ohne Touchscreen) •USBx2 •LAN •WiFi •VGA/AV •• A+ : incl. •2ch-FG •Multimeter •DataLogger •
Ansprüchen genügt sollte bei den Entwicklern nachfragen. Auch hier ist der Weg das Ziel. Siehe auch. AVR Softwarepool: Oszilloskop Einfaches Oszilloskop mit Bascom-AVR USB_Oszilloskop Logic_Analyzer LCS-1M (Picaxe) Probe_Fundamentals-_Tektronix.pdf (engl.) Forumsbeitrag: Bitte Tipp für ein einfaches Speicheroszilloskop
-
Thread
Dämpfungswiderstände für TFT-SPI Display notwendig?
ob du das Package löten kannst. https://industrial.panasonic.com/cdbs/www-data/pdf/AOC0000/AOC0000C14.pdf Ein CAT16-xxxxF4LF mit 3.2x1.6mm wäre in der Verarbeitung etwas handlicher. https://www.bourns.com/docs/Product-Datasheets/CATCAY.pdf
LCSC eben 100 Ohm verbaut sind und diese Displays problemlos funktionieren (egal, ob diese mit einem AVR, STM8, STM32 oder einem CH32 angesteuert werden).
-
Artikel
Klangerzeugung
) Doorbell bei www.microsyl.com (en, AVR, C) Simple SD Audio Player with ATtiny85 (elm-chan.org) PIC18F SD WAV Audio Player ähnlich 1 zusätzlich mit Tiefpassfilter MIDI DDS(Englisch) (en, AVR, ASM) (en,AVR,ASM) AVR314: DTMF Generator AVR335
SID Emulation auf Atmega8 und Atmega168 C64 SID mit I2C auf Sourceforge 1 Bit Sound Codierung mit AVR 1-bit audio example program for Atmega (Atmega32)
-
Thread
Compileroptionen
. Na ja, PC0_set ist ein Makro von mir, aaaaaber dieses ruft seinerseits wieder ein Makro aus CH32FUN auf, von dem ich dachte, dass es eine Funktion und nicht selbst ein Makro ist (Fehler by me). Das wird sich erledigen, wenn ich mein Setup durch eigene GPIO-Funktionen von CH32FUN ersetzt habe
0xF81F; [/c] [pre] In file included from c:\arduino_portable_1.8.13\portable\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\avr\include\avr\io.h:99:0, from c:\arduino_portable_1.8.13\portable\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\avr\include\avr\pgmspace.h
-
Thread
LoRa-Parameter
nicht brauchbar. Wenn, dann nimm M-Module. Das habe ich diverse im Einsatz mit ATMega328, Raspi und ESP32.
STM32 (official core) - STM32 Nucleo, Discovery, Maple, BluePill, BlackPill etc. STM32 (unofficial core) - STM32F1 and STM32F4-based boards MCUdude MegaCoreX - megaAVR-0 series (ATmega4809
-
Thread
ATtiny1614 mit lcd 4 segment display
Pin7 SEG3 - Pin8 SEG4 - Pin9 SEG5 - Pin10 SEG13 - Pin11 SEG14 - Pin12 Zudem nutze ich folgenden code, damit möchte ich simpel 88:88 darstellen: /** * ATtiny1614 → TM1621C: Zeigt 88:88 * PA1 = CS, PA2 = WR, PA3 = DATA */ #include <avr/io.h>
PORTA.OUTSET = WR_PIN; tpd(); } // Mehrere Bits MSB-first static void sendbits(uint32_t data, uint8_t bits) { for (int i = bits - 1; i >= 0; i--) sendbit((data >> i) & 1); } // 12-Bit-Kommando senden static void sendcmd(uint16_t cmd) { PORTA.OUTCLR = CS_PIN; tpd
-
Thread
Notstrom Betrieb eines Mini-PC, Umschaltung Batterie/Netzteil
gekostet und kann mit Lithium- und Bleiakkus umgehen. Mein Mini-PC kommt mit der Akkuspannung (9V bis 14V) problemlos zurecht. Im Normalfall wird die Last aus dem Netzteil versorgt und der Akku geladen, bei Stromausfall unterbrechungsfrei aus dem Akku. Viel Erfolg. Tom
AT89C51, ATmega komplette Häuser gesteuert. Heutzutage braucht man mindestens CPUs nicht unter 4GHz, 32 Threads und 128GB RAM. Sollte jetzt keine Kritik sein, nur eine Feststellung.
-
Thread
Arduino: page-write in I2C eeprom verliert sporadisch ein Byte
Wert 65): [code] EEPROM Settings 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 16 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 32 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 48 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 64 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 80 50
RAM rx_test RAM rx_test 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 16 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 32 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 48 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 64 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 80 50
-
Thread
Arduino CH32V003
Hab's raus gekriegt: [c] /* * CH32V003F4P6 Serial Send Test * * CH32V003F4P6 TX (output) : PD5 * * has to be connected to the Programming Dongle RX * * Framework: * https://github.com/openwch/arduino_core_ch32 */
www.mikrocontroller.net/topic/577068#7861664 Danke. Auszug: [code] von Yalu X. (yalu) (Moderator) 14.04.2025 12:47 In der Mounriver-Toolchain für die CH32-Controller wird die generische soft-fp der glibc verwendet. Diese ist in C implementiert und in keinster Weise an spezifische CPU-Typen angepasst
-
Thread
[AVR] ADC oversampling, nutzbarer Wertebereich
Add Mittlung Zusammen Anzeige - "Rauschen" Stabil 12 Bit + 2 Bit + 0 Bit = 14 Bit => 14 Bit - 4 Bit = 10 Bit 12 Bit + 8 Bit + 0 Bit = 20 Bit => 14 Bit - 3 Bit = 11 Bit 12 Bit +10 Bit + 0 Bit = 22 Bit => 14 Bit - 2 Bit = 12 Bit 12 Bit +10
Vor über 12 Jahren Jahren hat Atmel dazu schon eine App-Note veröffentlicht: AVR121: Enhancing ADC resolution by oversampling
-
Thread
TinyAVR Serie 1/2 OneWire Zugriff auf DS18B20 Temperatursensor
docs.rs-online.com/788c/0900766b80025448.pdf Der 80C51XA hat schon nette Sachen gehabt, die man sich auch beim AVR gut vorstellen könnte: fast 16 × 16 multiply and 32/16 divide
ATtiny1614 ist ja bei Reichelt recht günstig: https://www.reichelt.de/de/de/shop/produkt/8-bit-attiny_avr-risc_mikrocontroller_16_kb_20_mhz_soic-14-349270 Oder wäre der ATtiny1604 besser?
-
Thread
Wie baut man in C Strings zusammen?
long T; T func (T a, T b, T c) { 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
r19 and r30, r20 and r31, r21 or r24, r30 or r25, r31 ret [/avrasm] Wie jeder AVR Programmierer weiß, geht das alles in 6 Instruktionen. Mit avr-gcc v8 und v15 besser, aber auch da reibt man sich die Augen: [avrasm] func: push r14 push r15 push r16 push r17 /* prologue
-
Thread
AVR - Taktfrequenz für Seriell ohne Handshake
Johannes F. schrieb im Beitrag #7888074: > Und dank CTC-Modus-Timer ist das doch aber bei 14,7456 etc. genausowenig > ein Problem? 14.745.600 = 900 * 2^14. stimmt... 14.7456 hatte ich nicht auf dem Schirm.. von daher: gut! Und obwohl ich fast nichts mehr mit AVR mache, werde ich mir bei
Teilungsprobleme sieht, der hat sich damit noch nicht ausreichend beschäftigt. Bei den neueren AVR-Familien oder STM32 mit fraktionalem Baudratengenerator ist das alles mit dem Baudratenfehler ziemlich unkritisch – hier muss man keine Akrobatik mit den Quarzen vollführen. Die internen RC-Oszillatoren
-
Thread
Attiny 412 ext. Interrupt triggert ohne event
Oh, da hab ich wohl vergessen den Code hochzuladen. [c] #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #include <avr/sleep.h> // Required for sleep modes #include <stdint.h> // For standard integer types, e.g., uint8_t // --- Pin Definitions
IrgendSoEinTyp I. schrieb im Beitrag #7886697: > Bin ich noch relativ neu in der AVR Programmierung und weiß nicht wie > ich ein Byte ohne großen Overhead versende. ATtiny402/412 send byte: [c] #include <avr/io.h> uint8_t data[13] = {72,101,108,108,111,44,32,87,111,114,108,100,33
-
Thread
FPGA Feedforward-System in Quantenoptik-Experiment
manueller Plazierung von Logik. Gerade weil der Spartan6 nicht totzukriegen ist, und die Bugs bei ISE 14.7 unter Linux (Windows vermeidet man hier besser) deutlich ueberschaubarer sind als bei Vivado, wuerde ich den auch in dem Fall hernehmen, im Sinne von: Auf alten Toepfen lernt man kochen und fuer den
Schalter angesteuert um den Puls rein und raus zu lassen. Das FPGA war ein ACEX, der konnte einen 32bit synchron zaehler mit 160MHz laufen lassen. Die Anbindung and das PC System machte ein AVR Probleme traten auf, wenn mal einer der 80MHz pulse fehlten ... das muss man bedenken. Ich wuerde
-
Thread
ADC-Kanäle sukzessive abfragen
https://ww1.microchip.com/downloads/en/AppNotes/atmel-8456-8-and-32-bit-avr-microcontrollers-avr127-understanding-adc-parameters_application-note.pdf
unter 600Byte so das noch >400 für das > Hauptprogramm frei bleiben. Der Compiler ist z.B. WinAVR oder avr-gcc 14. Die Optimierung steht auf -Os. Haben Sie ein Code-Beispiel für das erwähnte Serial? Tx allein würde reichen.