Inhoudsopgave:

Blue Pill Board instellen in STM32CubeIDE - Ajarnpa
Blue Pill Board instellen in STM32CubeIDE - Ajarnpa

Video: Blue Pill Board instellen in STM32CubeIDE - Ajarnpa

Video: Blue Pill Board instellen in STM32CubeIDE - Ajarnpa
Video: Программирование STM32 Blue Pill с помощью релейной логики ПЛК LDmicro 2024, November
Anonim
Blue Pill Board instellen in STM32CubeIDE
Blue Pill Board instellen in STM32CubeIDE
Blue Pill Board instellen in STM32CubeIDE
Blue Pill Board instellen in STM32CubeIDE

De Blue Pill is een zeer goedkope kale ARM-ontwikkelbord. Het heeft een STM32F103C8 als processor met 64 kbyte flash en 20 kbyte RAM-geheugen. Het loopt tot 72 MHz en is de goedkoopste manier om in ARM embedded software-ontwikkeling te komen.

De meeste voorbeeldprojecten en beschrijvingen van het programmeren van het Blue Pill-bord met behulp van de Auduino-omgeving. Hoewel dit werkt en een manier is om aan de slag te gaan, heeft het zijn beperkingen. De Arduino-omgeving beschermt je een beetje tegen de onderliggende hardware - dat is het ontwerpdoel. Hierdoor zul je niet alle mogelijkheden van de processor kunnen benutten en wordt integratie van een realtime besturingssysteem niet echt ondersteund. Dit betekent dat de Arduino-omgeving niet veel wordt gebruikt in de industrie. Als je carrière wilt maken in de ontwikkeling van embedded software, is Arduino een goede startplaats, maar je moet verder gaan en een ontwikkelomgeving gebruiken die industrieel wordt gebruikt. ST biedt behulpzaam een volledig gratis ontwikkelomgevingsuite voor hun processors genaamd STM32CubeIDE. Dit wordt veel gebruikt in de industrie, dus het is een goede om verder te gaan.

Echter, en dit is de grote, STM32CubeIDE is angstaanjagend gecompliceerd en is een ontmoedigend stuk software om te gebruiken. Het ondersteunt alle functies van alle ST-processors en stelt ze in staat om ze intiem te configureren, wat je niet tegenkomt in de Arduino IDE omdat het allemaal voor je wordt gedaan.

U moet uw bord instellen als eerste stap in STM32CubeIDE. De IDE is op de hoogte van de eigen ontwikkelborden van ST en stelt ze voor u in, maar de Blue Pill, terwijl het een ST-processor gebruikt, is geen ST-product, dus u staat hier alleen.

Deze instructable neemt je mee door het proces van het opzetten van je Blue Pill-bord, het inschakelen van een seriële poort en het schrijven van wat tekst. Het is niet veel, maar het is een belangrijke eerste stap.

Benodigdheden

STM32CubeIDE - downloaden van de website van ST. U moet zich registreren en het downloaden duurt even.

Een blauw pillenbord. Je kunt ze krijgen van ebay. Je hebt er een nodig met een echte ST-processor, zoals sommige niet. Zoom op ebay in op de afbeelding en zoek naar het ST-logo op de processor.

Een ST-LINK v2 debugger/programmer beschikbaar op ebay voor een paar pond.

Een FTDI TTL naar USB 3.3V seriële kabel voor output en 2 mannelijke naar vrouwelijke header-draden om deze aan te sluiten.

Een serieel terminalprogramma zoals PuTTY.

Stap 1: Een nieuw project maken

Een nieuw project maken
Een nieuw project maken
Een nieuw project maken
Een nieuw project maken
  1. Start STM32CubeIDE en kies vervolgens uit het menu Bestand|Nieuw|STM32 Project.
  2. Voer in het vak Onderdeelnummer zoeken STM32F103C8 in.
  3. In de MCU's/MPU's-lijst zou u STM32F103C8 moeten zien. Selecteer deze lijn zoals in de afbeelding hierboven.
  4. Klik volgende.
  5. Geef in het dialoogvenster Projectinstellingen uw project een naam.
  6. Laat al het andere zoals het is en klik op Voltooien. Uw project verschijnt aan de linkerkant in het deelvenster Projectverkenner.

Stap 2: De processor configureren

De processor configureren
De processor configureren
De processor configureren
De processor configureren
De processor configureren
De processor configureren
De processor configureren
De processor configureren
  1. Open uw project in het deelvenster Projectverkenner en dubbelklik op het.ioc-bestand.
  2. Vouw op het tabblad Project & Configuratie Systeemkern uit en selecteer vervolgens SYS.
  3. Kies onder SYS-modus en configuratie in de vervolgkeuzelijst Foutopsporing de optie Seriële draad.
  4. Selecteer nu RCC in de lijst Systeemkern net boven SYS die u hierboven hebt geselecteerd.
  5. Selecteer onder RCC-modus en configuratie in de vervolgkeuzelijst High Speed Clock (HSE) Crystal/Ceramic Resonator.
  6. Open nu onder Categorieën opnieuw Connectiviteit en selecteer USART2.
  7. Selecteer onder USART2-modus en configuratie in de vervolgkeuzelijst Modus Asynchroon.
  8. Selecteer nu het tabblad Klokconfiguratie en ga naar de volgende stap.

Stap 3: De klokken configureren

De klokken configureren
De klokken configureren

U kunt nu een nogal ontmoedigend klokdiagram zien, maar het hoeft maar één keer te worden ingesteld. Dit is het moeilijkst om hier te beschrijven, omdat het diagram complex is. Alle dingen die u moet veranderen, zijn gemarkeerd in de bovenstaande afbeelding.

  1. Het Blue Pill-bord wordt geleverd met een 8 MHz-kristal op het bord en dat is waar het klokconfiguratiediagram standaard op staat, dus dat hoeven we niet te veranderen.
  2. Selecteer onder PLL Source Mux de lagere keuze, HSE.
  3. Stel PLLMul naar rechts in op X9.
  4. Selecteer weer rechts onder System Clock Mux PLLCLK.
  5. Weer rechts onder APB1 Prescaler selecteer /2.
  6. Dat is het. Als je delen van het diagram paars ziet gemarkeerd, heb je iets verkeerd gedaan.

Stap 4: Opslaan en bouwen

  1. Sla de.ioc-configuratie op met Ctrl-S. Wanneer u wordt gevraagd of u code wilt genereren, selecteert u Ja (en vink Onthoud mijn beslissing aan zodat u niet elke keer wordt gevraagd). U kunt het.ioc-bestand sluiten.
  2. Maak nu een build vanuit het menu Project|Build Project.

Stap 5: wat code toevoegen

Een code toevoegen
Een code toevoegen
Een code toevoegen
Een code toevoegen

Nu voegen we wat code toe om de seriële poort te gebruiken die we hebben geconfigureerd.

  1. Open in Project Explorer Core\Src en dubbelklik op main.c om het te bewerken.
  2. Scroll naar beneden tot je de main()-functie vindt en voeg de onderstaande code toe net onder de opmerking /* GEBRUIKERSCODE BEGIN 3 */ en voer dan opnieuw een build uit.

HAL_UART_Transmit(&huart2, (uint8_t *)"Hallo wereld!\r\n", 15U, 100U);

Vervolgens sluit je de up-hardware aan en probeer je het.

Stap 6: De hardware aansluiten

De hardware aansluiten
De hardware aansluiten
De hardware aansluiten
De hardware aansluiten

De ST-LINK v2. aansluiten

De ST-LINK v2 had moeten worden geleverd met een 4-aderige vrouwelijke naar vrouwelijke header-lintkabel. U moet de volgende verbindingen maken:

Blauwe pil naar ST-LINK v2

GND naar GND

CLK naar SWCLK

DIO naar SWDIO

3,3 tot 3,3 V

Zie de eerste afbeelding hierboven.

De seriële kabel aansluiten

Als je teruggaat naar het.ioc-bestand en naar het chipdiagram aan de rechterkant kijkt, zie je dat de Tx-lijn van UART2 op pin PA2 zit. Verbind daarvoor de pin met het label PA2 op het Blue Pill board met de aansluiting met de gele draad op de FTDI Seriële kabel. Sluit ook een van de aardingspinnen van de Blue Pill (met het label G) aan op de zwarte draad op de FTDI-seriële kabel.

Zie de tweede afbeelding hierboven.

Stap 7: Debuggen

Debuggen
Debuggen
Debuggen
Debuggen

Sluit je FTDI seriële kabel aan en start een seriële terminal op 115200 baud. Sluit vervolgens uw ST-LINK v2 aan en u bent klaar om te gaan.

  1. Kies vanuit STM32CubeIDE Uitvoeren|Debuggen. Wanneer een dialoogvenster Debug as verschijnt, kiest u STM32 Cortex-M C/C++ Application en OK.
  2. Wanneer een dialoogvenster Configuratie bewerken verschijnt, drukt u gewoon op OK.
  3. De debugger zal breken op de eerste regel van main(). Kies Run|Resume uit het menu en controleer op berichten in de seriële terminal.

Stap 8: Meer doen

Dat is alles, uw eerste STM32CubeIDE-toepassing is geconfigureerd en actief. Dit voorbeeld doet niet veel - verzendt alleen wat gegevens uit de seriële poort.

Om andere randapparatuur te gebruiken en stuurprogramma's voor externe apparaten te schrijven, moet je die ontmoedigende configuratie-editor opnieuw aanpakken! Om te helpen heb ik een reeks STM32CubeIDE-voorbeeldprojecten gemaakt die alle randapparatuur op de Blue Pill-processor configureren en gebruiken in kleine, gemakkelijk te begrijpen projecten. Ze zijn allemaal open source en je bent vrij om ermee te doen wat je wilt. Elk randapparaat is geconfigureerd en heeft dan voorbeeldcode om het afzonderlijk (bijna!)

Er zijn ook stuurprogramma's voor externe apparaten, van eenvoudige EEPROM-chips tot druksensoren, tekst- en grafische LCD's, SIM800-modem voor TCP, HTTP en MQTT, toetsenborden, radiomodules, USB en ook integratie met FatFS, SD-kaarten en FreeRTOS.

Ze zijn allemaal te vinden in Github hier …

github.com/miniwinwm/BluePillDemo

Aanbevolen: