【緣由】
今天拿到rtthread的ch32v208的rtthread驅(qū)動,在配置好驅(qū)動后,scons時報錯,找不到can2的錯誤,我查看我的rtconfig.h文件,明明沒有定義CAN2,明一直提示出錯。經(jīng)查看手冊,ch32v208只有一個can設(shè)備,而原來的驅(qū)動只適配了ch32v307的驅(qū)動。經(jīng)我一天的修改,終于把ch32v208適配了。
【適配方法與步驟】
經(jīng)查看原來的代碼為:
#ifdef BSP_USING_CAN1
static 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_CAN1
static 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
經(jīng)過修改后的代碼如下代碼我已經(jīng)提交到github。這里附件如下:
經(jīng)修正后,就愉快的可以編譯使用rtthread 的drv_can驅(qū)動了:
審核編輯 黃宇
-
CAN
+關(guān)注
關(guān)注
57文章
2773瀏覽量
464464 -
驅(qū)動
+關(guān)注
關(guān)注
12文章
1852瀏覽量
85685 -
RTThread
+關(guān)注
關(guān)注
8文章
132瀏覽量
41012
發(fā)布評論請先 登錄
相關(guān)推薦
【沁恒 CH32V208 開發(fā)板免費試用】RTT 純命令行(makefile) 和 點燈測試
![【<b class='flag-5'>沁</b><b class='flag-5'>恒</b> <b class='flag-5'>CH32V208</b> <b class='flag-5'>開發(fā)板</b>免費<b class='flag-5'>試用</b>】RTT 純命令行(makefile) 和 點燈測試](https://file1.elecfans.com//web2/M00/88/A7/wKgZomRuBKCAITpJAADX9KC8GEw577.png)
評論