扫一扫,分享给好友
CAN loopback 模式是一种用于自测试和调试的 CAN 总线工作模式,以下是其测试的详细介绍:
can.Init.Prescaler = 36 / (500 * 1000); can.Init.SyncJumpWidth = CAN_SJW_1TQ; can.Init.TimeSeg1 = CAN_BS1_1TQ; can.Init.TimeSeg2 = CAN_BS2_1TQ; can.Init.Mode = CAN_MODE_LOOPBACK; can.Init.SJW = CAN_SJW_1TQ; can.Init.BS1 = CAN_BS1_1TQ; can.Init.BS2 = CAN_BS2_1TQ; can.Init.TTCM = DISABLE; can.Init.ABOM = DISABLE; can.Init.AWUM = DISABLE; can.Init.NART = DISABLE; can.Init.RFLM = DISABLE; can.Init.TXFP = DISABLE
HAL_NVIC_SetPriority(CAN_RX0_IRQn, 1, 0); HAL_NVIC_EnableIRQ(CAN_RX0_IRQn);
HAL_CAN_AddTxMessage
Can_Tx.StdId = 0x123; Can_Tx.ExtId = 0x123; Can_Tx.IDE = CAN_ID_STD; Can_Tx.RTR = CAN_RTR_DATA; Can_Tx.DLC = 8; for (int i = 0; i < 8; i++) { Can_Tx.Data[i] = i; }
HAL_CAN_GetRxMessage
void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *CanHandle) { CAN_RxHeaderTypeDef RxHeader; uint8_t canRxbuf[8]; if (HAL_CAN_GetRxMessage(CanHandle, CAN_RX_FIFO0, &RxHeader, canRxbuf) != HAL_OK) { Error_Handler(); } else { // 对接收到的数据进行处理 } }
发布
CANrisc-v沁恒mcu
LCD_SPI_X->DAT = (uint16_t)dat; while((LCD_SPI_X->STS & SPI_I2S_BUSY_FLAG)!=(uint16_t)RESET){}
WM IoT SDK 2.X大步走来
void T1_RunTask(void)
宇树科技在物联网方面
count_th_tl = ((u16)TH1 << 8) + (u16)TL1;
华氏温度转换为摄氏温度并显示
关于RISC-V芯片的应用学习总结
程序中断的100种写法
RISC-V 领军企业 SiFive 成立中国分公司,中文名称定为“芯伍科技”
CAN loopback模式测试
电子发烧友网
电子发烧友开云(中国)官方