在线时间46 小时
UID3054266
注册时间2014-11-27
NXP金币0
TA的每日心情 | 慵懒 2016-11-22 09:32 |
---|
签到天数: 2 天 连续签到: 1 天 [LV.1]初来乍到
中级会员
 
- 积分
- 335
- 最后登录
- 2023-5-6
|
- static void mcan_callback(CAN_Type *base, mcan_handle_t *handle, status_t status, uint32_t result, void *userData)
- {
- switch (status)
- {
- case kStatus_MCAN_RxFifo0Idle:
- {
- rxComplete = true;
- }
- break;
- case kStatus_MCAN_TxIdle:
- {
- txComplete = true;
- }
- break;
- default:
- break;
- }
- }
复制代码- mcan_handle_t mcanHandle;
- MCAN_TransferCreateHandle(EXAMPLE_MCAN, &mcanHandle, mcan_callback, NULL);
复制代码- /* RX fifo0 config. */
- rxFifo0.address = RX_FIFO0_OFS;
- rxFifo0.elementSize = 1U;
- rxFifo0.watermark = 0;
- rxFifo0.opmode = kMCAN_FifoBlocking;
- rxFifo0.datafieldSize = kMCAN_8ByteDatafield;
- MCAN_SetRxFifo0Config(EXAMPLE_MCAN, &rxFifo0);
- /* TX buffer config. */
- txBuffer.address = TX_BUFFER_OFS;
- txBuffer.dedicatedSize = 1U;
- txBuffer.fqSize = 0;
- txBuffer.datafieldSize = kMCAN_8ByteDatafield;
- MCAN_SetTxBufferConfig(EXAMPLE_MCAN, &txBuffer);
复制代码
例程里有么一个函数。具体用法不是很了解。上面第一个应该是中断的服务函数。下面是注册中断函数。不知道我的理解对不对。还有就是elementSize的大小,1表示的时间大小是1个byte还是?之前没接触过类似的,不是特别了解。另外还有dedicatedSize的大小1表示是多大?
因为之前是用16位单片机,没有这种sram里定义的fifo或者buff。中断触发之后需要及时把数据拷走。现在这个中断触发以后是不是可以从buff或者FIFO里慢慢提了?大家有了解的请帮帮忙。。金币不多。。意思意思
|
|