随笔分类 - stm32
摘要:这个是stm32平台,小端模式下的仿真效果
阅读全文
摘要:软件产品的文档很重要,其实我想说,任何东西都要有说明书,不然别人是很难使用的。最近一段时间有在看OSAL这个为操作系统,看了很就也不会用,其原因嘛,我实例有限,另外就是TI自己的文档不够全面,仅仅是zigbee好蓝牙的芯片中使用,其他mcu的平台基本上没有现成比较好的,有的网友移植了,也没有好好说明
阅读全文
摘要:序: 偶然的因素看到网上有keil设置arm gcc的编译器,于是想自己尝试一下。mdk5.15之后就可以按照此文的方案去设置,也可以参考keil官网文档, 这个文章过了好多年,圈中大佬,真正的大佬(GorgonMeducer 傻孩子 裸机思维),在他的公众号中,写了一个手把手的教程——《【教程】如
阅读全文
摘要:之前提到过一个编译选项:Optimize for time,这个会影响float变量的存储大小,其实实测是不会影响,依然是4字节 且看测试的截图:stm32F103+keil5.20+ac5 测试代码: main函数中结构体赋值: 下图是设定位4字节对齐后,代码的存储实际情况,下面划线是全局结构体变
阅读全文
摘要:1、默认情况下,keil和iar都是认为char是unsigned char,可以通过设置去更改的。 2、赋初值的全局变量和静态变量,对于在程序中赋初值的全局变量和静态变量,程序编译后,MDK将这些初值放到Flash中,紧靠在可执行代码的后面。在程序进入main函数前,会运行一段库代码,将这部分数据
阅读全文
摘要:最近在使用ac6.9的编译器,编译速度是真的很快,使用stm32的hal库编译速度也比ac5的编译器快很多。本文试验stm32中字节对齐的代码测试,主要是结构体,因为结构体中实际项目中用到最多,同时在仿真环境中打印出来。 ac5的测试结果: 测试结果如下: ac6的测试结果:
阅读全文
摘要:参考:http://armbbs.cn/forum.php?mod=viewthread&tid=95190&extra=page%3D1 对于内联函数,不能像普通函数那样,直接在.h文件里面声明下,源文件里面定义下,然后其他C文件就可以调用。而加上static的前缀后,就解决了这个问题。以CMSI
阅读全文
摘要:上面的两幅图是stm32系列的,但是基本原理可以通用的。
阅读全文
摘要:转载自:https://www.jianshu.com/p/3aa5997fe794 1 异常类型 Cortex-M3内核具有强大的异常响应系统,它把能够打断当前代码执行流程的事件分为异常(exception)和中断(interrupt),并把它们用一个表管理起来,编号为0~15的称为内核异常,而1
阅读全文
摘要:频率采样方法通常采样定时器的计数方法,在stm32中,输入捕捉模式,PWM输入模式,都是可以测试外部信号频率采样的。1、输入捕捉模式需要频繁的进中断,这个方式不太好的。如果一定要用,那么就软件上处理一下,定期采集,而不是一直采集2、另一种是使用dma的方式。这个可以100ms打开一次dma,读取一次
阅读全文
摘要:从STM32编程手册中,可以知道:在进行写或擦除操作时,不能进行代码或数据的读取操作。 比如:你在写Flash期间有接收串口数据,很有可能会丢串口数据。 因为比较耗时,所以,在写数据时,CPU不会执行其他操作。 简单说:在写Flash时,CPU 不能取指令,导致中断得不到及时响应,从而发生接收到的数
阅读全文
摘要:本文说的__VA_ARGS__,就是一个可变参数宏,与printf中可变参数的宏定义一个道理,是新C99规范中增加的。 __VA_ARGS__详情内容 1.关于__VA_ARGS__ __VA_ARGS__它是一个可变参数的宏,就是将左边宏中“...” 的内容原样抄写在右边 __VA_ARGS__
阅读全文
摘要:1、w5500有两种方式可以运行的,server端一般用中断的方式,效率比较高,client使用查询的模式,本身自带2k的发送缓存和2k的接收缓存。2、查询模式:有数据的时候,查询模式可以每隔一段时间去查询,有数据是读出,没有数据的继续查询,挺方便的。这个代码我参考的野火的驱动。3、中断模式:当服务
阅读全文
摘要:今天在安富莱的论坛上ac6的使用方法,所以,就小试牛刀玩了玩,终于ok了。使用keil5.25+stm32+hal库,5.23开始才支持ac6,因此keil版本不能太低。 可以参考:https://blog.csdn.net/ybhuangfugui/article/details/99826708
阅读全文
摘要:今天网上看到keil中如果快速定位hardfault的方法 http://www.armbbs.cn/forum.php?mod=viewthread&tid=91746&fromuid=58 http://www.armbbs.cn/forum.php?mod=viewthread&tid=863
阅读全文
摘要:在硬汉平台看到一个比较好的帖子,关于如何定位HardFault_Handler,这里要记录下网址。 http://www.armbbs.cn/forum.php?mod=viewthread&tid=21940(KEIL和SEGGER都升级了Cortex-M系列内核出现硬件异常时原因分析笔记,支持G
阅读全文
摘要:公众号上看到一个比较好的一个github项目:https://github.com/0x1abin/MultiTimer 今天看了看,简单的,就移植了~ 且看文档的说明, 分享一个简单易用的软件定时器模块——MultiTimer。源码地址: 简介 MultiTimer 是一个软件定时器扩展模块,可无
阅读全文
摘要:网上看到了j-scope的用法,可以把单片机的数据显示成波形,这个和我使用的STMStudio有点类似,但是有区别: 1、STMStudio这个需要stlink结合swo的输出口,j-scope不需要swo口,当然,也只能是jlink才能用。 2、jlink有hss模式,rtt模式,前者不需要任何i
阅读全文
摘要:转载自:https://blog.csdn.net/u011976086/article/details/54342447#commentBox 之前使用过ucos,freertos,但是这个keil自带的RTX倒是没有在项目中使用过,只有在安福莱的论坛中,头比较丰富的教程,网上正好看到了这篇文章,
阅读全文