Digital Input/Output Reusable Driver v1.1
This project implements a GPIO reusable driver that can be adapted to various microcontrollers.
Loading...
Searching...
No Matches
dio.h
Go to the documentation of this file.
1
13#ifndef DIO_H_
14#define DIO_H_
15
16/*****************************************************************************
17* Includes
18*****************************************************************************/
19#include <stdint.h>
20#include <stdio.h>
21//#define NDEBUG /*To disable assert function*/
22#include <assert.h>
23#include "dio_cfg.h" /*For dio configuration*/
24#include "stm32f4xx.h" /*Microcontroller family header*/
25
26/*****************************************************************************
27* Preprocessor Constants
28*****************************************************************************/
29
30/*****************************************************************************
31* Configuration Constants
32*****************************************************************************/
33
34/*****************************************************************************
35* Macros
36*****************************************************************************/
37
38/*****************************************************************************
39* Typedefs
40*****************************************************************************/
46
47/*****************************************************************************
48* Variables
49*****************************************************************************/
50
51/*****************************************************************************
52* Function Prototypes
53*****************************************************************************/
54#ifdef __cplusplus
55extern "C"{
56#endif
57
58void DIO_init(const DioConfig_t * const Config, size_t configSize);
59DioPinState_t DIO_pinRead(const DioPinConfig_t * const PinConfig);
60void DIO_pinWrite(const DioPinConfig_t * const PinConfig, DioPinState_t State);
61void DIO_pinToggle(const DioPinConfig_t * const PinConfig);
62void DIO_registerWrite(uint32_t address, uint32_t value);
63uint32_t DIO_registerRead(uint32_t address);
64
65#ifdef __cplusplus
66} // extern C
67#endif
68
69#endif /*DIO_H_*/
void DIO_init(const DioConfig_t *const Config, size_t configSize)
Definition dio.c:133
void DIO_pinToggle(const DioPinConfig_t *const PinConfig)
Definition dio.c:550
void DIO_pinWrite(const DioPinConfig_t *const PinConfig, DioPinState_t State)
Definition dio.c:485
DioPinState_t DIO_pinRead(const DioPinConfig_t *const PinConfig)
Definition dio.c:416
uint32_t DIO_registerRead(uint32_t address)
Definition dio.c:638
void DIO_registerWrite(uint32_t address, uint32_t value)
Definition dio.c:598
This module contains interface definitions for the Dio configuration. This is the header file for the...
DioPort_t
Definition dio_cfg.h:47
DioPinState_t
Definition dio_cfg.h:36
DioPin_t
Definition dio_cfg.h:62
Definition dio_cfg.h:192
Definition dio.h:42
DioPort_t Port
Definition dio.h:43
DioPin_t Pin
Definition dio.h:44