STM32
wangkeyen
这个作者很懒,什么都没留下…
展开
-
STM32学习笔记10——stm32中结构体字节对齐问题
stm32做串口或网络传输数据时,经常需要用结构体定义帧格式。如果按照keil默认的对齐方式(4字节对齐),经常会出现结构体中补零的问题,造成帧格式错误。所以,在定义结构体类型时,最好把结构体对齐方式改为1字节对齐,防止出错。理论和方法见下面转载的文章。转载自:https://www.cnblogs.com/King-Gentleman/p/5297355.html#pragma pack...转载 2018-07-28 14:23:48 · 5056 阅读 · 0 评论 -
ucos中的App_Fault_ISR
今天调试GPRS部分遇到一个错误:在任务 App_TaskCH1PtlRxProc中,只要其调用OSTimeDlyHMSM这个函数,不论其延时时间多长,都会进入App_Fault_ISR错误。查看网上资料发现,进入这个错误一般是两个原因:1.创建任务的时候堆栈错误(一般是栈顶指针错误)。2.任务中没有无限循环。 个人通过检查, App_TaskCH1PtlRxProc中,这两项均...转载 2018-07-31 18:09:43 · 1547 阅读 · 0 评论 -
软件发布版本区别介绍-Alpha,Beta,RC,Release
Alpha:Alpha是内部测试版,一般不向外部发布,会有很多Bug.除非你也是测试人员,否则不建议使用.是希腊字母的第一位,表示最初级的版本alpha就是α,beta就是βalpha版就是比beta还早的测试版,一般都是内部测试的版本--------------------Beta: 很容易理解就是测试版,这个阶段的版本会一直加入新的功能。RC:RC就是Release Ca...转载 2018-10-26 13:42:14 · 3342 阅读 · 0 评论 -
教你如何找到导致程序跑飞的指令
本节PDF文档请在http://dl.dbank.com/c05ix5bmht下载调试嵌入式程序时,你是否遇到过程序跑飞最终导致硬件异常中断的问题?遇到这种问题是否感觉比较难定位?不知道问题出在哪里,没有办法跟踪?尤其是当别人的程序踩了自己的内存,那就只能哭了:(今天在论坛上看有同学求助这种问题,正好我还算有一点办法,就和大家分享一下。解决办法非常非常简单,本文将以Aduc702...转载 2019-06-14 08:41:48 · 4454 阅读 · 0 评论 -
STM32芯片CAN2只能发送不能接收问题解决。
STM32F107在使用过程中,调整了一下任务优先级后,发现CAN2相关的任务的优先级被提高后,CAN2只能发送,不能接收,后来通过把CAN2的任务延时一段时间再初始化启动,发现可以正常收发了,通过排除的办法,发现只要CAN1的任务只要滞后与CAN2任务的启动,就会发生这种现象。后来听同事讲STM32的CAN2是通过CAN1扩展出来的,必须先初始化CAN1,再初始化CAN2才可以正常运行。后来把这...原创 2019-07-08 09:14:59 · 7862 阅读 · 2 评论 -
CAN数据发送错误率高问题解决
在调试程序的时候,发现控制器跟充电桩电源模块通信的时候,总线的错误率很高,通过试验,发现如果发包比较频繁,比如以5ms的时间间隔向总线发送数据,总线就会出现错误帧,将发送间隔改成40ms,错误帧几乎没有了,由此发现之前的超过8字节的长数据包拆成8字节一包的数据,不能发的太频繁,间隔不能太小,否则总线会报错。这个前提是总线的匹配电阻和接地都正确,通信用的线也是屏蔽双绞线。按照CAN的通信协议,帧和帧...原创 2019-07-08 09:28:07 · 4046 阅读 · 3 评论