
单片机
文章平均质量分 83
恏恏过生活
这个作者很懒,什么都没留下…
展开
-
S32K144调试记录(一)
最近在开发S32K144的CAN/LIN模块,断断续续遇到不少问题,在这里记录下。CAN/LIN接收过程有问题1 现象1.1 CANCANoe一直报Tx stuff error/overload frames,如下图所示。1.2 LINLIN报文的时隙一直与调度表中设定的报文时隙对不上,调度表中报文A设定10ms的时隙,A的报文实际发送需要7ms,按照调度表定义A报文发完之后TX需要空闲3ms,等到10ms完全过去后下一个报文才会开始发送。2 解决过程2.1 CAN刚开始测试CAN的时候原创 2022-05-08 16:58:21 · 4891 阅读 · 0 评论 -
STM32 CAN 发送和接收过滤原理
通过对CANBUS协议的理解,我们知道:CAN总线上的节点接收或发送数据都是以帧为单位的。CAN协议规定了好几种帧的类型,但是对于使用者而言,只有数据帧和远程帧可以通过软件编程来控制。(其他几种帧都是由CAN控制硬件实现的,我们想管也管不了)。而数据帧和远程帧最大的区别在于:远程帧没有数据域。(这也是我没有用过远程帧的原因o(╯□╰)o)数据帧分为标准帧和扩展数据帧,它们之间最大的...转载 2019-03-06 20:24:58 · 4972 阅读 · 0 评论 -
STM32中出现 error: #268: declaration may not appear after executable statement in block的问题
今天在复习STM32的过程中,发现了一个以前遇到过的问题,之前解决过了,现在又忘了,所以在这里整理一下。在 led.c 和 led.h 中定义完 void led_init(void) 之后,如果在 main 函数中调用 led_init(), 不能加上参数void,否则的话就会出现题目中出现的错误,这个错误的原因是对于变量的声明不能放在可执行语句后面,必须在主函数开头声明变量。换句话来说,如...原创 2019-03-08 11:31:19 · 5564 阅读 · 0 评论 -
Linux系统的学习小结
这两天在准备计算机三级——嵌入式的过程中,接触到了Linux系统,因此在这里把自己学到的东西总结一下。一、Linux内核的结构与组成Linux是一种自由软件,也是开源软件,它是一款类Unix系统。Linux采用模块化设计,将接口与其实现分离开来,保证一个模块可以在不影响其他模块的情况下进行修改,这其实就是单内核的内核结构所决定的特性。Linux还支持动态装载内核模块,允许根据特定设备的...原创 2019-03-31 15:06:42 · 7721 阅读 · 14 评论 -
MATLAB/SIMULINK生成嵌入式代码的步骤
昨天参加了Mathworks公司在东南大学举办的关于MATLAB的培训,内容是关于MATLAB/SIMULINK的嵌入式代码生成以及物理建模,在这里把代码生成的步骤及一些相关内容总结一下。嵌入式代码生成嵌入式代码生成主要利用的是MATLAB中自带的MATLAB Coder模块,MATLAB Coder可以从MATLABcode产生可读且可移植的C/C++程序,支持多数MATLAB语言和工具...原创 2019-04-21 15:04:16 · 15067 阅读 · 1 评论