-
Artikel
Avr-gcc Bugs
.. 2.23 12742 mingw32 and --enable-lto in Canadian cross build 2.23 12161 Unconforming ELF file causes SIGSEGV in avr-ld 2.23, 2.22.x avr-libc 57114 Do not #define abs / labs 57071 57071 Fix math.h and function names that
attributes address , io and io_low 13.3, 12.4 107201 -nodevicelib not working together with -mmcu=avr* devices 13.3, 12.4 109650 Wrong code with -Os (cc0 → CCmode fallout) 13.2, 12.4 105753 ICE: in add_clobbers, at config/avr/avr-dimode.md:2705 13.2, 12.4 99184 Wrong rounding in double to 32-bit and
-
Artikel
Linksammlung
fuer AVR von Imagecraft. Assembler. Atmel AVR ASM Site tavrasm - Toms Linux (Atmel) AVR Assembler gavrasm - Gerds Linux/Win/DOS AVR Assembler avra - avra ATMEL AVR Assembler für Linux, FreeBSD, AmigaOS und Win32
viewer of binary files with built-in editor in binary, hexadecimal and disassembler modes. It includes AVR/Java/i86-i386-AMD64/ARM-XScale/PPC64 disassemblers, russian codepages convertor, full preview of formats - MZ, NE, PE, NLM, coff32, elf partial - a.out, LE, LX, PharLap; code navigator and more over
-
Thread
Darlington Transistoren mit internen Widerständen
gewünschten Spannungen nutzen kann hab ich getrennte Wicklungen mit 0,5V + 1V + 2V + 4V + 8V + 16V + 32V + 64V + 128V + 256V, die an Bananenbuchsen endeten, aufgebracht. Diese konnte ich mit kurzen Verbindungen nach Bedarf zusammenstöpseln und hatte so alle Spannungen bis 512V verfügbar. Später mußte ich
gewünschten Spannungen nutzen kann hab ich getrennte > Wicklungen mit 0,5V + 1V + 2V + 4V + 8V + 16V + 32V + 64V + 128V + 256V, > die an Bananenbuchsen endeten, aufgebracht. > [...] und hatte so alle Spannungen > bis 512V verfügbar Michael H. schrieb im Beitrag #8029771: > mit einem großen Schraubendreher
-
Thread
Claude Code trifft AVR-Assembler: vom Chip in den Browser mit einem Prompt
Das stellte sich wahrscheinlich als Glücksfall heraus, denn als Alternative wich Claude direkt auf [avr8js](https://github.com/wokwi/avr8js) aus, einen Javascript-basierten AVR-Simulator, der wahrscheinlich sowieso die sauberere Alternative war. Aber wie kann das nun funktionieren, eine Mikrocontroller-Echtzeitsimulation
c3-Konstanten sichern die Identifikation. Rekonstruiertes C (funktionsgleich) [code] #include <avr/io.h> #include <avr/interrupt.h> #include <avr/wdt.h> #define SCK_PORT PORTB #define SCK_BIT PB2 #define DATA_PIN PINB #define DATA_DDR DDRB #define DATA_BIT PB4 #define PWM_BIT PB1
-
Thread
Schulnotenbewertung eines Arduino-Programms
beim letzten Ausschieben ein Strobe-Impuls gegeben). Interessanterweise funktioniert shifOut auf AVR erwartungsgemäß korrekt, aber auf einem CH32V003 mit entsprechendem Core nicht (die "Library" hier jedoch schon). Aus diesem Grund verwende ich jetzt dann doch eher sn74hc595. Arduino F. schrieb
#8045143: > in Arduino ist ja scheinbar die <string.h> verpönt. Ist sie nicht! Leider ist bei dem AVR-GCC die libstdc++ nicht dabei. Damit gibts kein std::string Verpönt ist nicht das gleiche, wie unmöglich. Die 32Bit und 64Bit Arduinos oder auch Fremdprodukte haben std::string durchaus dabei.
-
Thread
Programmierfehler bei 0x3E000 im ATmega2560, wenn mySmartUSBlight per ISP verwendet
256 KB mit rund 31 Sekunden etwa doppelt so schnell wie der mySmartUSBlight ;-) Danke an das myAVR-Team für die schnelle Korrektur.
problemlos zu sein. Nach dem Downgrade der Firmware von V1.21 auf V1.19 sind die Lesefehler weg. Das myAVR-Team ist bereits informiert.
-
Artikel
Gleitkommazahlen
style="text-align:right"| 11 bit double precision Achtung: Abweichend vom Standard sind double beim AVR-GCC und der avr-libc auch nur 32 Bit! long double style="text-align:right"| 80 Bit style="text-align:right"| 1 bit style="text-align:right"| 64 bit style="text-align:right"| 15 bit extendend precision
bei Rechnungen solche Fehler Hinweise. Bei alten (und oftmals heute noch genutzten) Versionen des avr-gcc (<10) wird sowohl float, als auch double mit 32bit gespeichert und gerechnet. Damit verhalten sich diese älteren avr-gcc-Versionen nicht Standard-konform, sparen aber auch Speicher und Rechenzeit
-
Artikel
AVR Arithmetik
RAM 2 3 Bytes dynamisch, 0 Bytes statisch Laufzeit 265 310 Ticks (inclusive Zeiten für CALL+RET) sqrt32.S (sqrt32_round) Abrunden. Siehe auch AVR-LibC 2.3 sqrtu16_floor sqrtu32_floor sqrtu64_floor sowie die sqrt Funktionen in . + Ressourcen-Verbrauch, Abrunden Flash 60 Bytes RAM 2 3 Bytes dynamisch, 0
in VHDL ebenfalls VHDL 32 Bit in C 16 und 32 Bit C und AVR-Assembler Assembler für AVR-GCC bis 256 Bit 2 hoch x , wenn x kein Integer ist schnelle dezimale Division auf AVR & Co. Sinus und Cosinus. siehe AVR Arithmetik/Sinus
-
Thread
[S] Suche noch Adpater von TQFP32 zu DIP
Der AVR46DD32 soll auf den Adapter passen und hat Pin Abstände von 0.8mm. Adpater kann die Pins rechts und links haben oder Quadratisch und dann drumherum die Pins. Das ist egal. Wer noch was rumliegen hat
Also eines der 32-pin-Gehäuse VQFN32 / TQFP32, warum nicht gleich die korrekte Bezeichnung? https://ww1.microchip.com/downloads/aemDocuments/documents/MCU08/ProductDocuments/DataSheets/AVR64DD32-28-Complete-DataSheet-DS40002315
-
Thread
LC Messschaltung 'läuft weg'
Ding irgendwann mal eine Neufassung machen – nicht mehr in Assembler und auch nicht mehr mit einem AVR, sondern mit einem STM32 und in C-Sprache, weil die Schreiberei samt Rechnerei damit viel bequemer wird. Es ist ja auch nicht so ganz simpel, es so zu schreiben, dass der Messbereich (nH, µH, mH) sich automatisch einstellt, egal welchen Induktivitätswert man messen möchte, wenn man es in AVR-Assembler mit 32- und 64-Bit-Integern macht.
-
Thread
Stromsparende Schaltung Klimalogger auf Basis Rasp Pi Pico
Christie schrieb im Beitrag #8035199: > Es (das STM32G031 Board) scheint mir auch weniger Beginner-freundlich zu sein wie Arduino Das Board wird von Arduino unterstützt: https://github.com/stm32duino/Arduino_Core_STM32#generic-stm32g0-boards > Beim
Löschen: Da muss man mindestens einen /sector/ (16 pages) 4KiB löschen. Oder einen /block/ à 32 KiB. Oder einen /block/ à 64 KiB. Oder den ganzen Chip. Nemopuk schrieb im Beitrag #8044369: > Eventuell reicht die Lebensdauer des > internen Flash schon aus. Hatten wir schon. Sekündlich
-
Artikel
STM32
STM32F0 (2013) ARM Cortex M0 bis 48 MHz STM32C0 (2022) ARM Cortex M0+ bis 48 MHz - billig STM32G0 (2018) ARM Cortex M0+ bis 64 MHz STM32F1 (2007) ARM Cortex M3 bis 72 MHz - die älteste STM32 Serie STM32F3
JTAG und SWD (Serial Wire Debug) Interface LCD Treiber für bis zu 8x40 Segmente TFT Treiber bei STM32F429/STM32F439 STM32F469/STM32F479 und vieles mehr ... Struktur der Dokumentation. Die Dokumentation der STM32 ist im Vergleich zur AVR-Familie umfangreicher und komplexer. Sie teilt sich in mehrere Dokumente
-
Thread
Artnet-DMX-Node mit 2× DMX Out + 1× DMX In, komplett galvanisch getrennt - gibt es ähnliche Projekte
1 galvanisch getrennten DMX-Eingang besitzt. Das Ganze basiert auf einem von mir gerne genutzten WT32-ETH01 (ESP32 + Ethernet), soll aber von der Hardware her tourtauglich, störunempfindlich und elektrisch sauber getrennt aufgebaut sein. 1. Funktionales Ziel: - ArtNet per Ethernet empfangen - 1
Jahren basierend auf diesen beiden Projekten gebaut. https://shop.ulrichradig.de/Light-Control-DMX/AVR-Node-Bausatz.html http://www.digital-enlightenment.de/usbdmx.htm Sehr cool, dass es die Seiten dazu auch nach Ewigkeiten noch gibt. Meine neuste Version basiert auch auf einem ESP32, aber ohne galvanische
-
Thread
Bosch CJ125 mit AVR AT90CAN64
Grundlage zu diesem Projekt ist ein CJ125 Lambdacontroller von Bosch. Ausgewertet wird dieser über einen AVR AT90CAN64. Dieser regelt einen Mosfet mit PWM und steuert die Heizung der Lambdasonde. Der AVR kommuniziert auch über SPI mit dem CJ125. Dass ganze habe ich im KiCad designt, PCB machen lassen und die
längst mit einem solchen probiert. Aber falls jemand noch einen übrig hat (am besten in einem LQFP32 Gehäuse), kann er sich gerne bei mir melden. Wer hat in diesem Gebiet Erfahrung und kann mir helfen? Ich wäre über jeden Hinweis und Hilfe sehr dankbar. Anbei noch alle dazugehörigen Daten wie
-
Thread
AVRs Arduino STM32 displays
kleine Sammlung abzugeben. Link zu Kleinanzeigen https://www.kleinanzeigen.de/s-anzeige/elektronik-avr-arduino-displays/3543159592-168-10528?utm_source=sharesheet&utm_medium=social&utm_campaign=socialbuttons&utm_content=app_android
: Arduino Mega2560 unbenutzt ca. 19€ ebay Arduino Uno r3 unbenutzt im Original Karton ca 13€ STM32 bluepill mit programmer ca 15€ AVRs: ATmega 128 DIP schonmal genutzt ATmega 644 DIP schonmal genutzt ATmega 162 DIP schonmal genutzt ATmega 48 QFP32 mit adapterplatine ATmega 328 DIP(Arduino
-
Thread
Wasserstandsmessung mit RaspberryPico und Drucksensor MPX2050DP
folgender Maassen konfiguriert: ADC_CFG = 0x88 # Kanal 1, One-Shot, 16-bit, PGA x1 Jede Messung wird 32-fach gemittelt (Integer-Summation, einmalige Float-Konvertierung am Ende). Dies reduziert das Rauschen um Faktor sqrt(32) = 5,7. ADC-Auflösung: 16-bit / 62,5 uV pro LSB. *Lineare Kalibrierung:* Die
aus. Perfekt für diese Anwendung. Fuerchte nur, der zugehörige Display Treiber Code waere für einen AVR etwas zu anspruchsvoll.
-
Thread
Debounce von Tasten mit dem Candidate-Pattern (Platformunabhängig, Theorie)
RELEASED Zusatzinformation im Event -------------------------- [c] typedef struct { uint32_t pressedMask; uint32_t releasedMask; uint16_t stabilityCount; } ButtonEvent; [/c] Beispielimplementierung (Arduino) --------------------------------- [cpp] void MatrixKeys:
Hobbyanwendungen immer so realisiert: da ich meistens ohnehin einen Timer am laufen hatte (PIT bei neueren AVR), habe ich den Zustand der Taste(n) per GPIO schlicht alle 1/64 Sekunden (~ 15,6 ms) erfasst. Die durchschnittliche Betätigungsrate eines Menschen (mit einem Finger!) beträgt ~ 5/s, geübte schaffen
-
Artikel
Festkommaarithmetik
Zwischenergebnissen keine arithmetischen Überläufe auftreten, also genügend grosse Variablen benutzen (16/32/64 Bit Integer) Achtung!: Ein klassischer Fehler ist die Benutzung zu kleiner Variablentypen für den Multiplikationsfaktor oder andere Variablen. Das geht schief, weil C dann nur mit dem kleinen Zahlentyp
Größe: In der Zeile ergebnis = adc * (long)k setzt der Compiler das Unterprogramm 16 bit × 16 bit = 32 bit ein, und nicht das nächstgrößere 32 bit × 32 bit = 32 bit. Man sollte mindestens eine Variable auf der rechten Seite genauso groß deklarieren wie das Ergebnis auf der linken Seite oder einen Cast
-
Thread
Fehlersuche LM741 im Thermostat Alre ITR 71
komisch aus. Das Multimeter zeigt an V-: 0,7V V+: 5V Negierender: 3,65V Nicht Neg: zwischen 3,64 und 3,9V Out ist bei 1,8V+ Kann es sein, dass meine V- zu weit oben hängt? Erkennt jemand auf dem Bild wo die V- für den Opamp herkommen könnte? Bin für jede Hilfe dankbar.
Vervielfacher aus einer Trafowicklung kann auch eine Ladungspumpe mit einem 7660 oder einem missbrauchten RS32 Wandler-IC vorliegen. Deren Elkos können auch das Problem sein. Immer versuchen, das Schaltungskonzept hinter den verbauten Komponenten, versuchen zu verstehen.
-
Artikel
AVR - Die genaue Sekunde / RTC
, wenn irgendein Timer mit einer Überlauf-Interruptfrequenz > 1Hz arbeitet. Dann kann die ISR eine 32-bit-Konstante auf einen 32-bit-Akkumulator addieren; bei Überlauf ist eine Sekunde vergangen. Zugegeben, es gibt "lange" und "kurze" Sekunden, aber der Fehler summiert sich nicht, und der Code ist sehr
multipliziert wird. Der Faktor sollte so gewählt werden, dass: Das Ergebnis actual_value immer in 32 Bit hineinpasst. Die Multiplikation durch Schiebeopertionen ersetzt werden kann, weil der Faktor eine 2-er-Potenz ist. (Das erledigt avr-gcc) Immer wenn tsdaytim_calibrated() erkennt, dass eine Sekunde
-
Thread
uSDX+ mit FW 4.00e und die CW Tastung
Hier würde ich zunächst zwischen dem CW-Shaping im AVR-Code und dem Einschaltverhalten des Si5351 unterscheiden. Wenn der Spike bereits vor dem eigentlichen Ramp-Code auftritt, wird eine Änderung an ramp[] vermutlich wenig bringen. Interessant wäre deshalb
Diesen kann ich direkt aus der Arduino-IDE (bei mir Ver. 2.3.9) verwenden. Ich programmiere den AVR unter Linux mit arduino-ide_2.3.9_Linux_64bit.AppImage und habe soweit keine Probleme. Beim (tr)SDX kann natürlich die Sache wieder ganz anders aussehen, vor allem wenn es sich um proprietäre FW handelt
-
Thread
PC-Software XCP-Ray: Messen und Kalibrieren über XCP Linux + Windows - kostenlos für Maker
und CSV, Python-Schnittstelle für automatisierte Tests Für eigene Boards: Für Arduino-Boards (AVR), Raspberry Pi Pico und STM32 gibt es die Bibliothek x1xcp_serial. XCP läuft über den USB-Seriell-Port in Rahmen (COBS + CRC16), dazwischen bleibt Serial.print() nutzbar, der Text landet in einer Konsole
kostenlos bleiben. Getestet habe ich mit einem Infineon XMC4700, einem Seriensteuergerät über CAN, ESP32, ESP8266, Arduino Nano, Pico und STM32. https://xcp-ray.de https://youtu.be/vctjwOZx-YY https://youtu.be/5q_fo_C64Vw Ich freue mich über Kritik und Erfahrungsberichte! Viele Grüße Florian
-
Thread
Hilfestellung bei der Auswahl des richtigen PCB-Prototypen-Erstellungswerzeugs
um den Faktor 10 schnelller UND VOR ALLEM ZUVERLÄSSIGER als das neueste bunte drag & drop Windows 64-Bit Tool mit Cloudanbindung für mehrere Tausend Euro. Merke: Nur weil etwas für dich das NonPlusUltra ist, muss das nicht zwangsläufig für alle anderen auch so sein. ;-)
F. schrieb im Beitrag #8064950: > Pinabstand >=1.27mm ATmega328P SOIC? Das schließt ja STM32 usw. schon mal aus, bzw. dann muss das Dev Board im ganzen drauf.
-
Artikel
Wanderkiste (Widlar)
, mal schauen was sich ggf. noch findet... S: Retro-Home-Computer ICs (Atari/Amiga/C16,C116,Plus4,C64,VC20), STM32 Controller/Boards, praktische ICs, neue Bauteile ((FE)T,R,C...) mal schauen was so dabei ist. 7 Hobby B. 25.02.2023 06.03.23 003404344200652675 12,7 kg 8 Martin S. 45xxx S. VFD Display,
02017172001696 Hermes 3 Stefan V. 10xxx 22.01.2024 07.02.2024 02038150017171 Hermes 18,3kg B: Orange Pi Zero, PY32F00x, STM32F030K6, ESP8266 Module ESP-01/12, SMD Speicherdrosseln, SMD (Power)LEDs, ENC28J60 Module 4 Benedikt M. Süd-DE 10.02.2024 12.02.2024 02043127007598 Hermes, 20.2 kg S: Orange Pi, Pi Pico, SMD
-
Artikel
FIFO
Diese FIFOs sind auf so ziemlich allen Plattformen nutzbar, entwickelt wurde sie jedoch auf einem AVR. Daher ist im FIFO im Moment auch noch eine Begrenzung der FIFO-Größe auf 64kiB vorhanden, welche aber leicht per typedef in fifo.h abgeändert werden kann. Ebenso kann die Größe der FIFO-Elemente eingestellt werden (8, 16, 32 Bit, ebenfalls structs). Alle FIFO-Funktionen sind interruptsicher aufgebaut, d.h. die kritschen Zugiffe auf die FIFO-Kontrolldaten erfolgen atomar. Damit ist der Einsatz im Hauptprogramm und in Interrupts