-
Thread
Lightweight WS2811/WS2812 Library
Wenn ich jetzt aber [c]#define F_CPU 8000000 #include <avr/io.h> #include <util/delay.h> #include <stdint.h> #include "light_ws2812.h" struct CRGB{uint8_t green; uint8_t red; uint8_t blue; }; struct CRGB led_buffer
_ #include <avr/io.h> #include <avr/interrupt.h> void time_init(void); void time_set(uint8_t hour, uint8_t minute, uint8_t second); uint8_t hour(void); uint8_t minute(void); uint8_t second(void); int16_t millis(void); uint32_t millis2(void); #endif /* TIME_H_ */ [/code] time.c
-
Thread
16 unabhängig arbeitende Oszillatoren ?
In einen Atmega8 mit 16MHz kriegt man 4 DDS-Generatoren mit einer fab von jeweils 32Khz mit 8Bit DAC Output ( oder 8Bit PWM ). Bei fab=8Khz reichts für 16 Oszillatoren.
Controller, der 16 unabhängige Timer hat. Allerdings sind nicht alle auf IO-Ports gelegt. Siehe hier, [[STM32]]. Der STM32F103xF.
-
Thread
UART V24 und TTL Pegel?
weitere Frage hätte ich noch: Welche Möglichkeit gibt es um die V24 TXD Leitung (-12V/+12V) über den µC zu öffnen? Hintergrund ist der, das ich den µC auf der V24 Seite nur als "Lauscher" schalten möchte. Gruß AVRli...
Man kann ein billiges Blue-Pill Board (aka STM32F103C8T6 minimal board) mit dieser Firmware von Niklas als 3-fachen USB-UART verwenden: http://stefanfrings.de/stm32/vcp_test.zip . Das ist ein Projekt für die System Workbench, kann auch in TrueStudio
-
Thread
Flexible Led Stroboskopsteuerung
Millisekunden Wenn die Dimension stimmt, 800ns, wird das eng mit dem µC. Wenn ich aber 333 Hz durch 360° teile, komme ich auf 8,xx ms pro Grad, da ist 1/10 Blitzdauer schon realistisch.
Schau dir mal das Datenblatt und Reference Manual vom STM32F334 an, denn der hat einen besonders schnellen Timer: "The high-resolution timer (HRTIM1) allows generating digital signals with high-accuracy timings, such as PWM or phase-shifted pulses. HRTIM1
-
Thread
Cortex-M3 und SVC
zusammen, hab ein Problem mit Cortex-M3 und SVC. Ich nutze: - IAR EWARM 6.30 - Segger embOS 3.82 - STM32F103 Nachdem das RTOS gestartet ist, läuft die Applikation im unpriviligierten Modus. Nun möchte ich gerne in den priviligierten Modus schalten, um MSR auszuführen. Mein SVC-Handler sieht wie
LR, #4 ITE EQ MRSEQ R0, MSP MRSNE R0, PSP B SVCException [/code] bzw: [c] extern void SVCException(uint32_t* const inSVCArguments_PU32) { uint32_t mySVCNumber_U32, mySVCParameter_U32[4]; mySVCNumber_U32 = ((int8_t*) inSVCArguments_PU32[6])[-2]; mySVCParameter_U32
-
Thread
[F] OCXO 10-MHz-Frequenzstandardreferenzmodul
Mi N. schrieb im Beitrag #7816693: > Eine > Schaltung mit einem STM32G431 läßt sich für rund 10 Euro aufbauen und > liefert schon Ergebnisse, die Dir die Grenzen dieser OCXOs aufzeigen. > Ein Link: http://mino-elektronik.de/fmeter/fm_software.htm#bsp_G431 ff. Danke
man per PWM erzeugen und ausreichend geglättet an den ADJ Eingang legen. Ich habe versuchsweise ein STM32F103C8T6 Blue Pill Board mit der Firmware von fredzo für den BH3SAP GPSDO, ein GPS-Modul mit 1PPS Ausgang und ein paar Widerstände und Kondesatoren zusammengelötet und habe einen fast funktionierenden
-
Thread
Lötstation JBC ?
Display soll ein 128x64 OLED Typ sein. Bei mir tut es ein 1602-LCD. > UC wahrscheinlich ein STM32 oder DsPIC > da ich mit denen beruflich zu tun habe Das ist wohl ziemlich egal, für _jeden_ µC ist eine Heizung unendlich langsam. Bei mir steckt ein A*-Nano drin.
man jedoch mit Nachbauten rechnen will, dann sollte es besser ein bunter Hund sein wie die STM32F103C8T6, was jeder kennt und was es billig überall gibt. Aber den µC nach Debugger aussuchen? Ach nö. W.S.
-
Thread
[STM32F1] RTC Backup, Datum geht verloren
Guten Morgen :) ich hab einen STM32F103C8T und ein Problem mit der RTC. Das Board ist derzeit dauer-bestromt (VBat ist aber auch angeschlossen) und nach einem Reset bleibt die eingestellte Zeit erhalten, aber das Datum geht verloren
Habt ihr dazu Ideen? *edit*: Ach jetzt hab ich es gecheckt! Das ist ja verrückt ... Es gibt beim STM32F1 garkeinen Hardware-Kalender ... Zu Frage 1: Ja, man muss das Datum selbst in das Backup-Register schreiben Zu Frage 2: Die RTC läuft weiter ... Die effektiven Stunden können dabei >24 werden
-
Thread
STM32F103 Flash Controller EOP-Bit
Hallo zusammen, ich möchte mit dem Flash-Controller des STM32F103 eine Seite löschen. Dazu gehe ich wie folgt vor: [c] uint8_t pageEraseFlash(uint32_t address) { // Wait for FPEC to be ready while(((FPEC->SR >> 0) & 0x01) == 1); // Check
// Check if the page has been erased correctly be reading all addresses within the page uint8_t flag = 0; for(uint32_t offset = 0; offset < PAGE_SIZE; offset += 2) { uint32_t c_addr = (address & 0xFFFFFC00UL) + offset; if((*(uint16_t*)c_addr) != 0xFFFFUL)
-
Thread
AVR-GCC/ARM-GCC: Vorzeichen effizient implementieren
Frage. Ich muß ein Vorzeichen änderbar abspeichern und sehr häufig Werte inkrementieren. In billig-C-Quelltext sähe das vielleicht so aus: [c] // Einstellungen (nicht const!) // Wie das Vorzeichen gespeichert wird kann ich frei wählen uint8_t config_sign = 0; // 0 oder 1 int24_t oftgepollteroutine
) und ARM Cortex M3 (STM32F103), jeweils mit GCC. Dieses Problemklasse müßte ja eigentlich total häufig vorkommen. Bei mir wird einfach eine Drehrichtung eines Motors im EEPROM abgelegt und die gepollte Routine recht oft
-
Thread
Analoge Orgel mit USB-MIDI steuern
der Weg dahin führen, ein eigenes USB Gerät mit eigenem Protokoll zu entwickeln: [[USB-Tutorial mit STM32]]
TouchOsc). Da hier selbst 10MBit Ethernet meilenweit von Hardwaremidi entfernt ist, kann man auch über STM32F103 incl. Wiznet oder Enc28j60 nachdenken. Kostet in der Summe zwischen 5 und 10€. Was du aber aber unter "4x64Ports" verstehst weißt du wieder nur alleine. Wenn es nur um die Register und sonstige
-
Thread
Wanderkiste Widlar, Runde V
8x PIC16C54 (OTP Pic) 8x PEB2095N (ISDN Transceiver)
fertig, geht heute zur Post. Out und In siehe Bilder. Zu In_2 wäre noch zu sagen, dass das Bluepill STM32F103 sind, ich werde wohl bei den 8-Bit-AVRs bleiben, also weg damit. Mit größter Wahrscheinlichkeit sind das aber Fälschungen. Und vielleicht hat jemand noch Appetit auf scharfen englischen Senf :
-
Thread
STM32: ADC während PWM High lesen.
PWM-Timer laufen lassen. Dann bist du vom PWM-Ausgang unabhaengig. Allerdings meine ich war es beim F103 so, dass das Triggersignal auf einen Pin gefuehrt werden muss, um den ADC ausloesen zu koennen. Muesste also ein freier (offener) Pin sein.
sicher, aber ich glaube TIM16 ist wirklich der ungeeignetste Timer aller... :/ Es handelt sich um einen STM32G031. Danke schonmal bis hier hin :)
-
Thread
Pollin Display VL-FS-COG-VLGEM1277-01
&trstct=pos_0 genutzt und das Kabel bündig eingesteckt. Die Kondensatoren sind alle X5R-G0805 4,7µF/25V https://www.reichelt.de/vielschicht-kerko-4-7-f-25v-85-c-kem-x5r0805-4-7u-p207088.html?r=1 Den Resetpin habe ich inaktiv gesetzt, um einen Controllerpin zu sparen, Da in Marios Testprogramm alle
der ST7565, auf dem habe ich den Treiber aufgebaut. Läuft bei mir auf einem ST Nucleo-F103RB.
-
Thread
AM26LS33ANC und 24 V DC Encoder
freuen. Der Encoder liefert differentielle Signale je Kanal und soll an einen Mikrocontroller (STM32F103) angeschlossen werden. Dabei werden außschließlich 5 V tolerante Pins des STM32 genutzt. Zur Anbindung hatte ich an einen AM26LS33ANC der Firma Texas Instrument gedacht: http://www.ti.com
reduzieren, so daß Du das Signal asymmetrisch, wie von "m.n." vorgeschlagen, auch direkt an Deinen µC anschließen kannst.
-
Thread
Arduino mit CAN-Shield Can-Daten auslesen
CAN-Controller, da ist das Ansprechen gleich viel einfacher. Externe Controller sind doch nur Fummelei. Der vom STM32F103 zB sendet bei Kollisionen immer nochmal, wie es vorgesehen ist (kann man aber abschalten). Wenn eine Nachricht angekommen ist, gibts nen Interrupt.
void loop() { char buffer[16]; // Links oben, Temperatur angesaugte Luft obd.getPidAsString(0x0F, -40.0f, 215.0f, "%d", buffer); lcd.setCursor(8, 2); lcd.print(" "); lcd.write(0xDF); // Grad-Zeichen lcd.print("C"); lcd.setCursor(8, 2); lcd.print(buffer); // Rechts
-
Thread
Suche MC fuer parallelen Bus und grossen Speicher 4Mbyte max
verschiedenen Hersteller wirklich Pin und Funktionskompatibel. Selbst die GigaDevices Nachbauten des STM32F103 sind nicht 100% kompatibel. Bei RISC-V ist mir auch nichts bekannt...
Bei PIC24 gibt es auch Derivate mit Par-IF (EPMP), aber 5 V-UB sind da die Ausnahme. Renesas M16C..M32C, R32C haben auch Par-IF, und 5 V-UB, sind aber schon älter. Renesas RX (Flash-max-120MHz) gibt es damit auch, einige auch mit 5 V-UB. Von Arm-CM3 gibt es wohl auch ein paar Hersteller mit 5
-
Thread
Umfrage zu installierten Hausbussen
15m Knoten: ATMEGA32 mit je 8 Optokoppler für Ein- und Ausgänge Buskommunikation: Master pollt Slaves Anzahl Knoten am Bus: 12 Nodes per RS485 16 Sensoren per I2C Inbetriebnahme:
brauchen einen manuellen reset - bisher 2 mal Besonderheit bei mir: alles in UML modelliert und in C++ umgesetzt; Betriebssystem eCos, stm32f103RE
-
Thread
Logamatic 2107 Schnittstelle
B0 AA B2 : AB 00 A7 C2 05 00 3F F3 AA B9 : AB 7E 7E 7E 8C 8C 8C 7F AA C0 : AB A7 83 65 65 65 65 3C A8 1C : A9 03 01 05 65 00 05 B6 A8 0E : A9 65 00 05 05 2D 01 9B AA FF : AB 00 00 AC 00 AD 00 00 00 00 00 00
08 FF 32 FB 00 0F 00 01 46 00 FF B1 00 08 00 34 00 32 01 D6 01 D6 21 00 00 03 00 01 9E 60 00 0D 56 00 21 00 8C 00 89 00 09 00 8D 00 08 00 07 00 03 00 00 00 00 00 00 00 00 00 00 00 00 12 00 08 00 16 00
-
Thread
sehr langsamen Takt erzeugen
. Deshalb bin ich mittlerweile komplett vom µC abgekommen. Was ohne µC realisierbar ist, wird ohne µC realisiert.
Buch über [..] Hänger [..] schreiben. > > Meinten Sie blaue Pillen? Dieser Begriff kann in einem uC-Forum durchaus mehrdeutig sein. ;) https://stm32-base.org/boards/STM32F103C8T6-Blue-Pill.html
-
Thread
STM32 I2C Clock Berechnung
Hallo, weiß jmd wie die Berechnung der I2C Frequenz beim STM32F103 funktioniert? Bzw. wie kann ich z.B. genau 100kHz angeben? Im Register ist nur Freq[5:0] Peripheral clock frequency angegeben "The peripheral clock frequency must be configured
F_APB1/3333333 + 1; } [/c]
-
Thread
Merkwürdige endlosschleife (STM32; GCC4; C)
r2, r3, [r4, #24] ; counter in oldcv laden 800aba6: 2100 movs r1, #0 ; die oberen 32 bit des summanden 800aba8: 1812 adds r2, r2, r0 ; addition der konstanten auf oldcv 800abaa: eb43 0301 adc.w r3, r3, r1 ; Schleifen-anfang 800abae: e9d4 0106 ldrd
wird die schleife nie verlassen… Meine Frage nun: Warum? :D Controllers: ARM Cortex M3 STM32F103RBT6 Compiler: gcc 4.5.2 [code]CFLAGS="-Wall -nostdlib -fno-common -fno-builtin -O0 -g -mcpu=cortex-m3 -mthumb -c"[/code]
-
Thread
stm32f103 exti
ich versuche bei meinem mp3-player den byte-transfer zum vs1053 über isr zu führen. [c]void read_file_exti(){ fileSize=(sizeof(vs_buffer)/32)*32;//rest wird zur Vereinfachung abgeschnitten pt_vs_buffer=fileSize+1; fat_res=f_open(&File[0], cur_fname, FA_OPEN_EXISTING | FA_READ
ein, so versteht das ja keiner. Dazu die Verschaltung der Pins mit dem VS1053. Den Transfer der 32Byte-Häppchen an den VS1053 machst Du übrigens am sinnvollsten per DMA, der STM32F103 hat einen simplen DMA-Controller, der einfach zu konfigurieren ist. Alles andere ist verschwendete Rechenzeit.
-
Thread
Detailfrage RTC DS3231
https://wiki.freitagsrunde.org/C-Kurs/Wochentag/Musterl%C3%B6sung sieht irgendwie scheiße aus :-) Ich schaue mich hier: https://www.mikrocontroller.net/topic/144905 mal um
ohnehin für mich nicht wichtig. Abgesehen davon, ist mir das UNIX Datetime Konzept lieber. Beim STM32F103 z.B. ist die RTC ohnehin ein 32-bit Zähler; finde ich viel bequemer.
-
Thread
SPI-FRAM Speichererweiterung für XMEGA
> Chipselect Na, wenn du das schaffen kannst... Ich nicht. Datenblatt hilft. > sagen wir mal 8 Stück 128KB ICs Zwei CY15B104Q-SXI FRAM-Speicher 4Mbit, 512K x 8 bit, sind vielleicht praktischer
789 im Reference Manual 'R01UH0403EJ0400 Rev.4.00' "External Address Space Read Mode A maximum of 8-Gbyte address space is supported (when two serial flash memories are connected) Efficient data reception due to built-in read cache (64-bit line × 16 entries)." QSPI modul aus dem STM32 (STM32F446
-
Thread
Chipmangel überall Gesperrt
. Wenn man allerdings mal den 0815 STM32 schlechthin "STM32F103" in irgendeinem LQFP Gehäuse sucht, sind 10 tausende auf Bestellung aber so gut wie keine auf Lager. --> Es sind auch Bauteile betroffen die in allen möglichen Anwendungen
ganz aktuell: https://www.spiegel.de/wirtschaft/unternehmen/vw-us-richter-weist-prevent-klage-ab-a-f026c42a-c817-41d0-8816-cabe24d88a59 Etappensieg für VW.
-
Thread
Unbekannter Assembler erzeugt große Änderungen bei kleinem Programm
TEST[2] = 'L'; TEST[3] = 'L'; TEST[4] = 'O'; while (1) { } } [/c] und nach den Hexzahlen *0x48414C4C4F* und *0x4F4C4C4148* gesucht - leider keine Ergebnisse. Die Ausgabedateien mit "HALLE" anstatt "HALLO" unterscheiden sich erneut zu großen Teilen.
Taobao steht ein Lager mit 100.000 Stück dahinter, die die Teile für 1 Cent bekommen haben (ähnlich STM32F103 & STM8S aus China). Sich nur ein Stück zu kaufen wäre hinsichtlich der Versandkosten wenig sinnvoll. 100 Stück sollten es dann schon sein.
-
Thread
STM32 Input Capture triggert nicht
Ich versuche mittels STM32F103C8 ("Blue Pill" Board) und einem TSOP4836 IR Empfänger einen RC6 Decoder zu basteln (ich weiß gibts fertige Libs dafür aber darum gehts nicht). Hierzu versuche ich den Timer1 im Input Capture mode
verwende die HAL Low-Level Treiber, das meiste wurde mit CubeMX generiert. Das Ausgangssignal ist an PA8 des STM32 angeschlossen. Die Schaltung an sich funktioniert (ich sehe mit dem Oszi das demodulierte IR Signal), allerdings triggert der Input Capture Interrupt nicht. Mein Code sieht wie folgt aus (
-
Thread
Frequenz- und Spannungspanelmeter mit ATtiny44 und TM1637
und versteht, wie DIESER Zähler funktioniert. Einen reziproken Zähler habe ich einmal mit einem STM32F103 gemacht und vom Ansatz her ist das vllt. reizvoll zu versuchen das auf einem Tiny44 umzusetzen. Weiß ich nicht ob ich dazu komme, aber wenn, wird das dann vllt. doch eine Version 2 geben.
reziproke Verfahren wird Dir gefallen. Ich weiß, dass mir das gefallen wird, weil ich das mit einem STM32 schon einmal gemacht habe... m.n. schrieb im Beitrag #6037119: > Für eine reziproke Messung braucht man zwei Zähler. Der eine zählt die > Eingangsimpulse in einem Meßintervall und der andere
-
Thread
Mehr I/O Pins.
, dass SPI bei max. 10MHz liegt. > Was bedeutet das? Nun ja, Du brauchst pro bit ein Takt, bei 8 Bits sinds 8 Takte, bei 10 MHz kannst Du Dir ja ausrechnen, wie lange das dauert. Am einfachsten und schnellsten ist es, einen Controller mit mehr Pins zu nehmen. So ein STM32F103 mit 144 Pins erlaubt
Ich nutzt beispielsweise ein LCD (7 IOs), einen PGA2311 (4 IOs) und einen Drehgeber (4 IOs) an einem 8 Bit Port, durch geschickes Verschalten und Multiplexen der IOs. Das klappt wunderbar und ist auch schnell. So schnell wirst du das mit einem Schieberegister, I2C Expander, oder was auch immer nicht hinbekommen
-
Thread
Relay Schaltung bitte absegnen
und wäre froh, wenn mal jemand drüber gucken könnte: Stm32F103 liefert am R1Out 3.3V. ~1.3V Forward voltage am Optokoppler sind 2V/470Ohm= 4.2mA durch den Optokoppler. Der OC hat nen CTR von 200-400%. Das Relay hat nen Spulenwiderstand von 2880Ohm,
---Ltd--MMBT3904_C20526.pdf Optokoppler: https://datasheet.lcsc.com/lcsc/1810241112_Everlight-Elec-EL817S1-C-TU-F_C106900.pdf Schaltung von: https://www.circuits-diy.com/optocoupler-relay-driver-with-pc817-2n3904
-
Thread
Verkaufe diverse Bauteile
Aus diversen Projekten sind einige ICs übrig geblieben Bei Interesse geb ich sie ab Rams 5x CY7C199 15ns: DIP28 á 1€ 6x CY7C199 15ns: SOJ28 á 1€ 1x CY7C1049D 10ns: SOJ28 á 3€ CAN Bauteile 15x MCP2551 SO8 á 0,9€ 17xMCP2551 DIP8 á 0,9€ 8xMCP2515 SOIC á 1,8€ 5xMCP2515 DIP á 1,8€ Spannungsregler
MAX232 SOIC á 0,5€ 10x MAX3232 SOIC-W á 0,75€ 10x MAX3232 TSSOP á 0,75€ Mikrocontroller 3x ST32F103RBT6 LQFP64á 6€ 2x STR711FR2H6 á 7€ 3x STM32F101RBT6 á 5€ 7x 74AC573 SOIC-W á 0,25€ 9x DS18B20 T92 á 1,9€ 3x ENC28J60 SOIC á 4€ 2x ENC28J60 DIP á 4€ Versandkosten: 1,5€ Alle Bauteile
-
Thread
Ist der AVR Dragon empfehlenswert?
AVR schrieb im Beitrag #5238639: > Kann man damit 32 Bit Controller programmieren? 32-Bit-AVRs. Siehe http://www.atmel.com/tools/avrdragon.aspx Die sind aber mit der zunehmenden Verbreitung der ARMe eher eine kleine Randgruppe.
Das Debuggen der Atinys ist mit dem Dragon eh eine Quälerei. Ansonsten würde ich dir die STM32F103-429 empfehlen, da ist im Moment von der Community mehr zu holen. Programmer kostet hier auch nur ein Bruchteil und Demo-Boards gibts quasi nachgeworfen.
-
Thread
Mal was neues: IO-Link
mein OnRequest Handler liefert dann die Werte so aus wie ich sie in diesem Array definiert habe: [c] uint8_t param_page_1[32] = {0}; [...] param_page_1[PARAM_ADDR_FRAME_CAPABILITY] = (1 << 1); // type 1 supported, spdu not supported param_page_1[PARAM_ADDR_VENDOR_ID_1] = (uint8_t)
ADDR:10 OREQ:93 "?" WRITE 61 B0 40 00 2D Typ:2 CHAN:03 ADDR:01 OREQ:40 "@" WRITE 62 8C D3 00 2D Typ:2 CHAN:03 ADDR:02 OREQ:D3 "?" READ F0 85 D4 00 1B Typ:2 CHAN:03 ADDR:10 OREQ:D4 "?" READ E1 80 00 00 2D Typ:2 CHAN:03 ADDR:01 OREQ:00 "?" READ E2
-
Thread
Rechnen mit Datum (localtime,ctime etc) bei Mikros
Hallo, einiges klappt schon aber anderes leider noch nicht. Ich habe im 32 Bit Register eines STM32F103 die aktuelle Epoch Time und kann diese auch umrechnen in ein normales Zeitformat. Zur Zeit rechne ich UTC in MEZ+1 derart um, dass ich 3600s drauf addiere und localtime
= 7 [c] if (31 - mytime.tm_mday < 8) { [/c] der obige Ausdruck wahr, obwohl in diesem Fall der 31. März und nicht der 24. März der letzte Sonntag ist. Schreibe besser: [c] if (mytime.tm_mday >= 25)
-
Thread
Stack richtig dimensionieren
achso .. die dateien heißen .su am ende zB: sieht es dann so aus: ethernetif.c:163:14:low_level_output 48 static ethernetif.c:354:6:ethernetif_input 24 static ethernetif.c:139:6:ethernet_close 8 static ethernetif.c:332:6:HAL_ETH_RxCpltCallback 16 static ethernetif.c
das alles durchgelesen aber wirklich schlauer bin ich auch nicht. Ich habe das gleiche Thema für den STM32F103 mit dem GCC. Wie gross den Stack? Ok, Programm läuft aber die 0x100 standen da auch schon vorher drin. Wi erzeugt der Compiler zb ein 10.000 Elemente Array was ich lokal in einer Routine habe