Loading...
Searching...
No Matches
can.h
1
8
9// ALLOW FORMATTING
10#ifndef CAN_H
11#define CAN_H
12
13#include "stm32f439xx.h"
14#include "stdbool.h"
15
16#define CAN_STID_MAX 2048
17
18typedef struct {
19
21
22typedef struct {
23 uint32_t id;
24 uint8_t length;
25 uint64_t data[2];
26} CAN_Data;
27
28typedef struct CAN {
29 CAN_TypeDef *interface;
30 CAN_Config config;
31 uint8_t (*transmit)(struct CAN *can, CAN_Data *txData);
32 bool (*receive)(struct CAN *can, CAN_Data *rxData);
33 void (*updateConfig)(struct CAN *can, CAN_Config *config);
34} CAN_t;
35
36CAN_t CAN_init(CAN_TypeDef *interface, CAN_Config *config);
37uint8_t CAN_transmit(CAN_t *can, CAN_Data *txData);
38bool CAN_receive(CAN_t *can, CAN_Data *rxData);
39void CAN_updateConfig(CAN_t *can, CAN_Config *config);
40
41void CAN_Peripheral_config();
42void CANGPIO_config();
43
44#endif
Definition can.h:22
Definition can.h:28