【沁恒CH32V208开发板试用】增加适配CAN的驱动

【缘由】今天拿到rtthread的ch32v208的rtthread驱动,在配置好驱动后,scons时报错,找不到can2的错误,我查看我的rtconfig.h文件,明明没有定义can2,明一直提示出错。经查看手册,ch32v208只有一个can设备,而原来的驱动只适配了ch32v307的驱动。经我一天的修改,终于把ch32v208适配了。
【适配方法与步骤】经查看原来的代码为:
#ifdef bsp_using_can1static struct ch32v307x_can_obj drv_can1 ={ .name = can1, .can_base = can1,};#endif#ifdef bsp_using_can2 static struct ch32v307x_can_obj drv_can2 = { .name = can2, .can_base = can2, }; #endif为了让编译器不去编译can2,所以我选择用条件编译来匹配两款不同的芯片修改后代码如下:
#ifdef bsp_using_can1static struct ch32v307x_can_obj drv_can1 ={ .name = can1, .can_base = can1,};#endif#ifdef ch32v30x_d8c #ifdef bsp_using_can2 static struct ch32v307x_can_obj drv_can2 = { .name = can2, .can_base = can2, }; #endif#endif经过修改后的代码如下代码我已经提交到github。这里附件如下:
*附件:drv_can.zip
经修正后,就愉快的可以编译使用rtthread 的drv_can驱动了:


你是否真的懂电脑?这些电源知识你都清楚吗?
贴片机选择中注意问题
高效率职场必备神器,华为MateBook E Go让你快人一步
压缩机导致排气过高的原因
焊接自动化控制系统有哪些类型
【沁恒CH32V208开发板试用】增加适配CAN的驱动
新iPad命名面临的困扰与尴尬
沃尔沃发布360c概念车,向对地面交通工具赋予的最新诠释
5G卫星非地面网络架构解析
罗氏线圈/柔性电流探头CWT60B的产品特性及其应用
丰田“超大杯”汉兰达:三排空间、搭载3.5L V6发动机
经常忘记东西丢哪里了?来试试这款防丢失贴片
LG折叠屏电视专利曝光,支持5折叠展开六块屏幕呈横向排列
高智能土壤检测仪的产品特点
FPGA学习-异步复位,同步释放
放大电路中反馈的有无如何判断
不锈钢螺旋板式换热器的使用环境分析
华硕宣布推出全新GeForce RTX 3060Ti显卡
买了电动车的人,这些电池的秘密一定要知道
300元和300000元的耳机有什么区别