2.5. can — CAN bus¶
Source code: src/drivers/can.h, src/drivers/can.c
Test code: tst/drivers/can/main.c
- Version
- 7.0.0
Functions
-
int
can_init(struct can_driver_t *self_p, struct can_device_t *dev_p, uint32_t speed, void *rxbuf_p, size_t size)¶ Initialize given driver object.
- Return
- zero(0) or negative error code.
- Parameters
self_p-Driver object to initialize.
dev_p-Device to use.
speed-Can bus speed.
rxbuf_p-Reception buffer.
size-Size of the reception buffer.
-
int
can_start(struct can_driver_t *self_p)¶ Starts the CAN device using given driver object.
- Return
- zero(0) or negative error code.
- Parameters
self_p-Initialized driver object.
-
int
can_stop(struct can_driver_t *self_p)¶ Stops the CAN device referenced by driver object.
- Return
- zero(0) or negative error code.
- Parameters
self_p-Initialized driver object.
-
int
can_read(struct can_driver_t *self_p, struct can_frame_t *frame_p, size_t size)¶ Read one or more CAN frames.
- Return
- zero(0) or negative error code.
- Parameters
self_p-Initialized driver object.
frame_p-Array of read frames.
size-Size of frames buffer in words.
-
int
can_write(struct can_driver_t *self_p, const struct can_frame_t *frame_p, size_t size)¶ Write one or more CAN frames.
- Return
- zero(0) or negative error code.
- Parameters
self_p-Initialized driver object.
frame_p-Array of frames to write.
size-Size of frames buffer in words.
Variables
-
struct can_device_t
can_device[CAN_DEVICE_MAX]¶
-
struct
can_frame_t¶