-
Thread
STM32F4 und langsames SPI Interface
Hallo. Ich verwende einen STM32F405 und müsste eine Komponente per SPI anbinden. Mein Problem ist, dass die Komponente nur < 5khz SPI-Clock verträgt. Selbst mit max. Prescaler komme ich beim SPI2 auf ca. 170khz SPI Clock. Zusätzlich
ich mir ja noch lieber einen 8Bitter drauf, der den SPI bedient und per UART die Ergebnisse an den STM32 meldet. Jetzt suche ich entweder nach einer "In-Controller"-Lösung, um langsamer zu werden oder nach einem kleinen Stück Hardware, weil ich natürlich gerne eine einfache Lösung suche. Vielen
-
Thread
Stm32 Fehler beim Verbinden mit dem PC
Hallo zusammen, ich arbeite gerade mit dem Microcontroller STM32F405RG. Beim Bestücken der Platine habe ich aus versehen die Programmierschnittstelle um 180° verdreht angelötet. Logischerweise konnte ich keine verbindung mit dem Microcontroller herstellen. Nach
Programmierschnittestelle JTAG, Programmieradapter St Link V2, Betriebssystem Windows 7, Flashtool STM32 ST-LINK Utility Nop schrieb im Beitrag #4656830: > Ein paar mehr Daten wären nicht schlecht. Welche > Programmierschnittstelle, ST-Link? JTAG? Welcher Programmieradapter? > Betriebssystem? Programmieranwendung
-
Thread
Conways Game of Live zu langsam auf Z80
gutes Rennpferd. Habe grad erstmal "gelernt" dass man selbst für das Setzen eines IO Pins beim STM32F4 eine Library braucht (kippausdenlatschen) und für den ADC und die Uarts auch usw. Und natürlich für das LCD Display für die Darstellung von Windows eine von SEGGER, deren Manual allein 350 Seiten
bekommen und der Z80 liegt derweil in der Ecke. Inzwischen läuft auch mein GOL auf STm32F fast, obwohl die Portierung vom Z80 Code doch etwas heftiger ist als gedacht, da ich völlig andere Interfaces habe und das Spielfeld noch "doppelt gemoppelt" habe, also im Videoram und in einem struct
-
Thread
MC-Einsteiger und Fortgeschrittene
Andre B. schrieb im Beitrag #4744094: > konstruktive Tips OK, STM32F4 Discovery Evalboard plus Em:Blocks. Aber das wird dich nicht weiterbringen. > oder nur unnötige Kommentare? Ich sag dir, was unnötig ist. Diffuse Beschreibungen der Anforderungen und des Kenntnisstandes
ich soweit, dass prinzipiell schon alles funktioniert. Bin jetzt am Perfektionieren. Mein Tipp: STM32F4/F7 und falls du VisualStudio magst ->VisualGDB, kostet halt n knappen Hunni. Edit: Ich wünsch dir viel Erfolg und Spaß!
-
Thread
ADS1255 / ADS1256 Beispielcode
die Timing einstellungen bereits entsprechend gewählt nur kommt nichts raus. Meine MCU ist ein STM32F405 , aber wäre für Hilfe auf egal welcher MCU dankbar. VG Harald
Auch von mir Danke, ich werde den Code zum STM32 portieren und berichten
-
Thread
Neigungssensor (Auflösung 0,1° auf 180°) gesucht
Erdbeschleunigung, also irgendetwas mit bewegten Massen: MEMS Deshalb weiter geschaut und mich an das STM32F4DISCOVERY erinnert: richtig, das hat einen MEMS-Sensor LIS302DL verbaut. Leider ist dessen Auflösung zu bescheiden -> weiter suchen. Von ST gibt es bspw. den LIS352AX, der Daten analog liefert
dass ich kurzsuchtig bin - aber eine Adapterplatine tut Not ... Gestern haben wir ihn an einem STM32F4 zum Laufen gekriegt und auch schon Werte ausgelesen. Auch wenn wir noch nicht mit den Filtern gespielt haben und die Umgebung alles andere als elektrisch störungsfrei ist (fliegende Verdrahtung
-
Thread
STM32 DAC - invertiert ohne Buffer?
Hi, Ich habe ein merkwüdiges Phänomen mit dem Olimex H405-Board, welches einen STM32F405RG in LQFP64-Package verwendet. Packagebedingt ist daher V_REF gleich VDDA, was ich schonmal sauber mit 3.3V messe. Wenn ich bei DAC1 (geht auf PA4) den output buffer
-
Thread
k-line to can
schon gesehen. In meinem Beitrag siehst du einen "OBD Dongle" den ich selber gebaut habe. Da ist ein STM32F4 (genauer gesagt ein Adafruit Feather STM32F405) mit einer selbst gelöteten Platine drin. Die Platine hat drei Aufgaben: - 12V Boardspannung zu 5V wandeln - CAN Transceiver für das Senden der
dann K-Line Kabel für die Displays zu kaufen? https://www.tegiwa.com/products/canchecked-mfd28-32-gen2-obd2-pin1-kl15-k-line-vag https://alpha-n.shop/CANchecked-Anschlusskabel-MFD28-32-Gen2-an-OBD2-K-Line Jens R. schrieb im Beitrag #7997325: > Auch wäre es doch vollkommen egal welches Auto
-
Thread
PCB -Frequenzrampe 100khz-360 MHz
nicht so schnell. https://www.ebay.de/itm/364361998104 hier wird für die chinesische Platine ein STM32-Controller benutzt
Die Chinesen haben wesentlich mehr Pins des AD9910 mit dem STM32 verbunden. Das könnte für die Einstellung der Rampen und ähnlichem nötig sein. Nur die vier SPI-Bus-Leitungen könnte zu wenig sein. Da sollte man auch als Layouter genauer ins Datenblatt schauen.
-
Thread
Kreisgüte für ZF 2,5 Khz..
home.arcor.de/wetec/rechner/cskreis.htm deutlich höhere Kreisgüten wenn ich den Kondensator verdopple (10nF L=405mH Q=78) oder vervierfache (22nF 184mH, Q=172) versus 4,7nf L=862mH Q=37. Welchen Grund gibt es die Spulen so groß zu machen? Gruß, Holm
home.arcor.de/wetec/rechner/cskreis.htm deutlich höhere > Kreisgüten wenn ich den Kondensator verdopple (10nF L=405mH Q=78) oder > vervierfache (22nF 184mH, Q=172) versus 4,7nf L=862mH Q=37. Wie kommst du denn auf diese Gütewerte?
-
Thread
STM32F4 FSMC Adressauswahl für TFT basierend auf ILI9341
Hallo zusammen, ich bin momentan an einem Schaltplan für ein Projekt, bei dem der STM32F405 zum Einsatz kommt. Ich habe ein 240x320TFT mit ILI9341, das ich über FSMC ansteuern möchte. Der STM32 verwendet gemäß STM AppNote AN2790 folgende Datenleitungen: - FSMC [D0:D15]: FSMC databus
-
Thread
[STM32f4] I2S mit DMA
Hi Ich habe ein digitales MEMS Mikrofon, dass ich gerne an das STM32f4-Discovery über I2S anbinden möchte. Die Daten sollen über DMA in den Speicher geschrieben werden. Die Samples haben eine Breite von 24 Bit und werden entsprechend in einer 32 Bit long Variable gespeichert
SRAM definiert werden ansonsten geht der DMA in keinen Interrupt (so wars jedenfalls bei mir mit dem STM32F405). Warum dass so ist konnt ich leider nicht rausfinden, bzw. nahm ich mir nicht die Zeit dazu. [c]__attribute__ ((section(".sram2"))) singed long...[/c] Nur so hat es bei mir funktioniert.
-
Thread
Zeitgenaues Abspielen von Sounddateien
sind ist es auch nicht nötig das im RAM zu haben. Man könnte aber einen Controller mit viel Flash (STM32F4 discovery z.B. mit 1Mb Flash) nehmen und dort jeweils die ersten Blöcke der Sounddateien ablegen. Der Rest kommt dann von SD-Karte. Hängt aber auch von der Gesamtmenge benötigter Sounddateien ab
Die STM32F405/407 haben 192 kB RAM und 2 Stück 12-Bit DACs. Je nach benötigter Samplerate könntest du evtl. die Sounds also in den RAM vorladen und dann per DMA (und Timer) praktisch sofort auf die DACs schicken
-
Thread
STM32 Powerdown während Flash Beschreiben
Hi, Mein STM32F405VGT6 hatte während dem Beschreiben des Flashs einen Stromausfall und nun gibt mir [c] status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE); [/c] immer einen HAL_ERROR zurück
Anfang an verhindern können? b.) den Fehler in kürzester Zeit einkreisen können? @Stefanus F.: kannst gerne mitmachen :-)
-
Thread
Bauteilfrage zu SD5000N
Schalter benötigt, der Signale im Bereich von -5V bis +5V schalten soll. Gesteuert wird mit einem stm32f103. Also mit 3.3V. Erster Ansatz war ein 4066 Schalter. Dieser hat aber Anforderungen an die zu schaltende Signalspannung, es muss ein Levelshifter verwendet werden, der das 0/3.3V Steuersignal
3,5V statt 3,3V wäre. Das kann klappen, muss aber nicht. Lösung wäre, 5V tolerante Ausgänge des STM32 zu nehmen im Open-Drain Modus und mit Pullups auf 5V zu ziehen.
-
Thread
Hackbarer(?) 21 EUR Quadcopter
so wir (steinerhippo und ich) haben den SWD von einem STM32F4Disocervy mit einem NXP LPC1343 verbunden und das Target wird von Keil erkannt. Verbundene Pins für eine erfolgreiche Kommunikation: LPC1343 SWD STM32F4Discovery SWDIO/TMS SWDIO SWDCLK
führt man den Code dann aus? Manuel Steiner schrieb im Beitrag #3370331: > Ich glaube Tim hat das STM32F0DISCOVERY verwendet. Dies hat einen MCU > eher für weniger intensive CPU Anforderungen. Stimmt genau. Eigentlich sollte aber jedes STM32-Discovery-Board funktionieren, da der ST-Link Teil identisch
-
Thread
Brushless-Außenläufer mit Sensorik ausstatten - Steuerelektronik?
: 1. Habe ich mir die Doku zum "Odrive" mal angeschaut. Ich habe gelernt: Der dort verwendete ST32F405 hat Timer mit Quadratur-Eingängen, die auch prompt für die Encoder verwendet werden. Die Rotorposition steht also für die Firmware relativ schnell zugänglich in einem Register. Um solche Dinge mache
sensorbehafteten BLDC beschrieben, komplett mit leicht portierbarer Software (ich selber lasse sie auch auf STM32F100 und ATXMega laufen). Als Hallsensoren sind z.B. die von Videorecordern, in deinem Fall vorzugsweise von Video/Hi8 Camcordern geeignet, wenn man sie auf dem Schrott findet. Man kann auch die
-
Thread
STM32 DMA durch Timer starten
Hallo zusammen, ich schaffe es einfach nicht bei einem STM32F4 mit einem Timer DMA zu triggern. Folgendes stelle ich ein: Bei DMA1: [code]// Den Stream ausschalten DMA1_Stream5->CR &= ~DMA_SxCR_EN; // Warten bis er ausgeschaltet ist while (DMA1_Stream5
beiden DMA sind beide Bus Anschlüsse an der Busmatrix. Ansonsten geht das direkt zum APB. Da beim F4 die GPIO am AHB hängen muss dann dieser DMA genommen werden. Beim 407/405 ist das dann der DMA2 und nicht DMA1. Ein Blick in das Datenblatt (nicht RefMan in dem Fall) unter Device Overview brignt
-
Thread
SHT11, Abweichung bei Temperatur
Temperuturmessung. So rechne ich: [c]iMessTemp = (IIC_ReadData16() - 3963) / 100;[/c] So die Feuchte: [c]s32 iHyd = IIC_ReadData16(); Menu_Dbg1 = iHyd; s32 iHyd2 = ((iHyd * iHyd) * -28) / 1000; // Teil C3 s32 iHyd3 = (405 * iHyd) - 40000 + iHyd2; // Teil C1/C2 // Temperaturkompensation if (iMessTemp !=
bei der falschen Temperaturanzeige dann die relative Feuchte auch falsch gezeigt? Die CPU: STM32F103, 8MHz interner Takt
-
Thread
Step-up und Störungen
Vcc Leitung reduzieren kann. Zunächst das Gute: Die LEDs meiner 5x5 RGB LED Matrix leuchten Der STM32F405 lässt sich per USB Programmieren Die SD Karte ist auch ansprechbar Und per DAC kann ich an den 0,2W Lautsprecher Töne ausgeben. Aber, je nach Anzahl der leuchtenden LEDs gibt der Lautsprecher
so weit wie möglich an den empfohlenen Werten des Datenblattes orientiert. Aber schon bevor ich den STM drauf gelötet hatte, habe ich die Spannung kontrolliert und war von den minimal und maximal Werten überrascht (step-up-no-load.png). Halte ich einen 220µF Elko an Vcc und GND wird das Bild besser
-
Thread
STM32 Quarzfrequenz in Firmware bestimmen
Hallo. Mir liegt eine Schaltung mit einem STM32F405 vor, die - im Laufe der Zeit - zwei verschiedene Quarze verwendet hat. (8MHz & 25MHz) Die bisherige Firmware wird in 2 Varianten compiliert. Einziger Unterschied die Einstellungen zur PLL.
>Wie stellt man dies am einfachsten an? Papp nen 32kHz Quarz an die RTC, schreib eine passende Software und messe damit deine Quarzfrequenz.
-
Thread
STM32: interne Pull-Ups für SPI
Hi, ich möchte das SPI mit Hardware NSS am STM32F405RG nutzen. Die Konfiguration führe ich mit CubeMX durch. Dort ist SPI1 aktiv und in der GPIO-Registerkarte wurden für alle SPI-Leitungen Pull-Ups aktiviert. Auf dem Scope sind diese jedoch im
Version? Ich nuzte Version 4.16.1 STM32Cube V1.0
-
Thread
FM auf STM32F767 demodulieren?
liegen die Signale (im Oszi) schön übereinander. Der ADC läuft mit 1MSPS. Der Mikrocontroller ist ein STM32F767 der mit 216MHz läuft. Nur mit dem FM-Demodulieren klappt es im Mikrocontroller nicht so. Immer dann, wenn der ADC ein sample gesamplet hat, wird ein Interrupt aufgerufen, in welchem dieser
schaufeln und dann gibts nur einen IRQ "Chunk fertig". Auf dem wird dann gerechnet. Auf einem F405 auf 168MHz hab ich da mal experimentiert. Eine LED blinkt vor sich hin im busyloop und bei 1MSPS per IRQ vom internen ADC blinkte die dann sichtbar langsamer. Das ist nicht zu unterschätzen!
-
Thread
STM32 IC mit DMA
bereits Input Capture mit Interrupts erfolgreich programmiert und will nun IC mit dem DMA auf einem STM32F405 probieren. Nun kann ich mit folgender HAL Funktion beginnen, welche mir die Periode gibt, wenn ich Sample[i+1]-Sample[i] subtrahiere: [c] HAL_TIM_IC_Start_DMA(tim1,TIM_CHANNEL_4,ic_buf,IC_BUF_SIZE
werden. Aber im F4xx Ref Man sehen die Timer eigentlich ziemlich genauso aus.
-
Thread
STM32F4xx: ADC-Trigger mit Timer1-Ereignis?
Hallo Forum-Gemeinde! Gegeben ist ein STM32F4xx-Controller (STM32F405, Cortex-M4). Ich suche ein funktionierendes Quelltext-Beispiel, in dem mit einem Timer1-Ereignis, also ohne Interrupt, die (jeweils einmalige) ADC-Konvertierung angeworfen
NVIC_InitStructure.NVIC_IRQChannel = ADC_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0F; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0F; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); while(1) { asm volatile ("nop");
-
Thread
Encoder Timer3 und externer Interrupt stm32f4xx
und dann einen Timer laufen zu lassen zwischen den Interrupts. Jetzt meine Frage, kann ich beim STM32F405 einen Eingang PC6 als Encoder Eingang und gleichzeitig als externer Interrupt Sourcepin einsetzen? Bis jetzt sind meine alle gescheitert. Danke und Gruss MC Bu
NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0F; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0F; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); NVIC_EnableIRQ(EXTI9_5_IRQn); } [/c] GPIO Init
-
Thread
LED schalten mit µC - warum so?
ein / verwenden. /PWR_LED_OFF = PWR_LED_ON Der Grund für die Schaltung liegt im Datenblatt vom STM32F405. Das Signal kommt von PC13. > PC13, PC14, PC15 and PI8 are supplied through the power switch. > Since the switch only sinks a limited amount of current (3 mA), > the use of GPIOs PC13 to PC15
and PI8 in output mode is limited: > - The speed should not exceed 2 MHz with a maximum load of 30 pF. > - These I/Os must not be used as a current source (e.g. to drive an LED).
-
Thread
STM32F4 wie viel Strom?
Harders schrieb im Beitrag #3528501: > 25mA an 100 IO-Pins > ergibt 2,5A :-) Dazu gibt es in STM32F405/7 Datenblatt unter 5.2 die IVDD und IVSS Angaben (150 mA).
-
Thread
Freitagsfrust - Pointer
Hallo Forum, ich stehe irgendwie ganz schön auf dem Schlauch... µC = STM32F405xx Compiler GCC Die betreffende Funktion wird aus einer ISR (USART) aufgerufen. Es wird ein Pointer auf ein festes "Pattern" übergeben, welchen mit memcmp() gefunden werden soll. Aufruf
Stefan ⛄ F. schrieb im Beitrag #6602087: > Die wichtigste Info dürfte die 'Zeigerspitze' von cv sein, also auf was gezeigt wird.
-
Thread
STM32F4 und CAN2
Hallo. Ich würde gerne den CAN2 im STM32F405 verwenden, um den integrierten Bootloader zu benutzen. Sehe ich es richtig, dass der CAN2 nur mit aktivem CAN1 läuft ? Ich brauche aber nur eine CAN-Verbindung. Was mache ich da am besten? Kann
-
Thread
DMA geht nur einmal! STM32
keine Probleme, also irgendwas übersehe ich noch bei Neustarten des DMA! Woran liegts? Ingo STM32F405, CooCox. [c] while(1){ if (Flags.RS232DebugOut){ Flags.RS232DebugOut = OFF; Set_DataCounter(10000); uint32_t Temp = 0; Temp = DMA_GetCurrDataCounter
DMA_InitStructure.DMA_Channel = DMA_Channel_0; DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)&(ADC1->DR); DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)DataBuffer; DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralToMemory; DMA_InitStructure.DMA_BufferSize = BUFFERSIZE;
-
Thread
Schulprojekt: Roboter - Energieproblem
meine Empfehlung: einen ARM-Cortex M3 oder M4. Egal ob, TI, ST oder... Ich benutze zur Zeit einen STM32F405. Gibt es auch als Low-Power-Variante: STM32L476 Discovery. Sehr praktisch: Diese Boards haben einen Debugger bereits auf dem Board. Wichtig ist: viel RAM-Speicher. Bei einem RTOS hast Du mehrere
beiden 50poligen Sitftleisten, auf denen auch viele Portpins herausgeführt sind, bietet sich z.B. das STM32F4DISCOVERY an: http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/PF252419 Bei Watterott kostet es knapp 17 EUR: http://www.watterott.com/de/STM32F4Discovery
-
Thread
C++ auf einem MC, wie geht das?
Wenn du das stm32f4 discovery board benutzt, kannst du dich schonmal mit dem Framework https://github.com/roboterclubaachen/xpcc/tree/develop/examples/stm32f4_discovery austoben.
Buildumgebung stellen. [0] Für diejenigen, die es interessiert ein paar Details am Beispiel des stm32f407vg: 1. Für unsere unterstützten Controller gibt es eine XML Beschreibung z.B.: https://github.com/roboterclubaachen/xpcc/blob/develop/src/xpcc/architecture/platform/devices/stm32/stm32f405_407
-
Thread
CRC Polynom für Extended Hamming Code (11, 16)
um einen Motorregler für den Traktionsantrieb eines Modellfahrzeugs. Der Regler basiert auf einem STM32F405 und arbeitet mit 16kHz Regeltakt. Über Voll-Duplex SPI werden via DMA asynchron ca alle 20ms 3 Datenpakete a 16 Bit empfangen. Eine CS Leitung gibt es nicht, nach dem empfangen des letzten Datenpakets
Sollgeschwindigkeit, zulässige Maximalbeschleunigung und zulässiger Ruck) 10 bis 11 Bit ausreichend sind und der STM ja über eine Hardware CRC Einheit verfügt würde ich die Übetragung gerne per CRC absichern. Würden falsche Daten empfangen gäbe es für ca 20ms (bis zur nächsten Übertragung) falsche Sollwerte. Ich
-
Thread
Junior Computer - Elektor
Kupferlackdraht!) gem. Schaltplan aus obiger Literatur gebastelt...hatte in Endausbaustufe - 40+ KB RAM / 32k ROM (schaltbar, steckbar, brennbar, teilweise Akkuvgepuffertes SRAM...wie heute SD im RasPI.. - Rom-Brenner - Apple ][ -IO - ein IBM 3270 Terminal (wirklich!) - FORTH als Betriebssystem Muesste
Anfall einer Retro-Phase diesen Hardware Emulator gebaut. Die entsprechende Software lief auf einem STM32F405. Mit Terminal Debug und allem pipapo…
-
Thread
CNC Servo-Ansteuerung für Kreisbewegung: Algorithmus
kann auch innerhalb des Kreises bremsen Ohne nachzusehen sind das aus meiner Erinnerung so G30 f.f.??? Also richtiges Kreisbogenfahren.
moin, das selber zu berechnen ist nicht so das Problem. Anbei eine Demo dazu. Der MC der CNC ( STM32F405 ) rechnet mit dem selben Programm, ist also die Anzeige im Demo "falsch", wird auch die Fräse "falsch" arbeiten. Falsch bedeutet hier, es fehlen Koordinaten oder Übergänge zwischen 2 Abschnitten
-
Thread
MCP23016 Port Expander Input Realisieren
Demo.c von Keil) [c] bool Display_Read (uint8_t reg, uint8_t *val) { uint8_t data[1]; int32_t n; data[0] = reg; n = ptrI2C->SendData(DISPLAY_I2C_ADDR, data, 1, true); if (n != 1) return false; n = ptrI2C->ReceiveData(DISPLAY_I2C_ADDR, val, 1, false); if (n != 1) return false
Nachtrag: Ich verwende den STM32F405IG und das yVision von Keil MDK 5
-
Thread
Einstieg in die Mikrocontroller
Dragon entschieden. Ich wollte eigentlich diese Modelle kaufen: ATtiny2313 ATmega8 ATmega16 ATmega32 Soll ich noch andere nehmen? Oder soll ich statt ATmega8 ATmega88 nehmen? Gibt es auch neuere alternativen zu ATmega16 und 32? lgf
Tiny13, Tiny84, Atmega328, Atmega644, STM32F405. In der Reihefolge, je nach Bedarf/Aufgabe