Buggfix Plus
Aktuellt datum och tid: 02.44 2020-06-01

Alla tidsangivelser är UTC + 1 timme




Svara på tråd  [ 69 inlägg ]  Gå till sida 1, 2, 3, 4, 5  Nästa
Författare Meddelande
InläggPostat: 20.32 2020-05-22 

Blev medlem: 13.19 2019-09-05
Inlägg: 423
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.


Upp
 Profil  
 
InläggPostat: 21.38 2020-05-22 

Blev medlem: 10.40 2009-11-28
Inlägg: 1535
Ort: Stockholm
Det är ett brett område med STM32, från Von Neuman- till Harvardarkitektur.


Upp
 Profil  
 
InläggPostat: 22.56 2020-05-22 

Blev medlem: 13.19 2019-09-05
Inlägg: 423
Själv använder jag STM32 till machine learning. Robotik med andra ord.


Upp
 Profil  
 
InläggPostat: 00.08 2020-05-23 

Blev medlem: 17.59 2009-12-21
Inlägg: 3711
Jag.

Jag gillar dom.
Simpelt programmeringsgränssnitt och bra debug stöd.
Gratis IDE som funkar vettigt (Atollic)


Upp
 Profil  
 
InläggPostat: 14.22 2020-05-23 
Användarvisningsbild

Blev medlem: 18.17 2004-02-11
Inlägg: 10044
Ort: Knivsta
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...


Upp
 Profil  
 
InläggPostat: 15.53 2020-05-23 

Blev medlem: 13.19 2019-09-05
Inlägg: 423
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.


Upp
 Profil  
 
InläggPostat: 17.13 2020-05-23 
EF Sponsor
Användarvisningsbild

Blev medlem: 22.54 2006-09-23
Inlägg: 34076
Ort: Borås
Är ju normalt sett inga problem, det beror ju helt på hur du skrivit dina egna rutiner, och vilket RTOS du använder.


Upp
 Profil  
 
InläggPostat: 17.20 2020-05-23 

Blev medlem: 13.19 2019-09-05
Inlägg: 423
Jag återkommer med mer information senare. Ska bygga klart logiken till en LCD nummerplatta.


Upp
 Profil  
 
InläggPostat: 18.28 2020-05-23 
Användarvisningsbild

Blev medlem: 18.17 2004-02-11
Inlägg: 10044
Ort: Knivsta
DanielM skrev:
Du måste ha mycket fritid då för att skriva allt i hex? ;)


Varför skulle jag skriva allt i hex?


Upp
 Profil  
 
InläggPostat: 19.45 2020-05-23 

Blev medlem: 13.19 2019-09-05
Inlägg: 423
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?


Upp
 Profil  
 
InläggPostat: 19.58 2020-05-23 

Blev medlem: 17.59 2009-12-21
Inlägg: 3711
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.


Upp
 Profil  
 
InläggPostat: 21.22 2020-05-23 

Blev medlem: 13.19 2019-09-05
Inlägg: 423
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: [Expandera/Minimera] [Hämta] (Untitled.txt)
         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.
Bilaga:
Sélection_004.png



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

Kod: [Expandera/Minimera] [Hämta] (Untitled.txt)
**
 * @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: [Expandera/Minimera] [Hämta] (Untitled.txt)
// 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: [Expandera/Minimera] [Hämta] (Untitled.txt)
// 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.


Logga in för att visa de filer som bifogats till detta inlägg.


Senast redigerad av DanielM 22.42 2020-05-23, redigerad totalt 5 gånger.

Upp
 Profil  
 
InläggPostat: 21.23 2020-05-23 

Blev medlem: 13.19 2019-09-05
Inlägg: 423
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.


Upp
 Profil  
 
InläggPostat: 09.52 2020-05-24 
Användarvisningsbild

Blev medlem: 18.17 2004-02-11
Inlägg: 10044
Ort: Knivsta
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...


Upp
 Profil  
 
InläggPostat: 09.59 2020-05-24 
Användarvisningsbild

Blev medlem: 18.17 2004-02-11
Inlägg: 10044
Ort: Knivsta
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..


Upp
 Profil  
 
Visa inlägg nyare än:  Sortera efter  
Svara på tråd  [ 69 inlägg ]  Gå till sida 1, 2, 3, 4, 5  Nästa

Alla tidsangivelser är UTC + 1 timme


Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 7 gäster


Du kan inte skapa nya trådar i denna kategori
Du kan inte svara på trådar i denna kategori
Du kan inte redigera dina inlägg i denna kategori
Du kan inte ta bort dina inlägg i denna kategori
Du kan inte bifoga filer i denna kategori

Sök efter:
Hoppa till:  
   
Drivs av phpBB® Forum Software © phpBB Group
Swedish translation by Peetra & phpBB Sweden © 2006-2010