Millis() funktion för stm8s MCU



Liksom många andra, jag började med Arduino plattform, och kan inte leva utan funktionen användbar millis(). När någonsin studerar nya MCU, en av de första saker jag gör är att leta efter millis() funktion. Med AVR är att funktionen är redan tillgängliga, med hjälp av Timer0 det enklaste sättet. För STM8S, kunde jag inte hitta en. Så, jag måste bygga en. Efter en kort tid att lära sig, var jag kan göra ett bibliotek så att det är lätt att använda.

Huvudsakligen, har denna funktion måste vi använda en timer, i detta fall jag använder Timer4, som är grundläggande 8-bitars timer, och vi kommer att använda sin overflow avbrott. Nedan finns information om hur man använder det:

  • Först i det huvudsakliga bötesbeloppet (normalt main.c), måste biblioteket anropas:

#include "tim4millis.h"

  • På Main () del, måste vi inleda timer 4 genom att funktionen TIM4_Init()

TIM4_init();

  • Sedan, när någonsin behöver veta den aktuella millis sedan startade, vi behöver bara kalla millis()

uint32_t currentTime = millis();

I den bifogade filen (eller i min Github repo) använder sidhuvudfilen och källfilen tim4millis bibliotekets och exempelfilen att visa hur man blinkar led (klämma fast PB5) som i Denna STM8S103F3P6 Minimum Development Board, millis().

Hoppas detta kommer att spara några gånger när du startar med STM8S. Skål.

Relaterade Ämnen

ATtiny titta på Core

Detta instructable visar hur du använder en ATtiny85 för att skapa en liten klocka kärna som kan köra över 1 år innan laddning eller byta ut batteriet.Instruktion för att göra klockan fallet kan vara i nästa instructable.Jag har gjort några Arduino t...

Lätt edge konstaterande +/-0,001 '' (25um) på Othermill

kant är en av de viktigaste stegen i alla komplexa fräsning projekt. Edge konstaterande kan du mycket exakt hitta positionen för din arbetsstycket när den monteras på scenen. Detta är absolut nödvändigt om du behöver exakt mill funktioner mellan åter...

Arduino tända dimmer

Un système qui imite les cyklar du jour.Ett system för dagen ljus simulering med hjälp av RTC.Steg 1: IntroduktionCE-système va permettre d'imiter un spaken de soleil (LV) et un coucher de soleil (CO), une fois par jour. Cet appareil est destiné surt...

Hur man gör en trådlös mekaniska tangentbord

Hej alla, jag är en ingenjör och jag kommer bilda Kina.Nu, jag lär dig hur du DIY ett trådlöst mekaniska tangentbord.ledsen min dålig engelsk :(Kom så går vi!Steg 1: Köpa en begagnad mekaniska tangentbord och en Logitech trådlös tangentbordFörst, jag...

Arduino-framdrivit halsband

Jag letade efter ett bra Arduino projekt för min årets slut hollidays. Men vad göra? Min lilla dotter var mycket förvånad när jag erbjöd henne denna "elektroniska" halsband, och också mycket nöjd. Jag hoppas att den person som du kommer att erbj...

Intel® Edison Hands-on dag 4: Touch Switch

Bara med hjälp av knappen för att styra ljuset verkar inte tillräckligt svalt. I detta avsnitt kommer vi prova en touch sensor och ett relä styra LED. Låt oss göra det!Komponenter som krävs1 × kapacitiv Touch Sensor1 × relä modul V3.11 × IO Expansion...

Arduino luft trummor

detta instructable kommer att berätta hur man gör en egen uppsättning av luft trummor med lite mer än en Arduino mikrokontroller och några accelerometrar.Här är en video av trummor jag bygger denna design av av:http://www.youtube.com/watch?v=jjvy_jzG...

Web-kontrollerade kvittrande Roomba

jag ville se om jag kunde driva min Roomba distans och få det att rapportera sin status via Twitter medan jag var hemifrån. Jag ville också göra enheten oberoende av en dator. Detta är lösningen jag kom upp med och det fungerar mycket bra.Följ på Twi...

Väckarklocka med Tetris att bevisa att du är vaken

detta är en Arduino powered väckarklocka som efter att ha alarmet två gånger inte kommer avbryta tills användaren har rensat 4 rader i det spela Tetris. Du aktivera fysiskt klockan i sidled, så skärmen är vertikal, spela Tetris. Det är aldrig roligt...

Bluetooth kontrollerad robot med Trådlös Spionkamera

I detta instructables jag kommer att visa dig hur man gör är trådlös robot kontrollerad med Bluetooth module.the bästa inslag i denna robot Trådlös kamera arbetar över wiffi.in ovanför bilden kan du se mitt telefon fungerar som camera.my ansluten til...

16-nyckel knappsatsen avkodning med en AVR MCU

detta instructable visar dig hur gränssnittet en 16-nyckel knappsats till din AVR microcontroller och läsa nyckeln när en tangent är nedtryckt. Jag ska presentera knappsatsen först, sedan 74HC922 16-nyckel dekodern IC som pin-saving mekanism, sedan s...

Hur du använder SMTP använder min mcu

Jag försöker göra smtp-protokollet med hjälp av min mcu & ethernet(W5500)Steg 1: SMTP (Simple mail transfer protocol) Det finns 3 steg för att skicka e-postUpprätta en TCP-session med SMTP-server (3-vägs handskakning)Svar & Requset SMTP-kommandotS...

Styra hem apparater använder nod MCU via MQTT

MQTT (meddelande kö telemetri Transport) är ett klient-serverprogram för publicera/prenumerera messaging transportprotokoll. Detta protokoll används ofta inom IoT för kommunikation mellan maskin till maskin på grund av dess följande funktionerl ight...

DIY LED-tecken med MAX7219 Dot Matrix modul STM8S003F3 MCU för AVR PIC MSP430 Arduino ARM STM32

för att tillfredsställa DIY elektronikhobby, ICStation har utvecklat MAX7219 Dot Matrix modul. Det använder Max7219 chip som gör ett bra jobb på besparingen av MCU i /. Det inte bara kan kontrollera varje punkt individuellt, men också kan förlängas u...

Från Arduino och perfboard att PCB med fristående MCU

Detta Instructable är en direkt efterföljare av denna. I slutet av detta bygga upp är min skivspelare projekt nästan klar (äntligen).Målet är att utveckla en snygg och arbetar PCB med SMD elektronisk med en arbetande ATtiny85 + programvara!Så är det...

Bärbar spelkonsol (ARM MCU Team)

SammanhangFör vårt engineering projekt ville vår handledare vi att möta utmaningar för att utforma en verklig-tid system med relativt hög prestanda på begränsade resurser (minne, bandbredd).Specifikationerna kräver en spelplattform med följande hårdv...

Motorsåg Mill bygga, använda & Tips n Tricks

I detta instructable kommer vi att se hur man gör en motorsåg kvarn, hur man använder det, och diskutera några tips och tricks till dolda och mystiska konsten att bordläggning upp nedfallna träd. Välkommen ombord!Om du gillar denna guide hitta det an...

Gör din egen PCB på en billig stationär CNC mill

traditionellt, det finns två sätt för amatörer att göra anpassade PCB:1. använda toner överföring och kemiska etsmedel--kan vara svårt att få rätt material och kemikalier är otäck och stökigt2. betala en tjänst som BatchPCB eller OshPark--ganska bill...

Centrering indikator Mill användning

En centrering indikator är ett användbart verktyg. Det verkligen förbättrar hastighet och precision när man försöker leta upp axeln av en cylindrisk del eller funktion, eller att hitta en framtida hål just genom att bara använda en punch mark och ind...