From 66344e89ed16f06546ef3a5480d416a6d24c53b8 Mon Sep 17 00:00:00 2001 From: Vegard Storheil Eriksen Date: Tue, 9 Oct 2012 18:44:46 +0200 Subject: Add GPIO speed setting. --- gpio/pin.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'gpio/pin.h') diff --git a/gpio/pin.h b/gpio/pin.h index 90026c3..aede480 100644 --- a/gpio/pin.h +++ b/gpio/pin.h @@ -36,6 +36,13 @@ class Pin { PullDown, }; + enum Speed { + Low, + Medium, + Fast, + High, + }; + void set_mode(Mode m) { #if defined(STM32F1) if(n < 8) { @@ -78,6 +85,10 @@ class Pin { #endif } + void set_speed(Speed s) { + g.OSPEEDR = (g.OSPEEDR & ~(3 << (n * 2))) | s << (n * 2); + } + void on() { g.BSRR = 1 << n; } -- cgit v1.2.3