----------------------------------------------------------------------------
-- |
-- Module : App.Blink
-- Copyright : (c) Marc Fontaine 2017
-- License : BSD3
--
-- Maintainer : Marc.Fontaine@gmx.de
-- Stability : experimental
-- Portability : GHC-only
--
-- The HelloWorld of microcontroller programming: A blinking LED.
module App.Blink
where
import Control.Monad
import STM32.API
import STM32.GPIO as GPIO
blink :: IO ()
blink = runMI $ blinkLED (GPIOC,Pin_13)
blinkLED :: Wire -> MI ()
blinkLED led = do
initMI
resetHalt
let (port,_) = led
peripheralClockOn port
pinMode led $ GPOutPushPull Mhz_2
forever $ do
pinHigh led
delay 500000
pinLow led
delay 500000