327_S32K144 CAN接收功能初步

完整的S32K144的学习汇总如下:

https://github.com/GreyZhang/g_s32k144

    前一阵子花了太多的时间来学习lisp,暂且稍微换一下相应的步伐。继续S32K144的学习,今天来看看CAN的接收初步。简单起见,我直接使用SDK进行测试。

    注意到文档中的几个关键点:

    为了能够使用CAN的驱动,首先得调用这个初始化的函数。这部分我们其实已经做完了,之前已经实现过CAN的发送功能以及测试。

    接下来,一部分关于波特率等其他的细节配置的功能全都跳过。既然,发送的功能已经调试出来了,这部分可以不再重复。看一下关于message buffer的使用。

    首先,进行buffer的功能配置,这里应该是进行一个三选一的操作。其次,通过接下来的6个函数之一进行相应功能的使用。看上去,描述比较明确。接下来,尝试使用第一个buffer进行对0x100标准帧的报文接收。

    首先增加buffer属性的设置。

    接下来,进行CAN报文的接收。为了方便查看,这里接收到的CAN报文可以再通过串口打印出来看看接收的是否正确。我的查询频率是每秒一次,实时性暂时不是很高,这次我们仅仅是看CAN的功能。

    软件运行后,通过CAN分析仪给开发板发送CAN报文。

    发送之后,从打印的记录中找到了接收成功的信息提示。接下来,做1个数据以及数据场长度变化的测试。

    查看报文信息,也受到了正确的报文。这样看,基础的CAN的接收功能我们是已经测试通过了。

    不过,从我刚刚的测试中我发现一个问题:复位之后的第一次接收,总是提示接收成功。不过,ID以及DLC等都是0。看起来,这里还有一个特殊的注意点,后面需要确认一下。

    嵌入式算是我现在的主业,不过,已经很久没能够有机会倾心去做技术主业了。我觉得这是职业生涯中比较让人心烦焦虑的一个转换瞬间,不过,这也说不定会是我新的人生征程的有一个起点。不要去拒绝改变,尝试接受需要做的改变。祝愿看到我学习笔记的你们,也能够顺利完成人生各个阶段的角色转变。

完整的S32K144的学习汇总如下:

https://github.com/GreyZhang/g_s32k144

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章