Hur många av er här kör STM32?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
DanielM
Inlägg: 2166
Blev medlem: 5 september 2019, 14:19:58

Hur många av er här kör STM32?

Inlägg av DanielM »

Nyfiken fråga bara.

Hur många av er här kör STM32, dvs Nucleo-korten?
Vad tycker ni om dom?
Vad körde ni innan?

Själv körde jag Arduino. Men STM32 kändes mer påkostat, och även billigare och man dessutom skrev mindre kod tack vare projektstartaren CubeMX.
hummel
Inlägg: 2259
Blev medlem: 28 november 2009, 10:40:52
Ort: Stockholm

Re: Hur många av er här kör STM32?

Inlägg av hummel »

Det är ett brett område med STM32, från Von Neuman- till Harvardarkitektur.
DanielM
Inlägg: 2166
Blev medlem: 5 september 2019, 14:19:58

Re: Hur många av er här kör STM32?

Inlägg av DanielM »

Själv använder jag STM32 till machine learning. Robotik med andra ord.
ToPNoTCH
Inlägg: 4847
Blev medlem: 21 december 2009, 17:59:48

Re: Hur många av er här kör STM32?

Inlägg av ToPNoTCH »

Jag.

Jag gillar dom.
Simpelt programmeringsgränssnitt och bra debug stöd.
Gratis IDE som funkar vettigt (Atollic)
Användarvisningsbild
AndLi
Inlägg: 17042
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Hur många av er här kör STM32?

Inlägg av AndLi »

Stm32 använder jag i princip uteslutande, Nucleo i tidiga prototyper och labbruskor men oftast riktiga pcb.

CubeMX och ST HAL undviker jag till stor del för de gömda tidstjuvar som titt som tätt där när man börjar göra mer avancerade saker...
DanielM
Inlägg: 2166
Blev medlem: 5 september 2019, 14:19:58

Re: Hur många av er här kör STM32?

Inlägg av DanielM »

Du måste ha mycket fritid då för att skriva allt i hex? ;)

Hur som helst!
Jag har ett litet problem och lånar tråden här.
Jag använder trådar för att skriva ut saker på en 340*230 LCD. Jag har märkt att skriva ut 40*40 ikoner fungerar inte med RTOS.

Kan det vara så att LCD + RTOS är inte rekommenderat? Alltså hantera stor data med RTOS är inte bra?
Jag har märkt att jag fick utöka Stack Size något till högre tal. Men gränsen går vid 3800 Word. Jag är på 1600 Word nu.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45168
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Hur många av er här kör STM32?

Inlägg av TomasL »

Är ju normalt sett inga problem, det beror ju helt på hur du skrivit dina egna rutiner, och vilket RTOS du använder.
DanielM
Inlägg: 2166
Blev medlem: 5 september 2019, 14:19:58

Re: Hur många av er här kör STM32?

Inlägg av DanielM »

Jag återkommer med mer information senare. Ska bygga klart logiken till en LCD nummerplatta.
Användarvisningsbild
AndLi
Inlägg: 17042
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Hur många av er här kör STM32?

Inlägg av AndLi »

DanielM skrev:Du måste ha mycket fritid då för att skriva allt i hex? ;)
Varför skulle jag skriva allt i hex?
DanielM
Inlägg: 2166
Blev medlem: 5 september 2019, 14:19:58

Re: Hur många av er här kör STM32?

Inlägg av DanielM »

Om man inte använder HAL eller CubeMX så är det väll bara Hex som gäller? Och ettor och nollor för att inte glömma?
ToPNoTCH
Inlägg: 4847
Blev medlem: 21 december 2009, 17:59:48

Re: Hur många av er här kör STM32?

Inlägg av ToPNoTCH »

Du är vilsen igen.
HAL Introducerades relativt nyligen.
Hur tror du man skrev kod innan HAL ?

HAL är ST's försök att introducera en ersättning för det gamla "hederliga" Standard peripheral library.
Cube MX är en konfigurator som "automatgenererar" kod.

HAL är perfekt för den som inte vill veta hur det funkar och vill ha lite sköna buggar på köpet.

Cube MX använder jag för att dokumentera pin användning och det är den bra på.
Att automatgenerera kod håller jag mig borta ifrån.
DanielM
Inlägg: 2166
Blev medlem: 5 september 2019, 14:19:58

Re: Hur många av er här kör STM32?

Inlägg av DanielM »

TomasL skrev:Är ju normalt sett inga problem, det beror ju helt på hur du skrivit dina egna rutiner, och vilket RTOS du använder.
Nu tillbaka!

Jag har ett litet problem när det handlar om trådar.
Det som händer är att tråden stoppas när jag försöker använda SPI klockan.

Jag har en funktion som heter:

Kod: Markera allt

			uint16_t new_input = (uint16_t) rand() % 205;
			uint16_t new_output = (uint16_t) rand() % 205;
			change_plot_values(&spi, new_input, new_output, only_move_array);
Och vad den gör är att den skriver ut slumpmässiga värden på en plott. När jag har denna kod innuti en tråd så blir rand() bara en konstant.
Så det blir bara ett rakt streck på LCD:n.

När jag väl trycker på en ikon på LCD:n så jag kommer till ett annat fönster, så stoppas allt. Då måste jag starta om mikroprocessorn.

Grejen är att oavsett vilken LCD funktion jag använder, så anropar den SPI funktionerna. Inge UART eller något anant sådant.
Just nu har jag två trådar, där 1 tråd har data. Den andra är tom.
Sélection_004.png

Här är ett exempel på något som du känner igen.

Kod: Markera allt

**
 * @brief  Function implementing the LCD thread.
 * @param  argument: Not used
 * @retval None
 */
/* USER CODE END Header_LCDTask */
void LCDTask(void *argument)
{
  /* USER CODE BEGIN 5 */
	// Init LCD
	ILI9341_Init(&spi, &hspi2, LCD_CS_GPIO_Port, LCD_CS_Pin, LCD_DC_GPIO_Port, LCD_DC_Pin, LCD_RST_GPIO_Port, LCD_RST_Pin, TS_CS_GPIO_Port, TS_CS_Pin);

	// Calibrate the touch if blue Nucleo board button is pressed
	if (HAL_GPIO_ReadPin(GPIOC, GPIO_PIN_13) == GPIO_PIN_RESET) {
		TSC2046_Calibrate(&spi);
	}
	HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET); /// <--- HÄR LYSER EN LED
	// Create initial frame
	create_main_frame(&spi, closedloop_on, only_change_loop_icon); /// <--- Nu anropar vi denna funktion

Kod: Markera allt

// Create the main frame
void create_main_frame(ILI9341_SPI* spi, bool closedloop_on, bool only_change_loop_icon){
	// Set rotation
	HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET); /// <--- Här släcks inte LED lampan. Jag får HardFault som felmeddelande
	ILI9341_setRotation(spi, 2);
Lustigt nog så fungerar det att lysa med LED lampan om jag implementerar den här:

Kod: Markera allt

// Calibrate resistive touch panel
void TSC2046_Calibrate(ILI9341_SPI *spi) {
	HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET); /// <--- Här fungerar det
Jag vet vad syftet med trådar är. Men jag vet inte hur dom fungerar på inbyggda system. I Java kan hag tråda.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Senast redigerad av DanielM 23 maj 2020, 23:42:48, redigerad totalt 5 gånger.
DanielM
Inlägg: 2166
Blev medlem: 5 september 2019, 14:19:58

Re: Hur många av er här kör STM32?

Inlägg av DanielM »

ToPNoTCH skrev:Du är vilsen igen.
HAL Introducerades relativt nyligen.
Hur tror du man skrev kod innan HAL ?

HAL är ST's försök att introducera en ersättning för det gamla "hederliga" Standard peripheral library.
Cube MX är en konfigurator som "automatgenererar" kod.

HAL är perfekt för den som inte vill veta hur det funkar och vill ha lite sköna buggar på köpet.

Cube MX använder jag för att dokumentera pin användning och det är den bra på.
Att automatgenerera kod håller jag mig borta ifrån.
Det handlar om att kunna ha tid också. HAL uppfanns inte för att folk blev dumma och lata.
Ungefär som att anklaga Pythonprogrammare varför dom inte använder assembler.
Användarvisningsbild
AndLi
Inlägg: 17042
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Hur många av er här kör STM32?

Inlägg av AndLi »

DanielM skrev:Om man inte använder HAL eller CubeMX så är det väll bara Hex som gäller? Och ettor och nollor för att inte glömma?
Inget av det är ju programmeringsspråk, bägge använder c och det gör ju såklart jag med.

Och lite använder jag både cube och Hal.. klockträdsberäknaren är ju rätt smidig. Och vissa grundfunktioner i Hal gör ju rätt.. så gpio pinnuppsättning brukar bli med Halen...
Användarvisningsbild
AndLi
Inlägg: 17042
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Hur många av er här kör STM32?

Inlägg av AndLi »

Nä Hal:en för stm32 är jag helt övertygad om uppfanns för att få folk att komma tillräckligt långt in i projektet för att hinna ta fram ett kort och sen vara fast med stm32an...

Det är ju precis av samma anledning som de säljer nucelus korten så billigt. Det ska gärna ligga och drälla överallt så första moc upen blir på ett sånt.. sen orkar man inte byta processor..
Och st hamnar i slutprodukten... visst de kommer inte in i volymprodukterna på det sättet.. men smågrejorna som går i 20 000 om året kan det lätt slinka in..
Skriv svar