-
Thread
Problem mit Clock Configuration beim STM32G031
Hallo Zusammen, ich wollte mich mal mit den relativ neuen STM32G0xx MCUs befassen und ein kleines Test Projekt erstellen. Nun habe ich aber das Problem, dass ich die Clock nicht zum laufen kriege. Ich verwende einen STM32G031F8P6. In meinem Code möchte ich den
STM32CubeMX verwenden. Da kann man sich auch die Clock-Konfiguration optisch darstellen lassen.
-
Thread
Mikrocontroller lernen als E-Technik-Student: Assembler bzw 8 Bit noch sinnvoll?
. 8-Bit oder 32 Bit: Egal, nimm was gängiges, also AVR oder Cortex-M0/3/4. Hier gibt es im Netz oder in Foren viel Unterstützung. Stefan Frings hat z.B. ganz brauchbare Tutorials geschrieben http://stefanfrings.de/mikrocontroller_buch2
den Großteil nicht mehr. NEC, Mitsubishi, Fujitsu um nur einige zu nennen. Falls du meinst, der STM32F103C8T6 sei eine ganz andere Prozessorfamilie als der STM32F103CBT6, dann kommt deine Rechnung eher hin. W.S.
-
Artikel
DCF77-Funkwecker mit AVR
vom AVR sauber auf GND zu ziehen (typ. 50 k ). Dieses Modul muss direkt an einen CMOS-Eingang ohne Pull-Ups und sonstige Beschaltung angeschlossen werden. Weiterhin ist zu beachten, dass das Modul relativ empfindlich
alle leuchten würden. Im Beispiel wurde für diese Aufgabe Timer2 verwendet. Bei einem Prescaler von 64 ergibt sich eine Durchlauffrequenz von 8 MHz/64/256=488 Hz. Dadurch "flackert" jede Anzeige mit 488 Hz/4=122 Hz, was vom menschlichen Auge nicht mehr wahr genommen wird. Für die normale Zeitgewinnung
-
Thread
Abschätzung uC Größe/Performance
Hallo, du müsstest dich erstmal entscheiden ob du AVR oder ARM oder STM haben willst. Das ergibt sich eigentlich von deinem Gefühl/wie aufwändig dein Programm ist, und was für Laufzeitanforderungen du hast (Batterie/Stromverbrauch). Dann kannst in
grösse mit Taktraten Hand in Hand wachsen wird es nicht so schwer sein. Nimm einen Compiler, für AVR oder PIC32. Lass dein Programm kompilieren und gucke es an wie viel an Flash es braucht. Dann kannst du dir einen uC dafür aussuchen und schauen, dass du noch bisschen reserve hast. So grob 100% Reserve
-
Thread
Spielekonsolen mit AVR
> RAM kann man ja bis 64 Kb an den AVR anschließen. Mit (RAM)Banking kann man unbegrenzt (S)RAM an den AVR anschliessen. Bsp.: Ab Adresse $1100 werden die oberen AdressBits für die Bänke (in FF-ICs (bsp '374 '
Konfig-Byte für verschiedene Aufteilungs-Varianten., geht in PLD (*)) Ab Adresse $8000 (obere 32kB vom AVR) werden diese Bänke (mittels 32kB- / 16kB- / 8kB- / 4kB- Pages) dann adressiert. (bsp. 1x32kB oder 2x16kB oder 4x8kB oder 1x16kB u. 2x8kB oder ...) (*) das PLD schaltet die
-
Thread
AVR- C: Welche einfachen Projekte für den "Einstieg"?
, vor allem im Band 3: http://stefanfrings.de/mikrocontroller_buch/index.html Und wenn dir die AVR mal zu klein oder zu langweilig werden, geht es dort mit STM32 weiter: http://stefanfrings.de/mikrocontroller_buch2/index.html Oder du fängst gleich mit STM32 an - wie du willst. AVR sind einfacher
ARM vs. AVR geht man vom gängigen aus Atmega32, 664 etc pp und Bluebill etc. Es gibt immer von allen auch komplexe Beispiele, auf so einer Basis lässt sichs aber kaum sachlich diskutieren "> doch das muß
-
Thread
AVR-ISP verbindet nicht mehr unter Win7-32bit
erst sporadisch, jetzt dauerhaft verbinden sich meine beiden AVR-ISP ( Erfos ) nicht mehr unter Win7-32bit. Unter Win7 64 auf einem anderen Rechner läuft es. Hat jemand das schon mal erlebt? Habe alle Serielle-Schnittstelle-Tools entfernt. Nix. Wer funkt da dazwischen
gut: > > https://www.uwe-sieber.de/misc_tools.html#arbiter Danke für den Tip. Jetzt läuft mein AVR-ISP wieder. Ich bin fast verzweifelt. Es lag also an der Überladung von in meinem Fall COM3 mit Geräten.
-
Thread
AVR128DA per USB flashen?
das debuggen, sondern um ohne > Programmiergerät das Modul flashen zu können, so wie es mit dem ESP32 > möglich ist. Nimm doch den ESP32, der kann eh viel mehr. Wobei die älteren ESP32, also nicht ESP32-S2/3, auch keinen USB haben und nur über einen USB-Seriell-Adapter (oder JTAG) geflasht werden
Programmierer schrieb im Beitrag #7191178: > Nimm doch den ESP32, der kann eh viel mehr. Und er verbraucht auch viel mehr. Dazu kommt, daß er weniger I/O-Leitungen hat; den AVR128DA gibt es im 64-Pin-Package mit 55 I/O-Pins. Der ESP32 hat nur 34 I/O-Leitungen.
-
Thread
SPI mit Attiny 841 und MCP23S17
und gemäß Bild "Figure 17-2 SPI Master-Slave Interconnection" von ATtiny441/841 [DATASHEET] 8495H–AVR–05/2014 steht es so... kann mich aber natürlich irren ... wahrscheinlich weißt Du es besser
Minimum zu setzen mit 'SPCR = (1<<SPE) | (1<<MSTR) | (1<<SPR1) | > (1<<SPR0)'. und SPI2X => f/64
-
Thread
Eigenbau Einspeisewechselrichter
funktioniern. Nur wie man die spikes eliminiert ... da fehlt mir die erfahrung. Die pwm frequenz von 32 khz könnte man mit einem clone prozessor, dem LGT8F328P auf 64khz erhöhen. Die sind sogar billiger als die at328p.
trafo's. Bei 40W leistung. Sieht gut aus, vollständiger abbau magnetfeld vor dem nächsten aufladen. Die 64khz waren zu schnell um den abbau des magnetfeldes zu erlauben. Bei 32khz klappt das viel besser. Könnte trafoabhängig sein! Man könnte den nulldurchgang dieser spannung über den analog comparator
-
Artikel
LED cube
komplett mit space invaders und ohne GEMA-Zensur): (1.0, GEMA-Zensiert) Randdaten. 512 blaue LEDs ATMega32 sehr schneller Code umfangreiche Animationen ca. 1/2 ASCII Support Todo (eventuell auch erst beim Nachfolger). Musiksteuerung SD Card + Simple PC-Software für Animationen Benötigte Teile. Ich habe folgendes
73: Vorwiderstände, so bemessen, dass jede LED mit 8,75mA läuft U1: 7805 U2-U9: 74HC573 IC1: ATMega32 X1: 16MHz Die 8,75mA sind notwendig, weil der 74HC573 nur max. 70mA auf allen Ausgängen zusammen sourcen kann. Bei einer superhellen LED reicht das aber aus. Da dieser Punkt immer wieder unklar ist:
-
Thread
Timer Atmega während Interrupts
#7182616: > Guten Morgen > Bevor ich mich dumm und dusselig suche ;-) > Ich programmiere einen ATmega64 und brauche relativ zuverlässige 3 > Stunden, die ich über millis() abfrage. Die berühmt, berüchtigte Arduino-Funktion. Gibt es überhaupt einen offiziellen Arduino mit ATmega64? > Nun habe ich
() angehumpelt kommen, muß man das nicht nachmachen. Schau z.B. in das [[AVR-Tutorial:_Timer]]
-
Thread
Pic Program compilieren usw
Für die x8/16/32 compiler gibt es Medizin auf Github!
Rohs schrieb im Beitrag #7173607: > Apollo M. schrieb: >> Für die x8/16/32 compiler gibt es Medizin auf Github! > > Was meinst du Damit? Wahrscheinlich dies: https://github-com.translate.goog/Redouane64/PIC-on-VSCode?_x_tr_sl=en&_x_tr_tl=de&_x_tr_hl=de&_x_tr_pto=sc
-
Artikel
AVR-CORDIC
=AVR-Arithmetik mit dem CORDIC-Algorithmus= Der Cordic-Algorithmus bietet eine ganze Reihe mathematischer Funktionen. Er wird seit den ersten Taschenrechnern bis zu den mathematischen Befehlen der Pentium-Prozessoren
nicht. CORDIC im Diskussionsforum. "echter" double mit AVR-GCC Cordic-Algorithmus, FPGA CORDIC-Core Xilinx Mischung mit sin/cos in VHDL Genauigkeitsproblem, FFT im FPGA Wurzel mit Cordic auf Spartan3E sin/cos mit Cordic-Algorithmus in AVR-Assembler Bücher &
-
Thread
Auswahl eines passenden Nucleo Boards
M0...M4 sind schon deutlich einfacher was den Core angeht. Aufwändiger sind Taktkonfiguration (STM32Cube hilft), das man Takte für die verschiedenen Devices erst einschalten muss, die vielen Optionen in den Peripheriedevices und dann noch DMA Möglichkeit die bei STM32 sehr unterschiedlich und wenig
Speicher. Meine Erfahrungen damit habe ich dort zusammen gefasst: Siehe http://stefanfrings.de/stm32/index.html > Je nach Board scheint der Aufpreis für einen > M7 gegenüber einem M3 nur ein paar Euro zu betragen. Die Nucleo64 Boards sind mehr oder weniger als Werbeartikel zu verstehen. Sie
-
Thread
ATmega328P-Platine
Betriebsspannung, dafür 100 MHz, 24k RAM, CAN-FD statt CAN 3. https://www.microchip.com/en-us/product/PIC32MX270F256B - 32 Bit MIPS, 50 MHz, 256k Flash, 64k RAM, Codeausführung auch aus dem RAM, USB, etc etc, auch im SDIP28. Ja, man muss sich etwas umgewöhnen, aber diese Teile sind deutlich einfacher
nicht richtig. Folge dem Link und du findest <zitat> The high-performance, low-power Microchip 8-bit AVR® RISC-based microcontroller combines 64 KB ISP Flash memory with read-while-write capabilities, 2 KB EEPROM, 4 KB SRAM, </zitat>
-
Thread
phasenverschobene PWM mit STM32F103C3
defined, VCC is used. //#define USE_2V56_REFERENCE #define USE_1V1_REFERENCE main.c: #include <avr/io.h> #include <avr/interrupt.h> #include <avr/sleep.h> #include "config.h" uint8_t cycle = 0; uint8_t pwmCycle = 0; int32_t dutyCycle = 0; int32_t adcMovingAverage = 0; uint16_t avgBuffer
Lösungen: > von Matthias S. (Firma: matzetronics) (mschoeldgen) > 04.06.2012 07:23 Ich habe die AVR447 auch auf den kleinen STM32F100RB portiert, der auf dem VLDiscovery Board ist, allerdings natürlich auf den Advanced Timer mit den bis zu 4 CC Kanälen. Die Anwendung von DMA ist völlig unnötig, weil
-
Thread
Wo bekommt man zurzeit noch Mikrocontroller her.
Wer Boards mit STM32 und Display möchte, das finde ich aktuell ganz OK: STM32H7B3I-DK Bei Mouser gibt es noch ein paar.
! Erzähl doch nicht so eine Grütze, genau das mach ich alle paar Wochen, entweder von PIC -> STM32 oder von STM32 -> STM32. Wenn man seinen Code relativ portabel hält, ist das alles nicht die Welt.
-
Thread
ATmega4809 TCA Input Event Counter
MegaCoreX erforderlich TCA0 zählt über den Event Eingang die Überläufe der RTC */ #include <avr/io.h> #include <avr/interrupt.h> #include <util/atomic.h> void setup (void) { Serial.begin(9600); Serial.println("\nuReset ### ###"); initRTC(); initTCA0
RTC.STATUS > 0) { ; } // warten auf Register Syncronisierung RTC.CLKSEL = RTC_CLKSEL_INT32K_gc; // Periodendauer 30,518µs RTC.PER = 64; // = 1000ms / 15,625ms // RTC.CTRLA Bug, see Errata byte temp {0}; temp |= RTC_PRESCALER_DIV512_gc; // Prescaler
-
Thread
8051 (AT89C51RC2), externer Programmcode wird nicht ausgeführt
Hallo, ich nutze einen AT89C51RC2 (32k Flash) mit externem RAM (64k). Unterhalb von 8000H erfolgt der Zugriff jeweils getrennt zwischen internem Flash und externem RAM. Da der µC nur 32k Flash hat, sorgt die Beschaltung (/RD und /PSEN durch
sich auch über SPI (4 Leitungen) programmieren und so die Lockbits rücksetzen. Die haben zwar alle 64kB im Flash, mit dem FBS-Bit kann man aber zur Laufzeit die oberen 32kB nach extern mappen.
-
Artikel
AVR Transistortester
, 126x64 Pixel LCD, ST7920 Controller trunk/mega328_fish8840 Makefile und Daten für chinesische Fish8840 Version, ATmega328, 126x64 Pixel LCD, ST7565 Controller trunk/mega328_wei_st7565 Makefile und Daten für
für ATmega328 mit Standard-Layout, 126x64 Pixel OLED, SSD1306 Controller, I2C Schnittstelle trunk/mega328_ssd1306SPI Makefile und Daten für ATmega328 mit Standard-Layout, 126x64 Pixel OLED, SSD1306 Controller, SPI Schnittstelle trunk/mega644
-
Thread
32 Bit MCU gesucht
Also wenn man auf einem C64 Fraktale berechnet hat, dann ein AVR auch einen poopligen Taupunkt berechnen: https://www.stefanbion.de/fraktal-generator/history.htm
im gleichen Gehäuse wie der Mega328. Und theorethisch gibt es in der Familie zig Varianten, so 48, 64, 100 Pins, weniger Speicher. Der Unterschied zwischen ATSAMC20 und ATSAMC21 ist, der C21 hat CAN-FD, beim 32er Pin 1 Kanal, ab 64 Pins zwei Kanäle. Dabei fällt mir das hier ein: https://github.com
-
Thread
8051 und float
einfach vorher noch nie auf 8051 float genutzt und war halt überrascht dass es geht :-) Sogar echte 32-Bit Single Precision, nicht sowas: https://en.wikipedia.org/wiki/Bfloat16_floating-point_format Schon Immer schrieb im Beitrag #7145664: > Wie groß ist das Programm? 16k, 32k oder etwa noch mehr? Ist ein C8051F580 mit 128k das Programm ist so 32k gibt aber noch so 64k const Tabellen. Da ich dieses 8051 Banking nicht verstehe und auch nicht lernen wollte, habe ich für die const Tabellen einfach ein Wrapper Makro gemacht ähnlich AVR pgm_read_byte_far
-
Thread
Diskettenlaufwerk ansteuern
Entweder hast du meinen Hinweis auf CCL überlesen oder du weisst nicht einmal, was das ist, weil deine AVR8-Kompetenz auf dem Stand von vor 5..10 Jahren eingefroren ist. Und was den Takt betrifft: ganz offiziell können die AVR8 heutzutage 24MHz, inoffiziell sogar 32MHz. Verstehst du jetzt das mögliche
noch Laufwerke dafür mehr. Ich halte es aber für durchaus möglich, mit den Features der neueren AVR8 einen HD-fähigen Floppycontroller umzusetzen. Konkret mit einem AVR128D(x)48 oder-64. Ich sehe eben bloß keinen Sinn darin, das tun zu wollen.
-
Thread
Hilbert Transformation im uC berechnen
Eines muss ich noch nachschieben. In der Zeile 13 sollte man die Multiplikation explizit auf 64 bit casten, damit man mehr Dynamikbereich bekommt. signal_top_right = ( (int64_t)coeff * (delay[0]-x) ) >> 16;
Baustelle... Auch dazu habe ich mal einen Artikel verfasst: https://www.mikrocontroller.net/articles/AVR-CORDIC
-
Thread
AVRDUDE und Intel-Hex
Vielen Dank für die schnellen Antworten! Ich wollte es einheitlich mit AVR-Studio, weil ich das EEPROM-File selber Parse / erstelle. Dann werde ich das einfach in meiner Software variabel gestalten... Grüße, Achim
konvertieren, Füllen, Abschneiden etc. aber auch einfach die Länge einer Intel-Hex Zeile ändern. Von 32Byte Daten zu 64Byte pro Zeile: srec_cat dump.hex -intel -output dump_formatx.hex -intel -line-length=76 Von 64Byte Daten zu 32Byte pro Zeile: srec_cat dump.hex -intel -output dump_formatx.hex -intel
-
Thread
Suche günstigen Mikrocontroller mit Ethernet
die 7er haben doch Ethernet, STM32F107, F207
Oder einen "Clone" von GigaDevice. Hier einer im LQFP64-Gehäuse: https://www.tme.eu/de/details/gd32f107rgt6/mikrocontroller-sonstige/gigadevice/
-
Thread
C++ in (deeply) Embedded Systemen für Neuprojekte Gesperrt
Hier kommt nur noch C++ zum Einsatz, von AVR 8Bit bis ARM32-Bit. Resumee: Alles in allem schneller Entwicklung und viel weniger Fehler. Allerdings: Grundlage für den Erfolg / Verbesserung ist die extrem starke Nutzung von Compile-Time-Features
Nur mal so als Beispiel eines einfachen, entkernten Projekts mit einem avr128db64 auf einem Testboard mit vielen externen Geräten. Die meisten Treiber dafür habe ich in dem Beispiel entfernt, denn compilieren könnt Ihr das eh nicht, weil zuviele weitere Header-Files (header-only
-
Thread
Wie statisches HTML/css/javascript in C/C++ Projekte einbinden?
muss ich mal versuchen rauszukriegen, wie ich an das richtige > objcopy komme .... Du musst halt avr-objcopy oder arm-none-eabi-objcopy eingeben je nachdem was das Target ist. Die elf32-little Angabe muss leider auch Target-Spezifisch angepasst werden, weiß grad nicht was dafür AVR hin muss.
ich die *.o Datei per: [code] xtensa-lx106-elf-objcopy --input-target=binary --output-target=elf32-xtensa-le meine_externe_textdaten.txt meine_externe_textdaten.txt.o [/code] Ich hatte auch andere output-target Formate versucht (elf32-xtensa-le elf32-xtensa-be elf32-little elf32-big), aber ohne
-
Thread
Atmega32 16Bit PWM oder 10 Bit?
PWM, 8-bit Fast PWM, 9-bit Fast PWM, 10-bit Parameter prescaler chooses prescale value N = 1,8,64,256 or 1024 (some modules support 32 and 128, but for this you will need to check the datasheet for the desired MCU). Paremeter inverted is for choosing between inverted and non inverted PWM signal.
Auswahl gibt es Es gibt auch 16 Bit Modi. http://download.mikroe.com/documents/compilers/mikroc/avr/help/pwm16bit_library.htm
-
Thread
Schieberegister ersetzen
AVR verbindet? Dann wäre der Takt doch starr, und der AVR müsste nur schnell genug zum richtigen Zeitpunkt in das Transfer-Register schreiben. Wenn das nicht funktionieren würde, könnte man den AVR ja
https://ww1.microchip.com/downloads/en/Appnotes/Atmel-2585-Setup-and-Use-of-the-SPI_ApplicationNote_AVR151.pdf Meinst du wirklich, daß ich nicht weiß, wie SPI beim AVR funktioniert? OMG!
-
Thread
PIT bei ATMEGA4809 macht nicht was ich gerne hätte
RTC.STATUS > 0) { ; } // wait for all register to be synchronized RTC.CLKSEL = RTC_CLKSEL_INT32K_gc; // period duration 30,518µs RTC.PER = 64; // set period -->> 1000ms / 15,625ms // RTC.CTRLA Bug, see Errata byte temp {0}; temp |= RTC_PRESCALER_DIV512
Schlafphasen > nutze ich den PIT (Periodic interrupt timer) Beim PIT beträgt die längste Periode nur 32s. Der RTC kann wesentlich längere Perioden generieren. Hier ist ein Beispielcode (getestet am ATtiny402) Periodendauer: ca. 10 min LED-Leuchtdauer: ca. 0.5s [c] #include <avr/io.h> #include
-
Thread
Ich suche das Schlechteste OS von Mikrosoft
Windows10 noch *NICHT* entfallen, sondern erst bei Windows11. Bis einschließlich Windows10 hatten die 32Bit-Varianten immer das 16Bit-Subsystem an Bord, die 64Bit-Varianten hingegen nie, schon seit der allerersten (XP64) nicht. Das endgültige Entfallen des 16-Bit-Subsystems bei Windows11 liegt also schlicht nur daran, dass es davon keine 32Bit-Variante mehr gibt.
-
Thread
STM32 Quarz und PLL
Quarz zu nehmen und mit der PLL auf 64Mhz zu erhöhen anstatt einen 32 Mhz zu nehmen und diesen entsprechend nur halt entsprechend weniger mit der PLL zu multiplizieren? Kann mir jetzt höchstens vorstellen das mit zunehmendem Multiplikator
Beitrag #7126510: > Denkbar wäre aber auch "das macht doch jeder so". Dann könnte man ja auch einen AVR als Alternative vorschlagen. Der TO möchte 64 MHz. Wenn er weniger haben möchte, kann er seine PLL anders einstellen.
-
Thread
sehr langsamen Takt erzeugen
the counter. A wide range of resolutions and time-out periods can be configured for the RTC. With a 32.768 kHz clock source, the maximum resolution is 30.5 μs, and time-out periods can be up to two seconds. With a resolution of 1s, the maximum time-out period is more than 18 hours (65536 seconds). (tinyAVR
Sie blaue Pillen? Dieser Begriff kann in einem uC-Forum durchaus mehrdeutig sein. ;) https://stm32-base.org/boards/STM32F103C8T6-Blue-Pill.html
-
Thread
AVR128DA28 9600Baud mit 24MHz
dass es keinerlei "interne Quarze" > gibt... Um auch etwas klugzuscheißen: das mag zwar für eine AVR mcu gelten, eine DS3231 hat aber einen internen Quarz, sogar einen TXCO. Wenn schon kleinlich, dann richtig :-) Michael
#7122598: > mit dem internen Quarz. Michael D. schrieb im Beitrag #7123888: > das mag zwar für eine AVR mcu gelten, eine > DS3231 hat aber einen internen Quarz, sogar einen TXCO. Geht aber um den AVR. Und nicht um den DS3231, welcher als Uhr/Zeitbasis mit 1-10% Genauigkeit absurd wäre. Michael
-
Thread
Wieso spricht man bei den 8 Bit-AVRs von RISC?
Operationen zu vergleichen, da braucht man eher ganze Funktionen bzw. Algorithmen. Und da kann der AVR u.a. mit seinen schier endlosen Registern (32!) massiv punkten. Der olle 8051 hat nur Akku, B und sonst fast nix. EIN Pointer Register. Der AVR hat drei! Jaja, ich weiß daß der RAM relativ "schnell"
allem bei den ganzen Erweiterungen, dem sei diese Seite hier empfohlen: http://ref.x86asm.net/coder64.html Es gibt viele sinnvolle 1byte/2byte Opcodes auf x86 die auch wesentlich kürzer sind als ihre (32/64bit) RISC Pendants, z.B. "ADD <register>, <register>" oder PUSH/POP, aber natürlich auch Entgleisungen