-diese Library dient zum steuern von Digital Ausgangspins der CPU
-die Pins die benutzt werden sollen, müssen im H-File deklariert und im C-File den entsprechenden Port-Pins zugeordnet werden.
-für jeden Pin kann auch der Pegel beim initialisieren festgelegt werden
(Lo oder Hi)
-im Beispiel wurden 4 Pins als Digital-Out definiert
1 | PB2,PB7,PC6,PC13 |
Voraussetzungen :
1 2 | Benutzte Module der CooCox-IDE : GPIO Benutzte Librarys : keine |
Enumerationen :
1 2 3 4 5 6 7 | typedef enum { DOUT_PB2 = 0, // PB2-Pin DOUT_PB7 = 1, // PB7-Pin DOUT_PC6 = 2, // PC6-Pin DOUT_PC13 = 3 // PC13-Pin }DOUT_NAME_t; |
Funktionen :
1 2 3 4 5 | void UB_DigOut_Init(void); // zum init der Dig-Out-Pins void UB_DigOut_Lo(DOUT_NAME_t dig_pin); // um einen Pin auf Lo zu setzen void UB_DigOut_Hi(DOUT_NAME_t dig_pin); // um einen Pin auf Hi zu setzen void UB_DigOut_Toggle(DOUT_NAME_t dig_pin); // um einen Pin zu toggeln void UB_DigOut_Pin(DOUT_NAME_t dig_pin,BitAction wert); // um einen Pin zu schalten |
Beispiel :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | //-------------------------------------------------------------- // File : main.c // Datum : 16.02.2013 // Version : 1.0 // Autor : UB // EMail : mc-4u(@)t-online.de // Web : www.mikrocontroller-4u.de // CPU : STM32F4 // IDE : CooCox CoIDE 1.7.0 // Module : CMSIS_BOOT, M4_CMSIS_CORE // Funktion : Demo der DigOut-Library // Hinweis : Diese zwei Files muessen auf 8MHz stehen // "cmsis_boot/stm32f4xx.h" // "cmsis_boot/system_stm32f4xx.c" //-------------------------------------------------------------- #include "main.h" #include "stm32_ub_dig_out.h" void Delay(volatile uint32_t nCount){ while(nCount--) { } } int main(void) { SystemInit(); // Quarz Einstellungen aktivieren UB_DigOut_Init(); // init aller DigOut-Pins while(1) { Delay(5000000); UB_DigOut_Toggle(DOUT_PB2); Delay(5000000); UB_DigOut_Toggle(DOUT_PB7); Delay(5000000); UB_DigOut_Toggle(DOUT_PC6); Delay(5000000); UB_DigOut_Toggle(DOUT_PC13); } } |
Beschreibung :
1 2 3 4 5 6 | Funktion : -die GPIO-Pins PB2, PB7, PC6, PC13 werden als Ausgang definiert (in der LIB) -die Ausgangspins werden zyklisch getoggelt Librarys die für das Beispiel benutzt werden : -stm32_ub_dig_out |
Hier die Library zum Download :
Hier der komplette CooCox-Projektordner zum Download :