03-DigOut-Library (STM32F4)

-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 :

ub_stm32f4_digout_v102

Hier der komplette CooCox-Projektordner zum Download :

Demo_03_DigOut


Wie hat Dir dieser Artikel gefallen?

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (Noch keine Bewertungen)
Loading...

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert