32 lines
831 B
C
32 lines
831 B
C
|
|
#ifndef __GLOBAL_H__
|
|
#define __GLOBAL_H__
|
|
|
|
#include <stdbool.h>
|
|
#include <stdint.h>
|
|
#include <assert.h>
|
|
#include <string.h>
|
|
|
|
/* The IRQ header must be included before stm32_device.h since ST defines a bunch of messy macros there. */
|
|
#include <stm32_irqs.h> /* Header generated from stm32***_startup.s in Makefile */
|
|
|
|
#include <stm32f0xx.h>
|
|
|
|
#define COUNT_OF(x) ((sizeof(x)/sizeof(0[x])) / ((size_t)(!(sizeof(x) % sizeof(0[x])))))
|
|
|
|
#define APB1_PRESC (1<<(APBPrescTable[(RCC->CFGR & RCC_CFGR_PPRE1_Msk) >> RCC_CFGR_PPRE1_Pos]))
|
|
#define AHB_PRESC (1<<(AHBPrescTable[(RCC->CFGR & RCC_CFGR_HPRE_Msk) >> RCC_CFGR_HPRE_Pos]))
|
|
|
|
enum ErrorCode {
|
|
ERR_SUCCESS = 0,
|
|
ERR_TIMEOUT,
|
|
ERR_PHYSICAL_LAYER,
|
|
ERR_PROTOCOL,
|
|
ERR_DMA,
|
|
};
|
|
typedef enum ErrorCode ErrorCode;
|
|
|
|
|
|
void delay_us(int duration_us);
|
|
|
|
#endif /* __GLOBAL_H__ */
|