![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
技术交流
文章平均质量分 79
大唐不夜城
这个作者很懒,什么都没留下…
展开
-
AC78013CAN模块测试(二)CAN错误寄存器
上一节我们发现无论CANH、CANL接地或者断开,调用函数CAN_TransmitMessage(CAN_Type *CANx, const CAN_MsgInfoType *info, CAN_TransmitBufferType type)发送的数据返回值永远是0,查看原函数发现这里只管数据能正常丢入缓冲区。对于发送错误并没有相关判断。库函数中int32_t CAN_GetError(CAN_Type *CANx)可以用于获知CANCTRL当前的状态。在代码中增加这么一段话,然后再进行相关测试。原创 2021-09-16 15:40:06 · 1570 阅读 · 0 评论 -
AC78013CAN模块收发测试1
MCU:AC78013FDLACAN Transfer TJA1042AC78013FDLACAN-CTRL 内核描述支持 CAN 规格 − CAN 2.0A/B (最多 8 个字节的有效载荷,经 Bosch 参考模型验证) − 对 CAN FD 的可选支持 (最多 64 字节的有效载荷,ISO 11898-1:2015 或者 非 ISO Bosch) 可编程的比特率 − CAN 2.0B 支持最高 1Mbit/s − CAN FD 支持.原创 2021-09-15 17:52:51 · 1692 阅读 · 0 评论 -
AC78013FDLA Free RTOS的消息队列实验
消息队列:异步通信机制1.当队列中的消息是空时,读取消息的任务将被阻塞2.可以指定阻塞的任务时间 xTicksToWait(这段时间中,如果队列为空,该任务将保持阻塞状态以等待队列数据有效)3.等待期间如果队列有消息,会唤醒被阻塞的任务并处理消息4.等待超时,即使队列没有数据也会让任务进入就绪状态5.消息先进先出6.允许不同长度(限定范围之内)7.一个消息队列可以服务于一个或多个任务6.队列使用结束后通过删除队列函数删除消息队列基本要素头指针 pcHead、尾指针 pcTail、消息大小原创 2021-05-24 15:36:49 · 946 阅读 · 0 评论 -
stm32DMA+消息队列实现串口数据接收不丢包
前提:有一个项目一直使用DMA+串口空闲中断接收数据,最近发现串口数据丢包。经过检查发现串口发送机在发送数据过程中本来应该是连续发送,但是中间有某一个字节与下一个字节之间的间距大于一个字节,MCU端会认为产生了一个空闲中断,便触发,这时候如果软件直接读取数据,很有可能后面的数据就直接丢失,并且原程序设计时候在处理过程中是关闭DMA的,这就会导致串口数据堵塞后面的数据也进不了,表现为串口接不到数据。为了解决这个问题:修改程序逻辑,将DMA的两个中断(接收完成中断,和接收一半中断使能),在超过一半时即开原创 2020-11-21 21:56:47 · 3602 阅读 · 0 评论 -
XMC4800 MultiCAN模块使用总结
一:XMC4800简介 英飞凌XMC4800属于XMC4000系列中的一个子型号,时英飞凌公司基于Cotex-M4内核开发的集成片上EtherCAT(用于控制和自动化技术的以太网)节点的全新32位微控制器。其部分参数如下表:CPU frequency144MHZFlash2.5MB RAM51原创 2018-01-21 22:52:20 · 3854 阅读 · 1 评论