【Nuvoton M487模块评测】CAN总线通信功能评测

接口/总线/驱动

1139人已加入

描述

评测准备
硬件:
平台开发板 (这个不多说)
Can收发器 (TJA1050)(完成信号转换)
Can分析仪 (数据测试)
软件:
NuTool-PinConfigure_V1.24.0030 (设置引脚功能)
Rtthread studio (开发环境)

本次 测评的主要思路是 硬件连接->软件功能设置->基本数据收发

硬件功能连接

右边+5v供电
左边 PD10 PD11 做为CAN的收发
开发板接TJA1050接分析仪接到pc

软件功能准备
a.准备一个空工程,这个参考直播。
b.Rtthread 设置can相关功能。

RTThread

在RT-Thread Settings选项中硬件中打开can使能can0,
c. 按照rtthread 启动流程 我们做板级初始化

RTThread

通过NuTool-PinConfigure这个软件,选择芯片系列,然后确定具体的芯片,,选择具体的功能引脚这里我们选择CAN0,点击文件图标生成我们需要的代码。

RTThread

填充工程名字nutool_pincfg 这个很必要,能让工程代码风格统一。选择一个位置点击提交我们就可以去查看生成代码。

void nutool_pincfg_init_can0(void)
{
SYS->GPD_MFPH &= ~(SYS_GPD_MFPH_PD11MFP_Msk | SYS_GPD_MFPH_PD10MFP_Msk);
SYS->GPD_MFPH |= (SYS_GPD_MFPH_PD11MFP_CAN0_TXD | SYS_GPD_MFPH_PD10MFP_CAN0_RXD);
return;
}
void nutool_pincfg_deinit_can0(void)
{
SYS->GPD_MFPH &= ~(SYS_GPD_MFPH_PD11MFP_Msk | SYS_GPD_MFPH_PD10MFP_Msk);
return;
}

主要是这两部分代码。

将他们分别复制到 nutool_pincfg_init /nutool_pincfg_deinit
(启动顺序rtthread_startup->rt_hw_board_init->nutool_pincfg_init)(deinit没有调用为了统一也添加了其实没有必要修改这个函数)

代码调试
添加调试代码 参考官方的例程 稍作修改 我们测试用can0,数据显示调节,具体看代码效果如图

RTThread

RTThread

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分