随笔分类 -  stm32

摘要:作为一个合格的C语言程序员,在编译代码的时候一定要加上-W和-Wall选项,要保证代码中没有任何的warning信息,提高代码的可靠性。-Wall选项意思是编译后显示所有警告,-W选项只显示编译器认为会出现错误的警告。 但是有些时候,有些功能模块尚待开发,有些函数也没有完成功能,虽然不影响程序的正常 阅读全文
posted @ 2020-04-22 11:34 wdliming 阅读(9253) 评论(0) 推荐(0) 编辑
摘要:https://blog.csdn.net/zoomdy/article/details/54728479 https://blog.csdn.net/u013209302/article/details/52735802 https://blog.csdn.net/congpo2125/artic 阅读全文
posted @ 2020-04-22 09:05 wdliming 阅读(2120) 评论(0) 推荐(0) 编辑
摘要:New Embitz 2.0 is coming soon, highlights: Hotplug menu, connect running target without stopping (and inspect with live variables and OS tools)New deb 阅读全文
posted @ 2020-04-19 19:15 wdliming 阅读(1705) 评论(0) 推荐(0) 编辑
摘要:平台:stm32,可以推广到其他32位单片机中开发软件:keil、IAR、SEGGER Embedded Studio for ARM调试仿真器:stlink、jlink 说明:1、串口打印,不推荐,需要占用串口外设不划算2、在线调试中的rtt打印方式,需要keil进入调试模式,再打开rtt-viw 阅读全文
posted @ 2020-04-07 13:49 wdliming 阅读(705) 评论(0) 推荐(0) 编辑
摘要:之前大致写过一篇状态机比较粗糙的博文,写了:状态机的方式比较适合裸机编程,但是不够深入,这里在深入一点,起因是美敦力medtronic公开了PB560呼吸机完整设计资料,里面用到了ST10F276的芯片,就是用的状态机的思想,所以状态机的思想肯定是比较好的,不然大公司不会使用这个框架来做呼吸机啊,这 阅读全文
posted @ 2020-04-06 13:27 wdliming 阅读(1686) 评论(1) 推荐(0) 编辑
摘要:keil视频: https://v.qq.com/x/page/k06901ngbnx.html 待整理 阅读全文
posted @ 2020-04-04 12:06 wdliming 阅读(605) 评论(0) 推荐(0) 编辑
摘要:想使用野火或者安福来的代码模板来学习这个stm32,毕竟他买使用量挺多的,代码风格尤其是安福来比较好,因此想试试他们的工程,但是弄了好长一段时间,单片机就是不能运行,进入debug,就死机,停在硬件错误或其他地方。 后来想想,真是低级错误导致的,因此整理一下。 今后遇到不能正常运行的情况下,先冷静下 阅读全文
posted @ 2020-03-31 10:26 wdliming 阅读(558) 评论(0) 推荐(0) 编辑
摘要:在单片机裸机的编程方法中,状态机的方法是比较好的,经典的比如按键的检测判断等。 其实有很多地方可以使用这种思想。比如传感器的数据采集,因为单片机不可能一直等待着运行,那样的效率是很低的,通常都是结合fsm + timer的方式来提高CPU的使用率 一、传感器中使用fsm的方法。 大家都知道,ds18 阅读全文
posted @ 2020-03-16 09:36 wdliming 阅读(2326) 评论(0) 推荐(1) 编辑
摘要:1、在很多场合,w5500和适合小型的单片机进行控制,这些单片机一般不移植lwip协议栈,为了节省内存,通常使用像w5500这种全硬件TCPIP协议栈的芯片,给开发带来方便,中文网站https://www.w5500.com/和http://www.w5500.cn/和野火等都有移植好的代码,基本上 阅读全文
posted @ 2020-03-15 10:25 wdliming 阅读(1732) 评论(0) 推荐(0) 编辑
摘要:stm32F103et6平台,cubemx生成的两个IDE工程 1、均无开启任务优化 iar8.32如下: keil5.29 ac5编译器 : keil5.29 ac6编译器 : 同样的代码,不开优化的情况下,ac6反而代码空间比较大 2、开启最高优化: iar:high(size) keil5.2 阅读全文
posted @ 2020-03-06 09:48 wdliming 阅读(734) 评论(0) 推荐(0) 编辑
摘要:有时候我们需要在MDK中忽略掉某一个具体的warnning,怎么做呢?只需在Misc Control中添加 “--diag_suppress=<num>” 就可以了, num就是Keil中的警告代码,,比如在工程中需要忽略..\..\..\..\src\drivers\gpio\gpio.h(169 阅读全文
posted @ 2020-03-02 14:32 wdliming 阅读(1363) 评论(0) 推荐(0) 编辑
摘要:1. CCM需要打开总线时钟 2. CCM可以作为堆和栈使用 使用分散加载文件直接操作即可 1 RW_CCMRAM1 0x10000000 { 2 .ANY (HEAP) 3 .ANY (STACK) 4 } 3. CCM无法作为中断向量映射区 为进一步提高对数据的处理性能,在STM32F4 中设有 阅读全文
posted @ 2020-03-01 17:49 wdliming 阅读(689) 评论(0) 推荐(0) 编辑
摘要:通常我们都在flash中调试代码,以及运行代码的。其实,也是可以把代码放到sram中调试和运行的,具体我这里没有尝试过,因为没有硬件。野火书中说F1系列不能像正常的修改sct文件那样进行运行,只能在仿真调试的时候,修改ini文件来指定sp指针和pc指针的值来进行sram中代码的运行和调试。 阅读全文
posted @ 2020-03-01 16:43 wdliming 阅读(461) 评论(0) 推荐(0) 编辑
摘要:野火的F1的教材上,用一章是讲低功耗的,那么stm32F1也是有低功耗的运行模式的,有睡眠模式 停止模式、待机模式。低功耗的模式,是逐级递增的,待机模式的低功耗最低,一次类推,而且唤醒模式有两种,一种是wfi,一种是wfe,这种量指令都是cm3内核代码中把汇编封装了一个函数使用的。 以前知道msp4 阅读全文
posted @ 2020-03-01 16:37 wdliming 阅读(814) 评论(0) 推荐(0) 编辑
摘要:参考:https://www.cnblogs.com/xyelectric/p/9046048.html C语言中的关键字__attribute__ ,直接用的是绝对定位,在开发中一般用的比较少,但是有的ccm rsm 或者外部sram的使用,就需要这个绝对地址,不然单片机会把变量默认分配到内部sr 阅读全文
posted @ 2020-02-29 14:04 wdliming 阅读(3188) 评论(0) 推荐(0) 编辑
摘要:startup_stm32h743xx.s中的Stack_Size EQU 0x00000400Heap_Size EQU 0x00000200即堆栈空间大小和FreeRTOSConfig.h中#define configMINIMAL_STACK_SIZE ( ( unsigned short ) 阅读全文
posted @ 2020-02-28 21:09 wdliming 阅读(965) 评论(0) 推荐(0) 编辑
摘要:前几天遇到了软件模拟spi的时候,读和写不一致的现象,后来仔细研究了一下,其实是时序性问题不对。 spi的有四种时序,硬件实现的时候,很简单,初始化后直接调用api即可。但是软件模拟就比较麻烦。 举例如下: 读时序如下: 写时序如下: 这两个结合起来就是下面四种spi模式的第四种 也就是模式2,如下 阅读全文
posted @ 2020-02-28 17:18 wdliming 阅读(2909) 评论(0) 推荐(0) 编辑
摘要:这个算是开发中的小技巧了,也不知道如何起标题。 通常为了节省单片机的引脚,我我们同城会使用比较多的数字电路来扩展,比如74hc574的D触发器,74ls138的38译码器,3态八路缓冲器/线路驱动器74hc541,还有就是串进并出的74hc595. 当然还有与非门、与门、或门等等最基本的数字逻辑电路 阅读全文
posted @ 2020-02-26 20:58 wdliming 阅读(649) 评论(0) 推荐(0) 编辑
摘要:近期项目中使用到了 IS64LV25616AL 的芯片,因此我要总结一下。IS64LV25616AL这个是256*16的的,数据格式是16位,所以一共有512KB的空间,比较大了,stm32F103zet6才64KB内部SRAM。可以使能byte enable,进行8位的访问,只要设置好了后,可以像 阅读全文
posted @ 2020-02-24 22:25 wdliming 阅读(1364) 评论(0) 推荐(0) 编辑
摘要:w25qxx的三字节地址模式和四字节地址模式 我们知道w25qxx支持3-Byte和4-Byte模式,其实就是地址空间不同,对应的空间大小不同,3-Byte空间最大只达到128Mb W25Q256FV提供了两种地址模式,可用于指定存储器阵列中的任何数据字节。 3字节地址模式向后兼容仅支持最大128M 阅读全文
posted @ 2020-02-23 13:05 wdliming 阅读(1316) 评论(0) 推荐(0) 编辑