CubeIDE CANのHAL库

在开始前

HAL_CAN_ConfigFilter()

配置接受滤波器

HAL_CAN_Start()

启动CAN

HAL_CAN_AddTxMessage()

传输新消息

HAL_CAN_AbortTxRequest()

中止传输

HAL_CAN_GetTxMailboxesFreeLevel()
获取空闲の发送邮箱数

HAL_CAN_IsTxMessagePending()
检查消息是否挂起在一个发送邮箱

HAL_CAN_GetTxTimestamp()
获取发送消息的时间戳(if time triggered communication mode is enabled.)

在轮询

HAL_CAN_GetRxFifoFillLevel()

监视,直到至少收到一条信息
之后使用HAL_CAN_GetRxMessage()接收消息。

HAL_CAN_GetTxMailboxesFreeLevel()

监视,直到有发送邮箱可用
之后使用 HAL_CAN_AddTxMessage().发送消息

在中断

HAL_CAN_ActivateNotification()

启动总线错误中断,之后可以使用回调函数HAL_CAN_xxxCallback(), 或着HAL_CAN_GetRxMessage()HAL_CAN_AddTxMessage()

HAL_CAN_DeactivateNotification()

关闭之

 (#) Special care should be taken for CAN_IT_RX_FIFO0_MSG_PENDING and CAN_IT_RX_FIFO1_MSG_PENDING notifications.
  These notifications trig the callbacks HAL_CAN_RxFIFO0MsgPendingCallback() and HAL_CAN_RxFIFO1MsgPendingCallback(). 
  User has two possible options here.
 (++) Directly get the Rx message in the callback, using HAL_CAN_GetRxMessage().
 (++) Or deactivate the notification in the callback without getting the Rx message.
  The Rx message can then be got later using HAL_CAN_GetRxMessage(). 
  Once the Rx message have been read, the notification can be activated again.

睡眠模式

暂无

回调の注册

USE_HAL_CAN_REGISTER_CALLBACKS 设置为1时,我们可以动态配置驱动程序回调。
(+) TxMailbox0CompleteCallback : Tx Mailbox 0 Complete Callback.
(+) TxMailbox1CompleteCallback : Tx Mailbox 1 Complete Callback.
(+) TxMailbox2CompleteCallback : Tx Mailbox 2 Complete Callback.
(+) TxMailbox0AbortCallback : Tx Mailbox 0 Abort Callback.
(+) TxMailbox1AbortCallback : Tx Mailbox 1 Abort Callback.
(+) TxMailbox2AbortCallback : Tx Mailbox 2 Abort Callback.
(+) RxFifo0MsgPendingCallback : Rx Fifo 0 Message Pending Callback.
(+) RxFifo0FullCallback : Rx Fifo 0 Full Callback.
(+) RxFifo1MsgPendingCallback : Rx Fifo 1 Message Pending Callback.
(+) RxFifo1FullCallback : Rx Fifo 1 Full Callback.
(+) SleepCallback : Sleep Callback.
(+) WakeUpFromRxMsgCallback : Wake Up From Rx Message Callback.
(+) ErrorCallback : Error Callback.
(+) MspInitCallback : CAN MspInit.
(+) MspDeInitCallback : CAN MspDeInit.

`

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值