1. 概述
根据之前的功能实现需求,主要需要实现以下外设的基础功能:
- CAN接口的接收和发送;
- flash 擦除、读写操作;
2. CAN接口调试
2.1 CAN功能开启
设置通用过滤器;
指定CAN接收buffer;
开启CAN_FIFO0 接收通路
void CanStart( void )
{
CanCfgIdListFilter(&hcan);
hcan.pRxMsg = &gCanRx;
mStatus = HAL_CAN_Receive_IT(&hcan, CAN_FIFO0);
if ( mStatus != HAL_OK )
{
CanRecvErro();
}
}
2.2 CAN接收调试
(1)CAN接收设置过滤器
CAN接收问题:必须设置过滤器,不然无法触发接收中断
__weak void CanCfgIdListFilter( CAN_HandleTypeDef* hcan )
{
uint16_t mStdIdArray[10] ={0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19};
uint16_t *pId = mStdIdArray;
uint32_t i=0,mNum = sizeof(mStdIdArra
本文介绍了STM32的CANbootloader开发过程,重点讲解了CAN接口的开启、接收与发送调试,以及Flash的擦除、读写操作。在CAN接口调试中,详细阐述了如何设置过滤器、接收中断和发送配置。同时,对Flash的擦除、写入和读取函数进行了说明,为STM32的固件升级提供了关键技术支持。
订阅专栏 解锁全文
功能接口开发&spm=1001.2101.3001.5002&articleId=122996005&d=1&t=3&u=21ce33b3044947a9b51130cd5ace7a9c)
3206

被折叠的 条评论
为什么被折叠?



