03 2020 档案
摘要:想使用野火或者安福来的代码模板来学习这个stm32,毕竟他买使用量挺多的,代码风格尤其是安福来比较好,因此想试试他们的工程,但是弄了好长一段时间,单片机就是不能运行,进入debug,就死机,停在硬件错误或其他地方。 后来想想,真是低级错误导致的,因此整理一下。 今后遇到不能正常运行的情况下,先冷静下
阅读全文
摘要:1、42header、koroFileHeader、psioniq File Header这三个是由于插入文件说明,函数说明的。我在编写c语言的时候经常用到的。记得要修改快捷方式。2、C/C++、C/C++Snippets,这两个是用于语法高亮,代码模板3、C/C++ Compile Run这个可以
阅读全文
摘要:0、sudo apt-get install texinfo否则会提示makeinfo:not fonud1、./configure2、make3、make test4、sudo make install https://askubuntu.com/questions/161677/makeinfo
阅读全文
摘要:参考:https://blog.csdn.net/think_nothing/article/details/53788524 1、虚拟机扩容 D:\VirtualBox VMs>VBoxManage list hddsUUID: f69aee89-bdb3-4337-9ec3-6231b97e98
阅读全文
摘要:开发工具直接使用官网提供的,自己折腾了新的开发环境,好像始终不行。不行就使用Windows的编译环境,这里就使用老的nonos-sdk的版本。仅仅当做入门,乐鑫已经不做更新了,把主力集中在了RTOSD版本了。看来以后的rtos都是主流啊。 参考文档:https://docs.ai-thinker.c
阅读全文
摘要:以下分析某些危险的库函数1、不用gets函数,用fgets代替2、使用memcpy、strncpy 替代strcpy,记得手动添加结束符'\0'3、使用strncat来替代strcat,记得手动添加结束符'\0',记得计算dsrt数组中的剩余空间。该函数无法告知缓冲区溢出,只返回字符串的起始地址(而
阅读全文
摘要:十进制数 符号位+ 二进制绝对值 的表示方式 ones' complement two's complement +7 0111 表示方式不变 表示方式不变 +6 0110 表示方式不变 表示方式不变 +5 0101 表示方式不变 表示方式不变 +4 0100 表示方式不变 表示
阅读全文
摘要:https://www.omega.com/en-us/resources/rs422-rs485-rs232
阅读全文
摘要:https://blog.csdn.net/mylibs/article/details/27913281展开在编译参数中增加以下两条指令: -fexec-charset=gbk -finput-charset=gbk 原因简单分析:Windows(中文)默认的字符集是Windows-936(GBK
阅读全文
摘要:在单片机裸机的编程方法中,状态机的方法是比较好的,经典的比如按键的检测判断等。 其实有很多地方可以使用这种思想。比如传感器的数据采集,因为单片机不可能一直等待着运行,那样的效率是很低的,通常都是结合fsm + timer的方式来提高CPU的使用率 一、传感器中使用fsm的方法。 大家都知道,ds18
阅读全文
摘要:之前是乐鑫自己的开发环境,但是有点老了,是14.04的版本,我想使用最新的lubuntu18.04,非LTS不用,因此,特意下载安装,体验。 1、镜像下载,可以前往中科大或清华镜像,比如https://mirrors.tuna.tsinghua.edu.cn/ubuntu-cdimage/,或者ht
阅读全文
摘要:1、在很多场合,w5500和适合小型的单片机进行控制,这些单片机一般不移植lwip协议栈,为了节省内存,通常使用像w5500这种全硬件TCPIP协议栈的芯片,给开发带来方便,中文网站https://www.w5500.com/和http://www.w5500.cn/和野火等都有移植好的代码,基本上
阅读全文
摘要:1、先安装virtualbox的增强工具,菜单点击后,打开终端,执行如下命令即可,记得重启系统,实践测试了最好是关机后再开机。 注意,新安装的系统,需要安装gcc make perl三个依赖。 软件源更新到中国镜像,我是选择中科大镜像。 2、关机后,设置里面添加共享文件夹 3、挂载参考如下博客 进入
阅读全文
摘要:Releases https://wiki.ubuntu.com/Releases List of releases Ubuntu Website release cycle page Current Version Code name Docs Release End of Standard Su
阅读全文
摘要:去年下载了这个虚拟机的镜像,表示,不是LTS的版本真是不要安装,过不了1年,国内的镜像就没了,而且官网即便有,哪速度是1kb以内的,超级慢,因此,学习开发,就是要LTS版本的,但是折腾期间多少了解了linux系统的特性,很多都是命令行来操作,而且对使用者的linux系统又有比较熟悉的了解,不想Win
阅读全文
摘要:stm32F103et6平台,cubemx生成的两个IDE工程 1、均无开启任务优化 iar8.32如下: keil5.29 ac5编译器 : keil5.29 ac6编译器 : 同样的代码,不开优化的情况下,ac6反而代码空间比较大 2、开启最高优化: iar:high(size) keil5.2
阅读全文
摘要:IAR嵌入式工作台IDE用于编程基于MAXQ核的微控制器。IAR™ C编译器(用于MAXQ微控制器)提供用于定义闪存或SRAM位置中数据对象或变量的选项。编译器具有特殊关键词pragma location和pragma required;通过使用关键词,可将存储器分配给绝对地址的数据对象或变量。必须
阅读全文
摘要:IAR写代码是,定义了函数/变量没调用会出现Pe177和Pe150警告。当很多时就比较烦人,都看不到其他原因的警告了,所以想屏蔽它。 1、百度结果如下: 加语句: #pragma diag_suppress=Pe177 // never referenced function#pragma diag
阅读全文
摘要:有时候我们需要在MDK中忽略掉某一个具体的warnning,怎么做呢?只需在Misc Control中添加 “--diag_suppress=<num>” 就可以了, num就是Keil中的警告代码,,比如在工程中需要忽略..\..\..\..\src\drivers\gpio\gpio.h(169
阅读全文
摘要:1. CCM需要打开总线时钟 2. CCM可以作为堆和栈使用 使用分散加载文件直接操作即可 1 RW_CCMRAM1 0x10000000 { 2 .ANY (HEAP) 3 .ANY (STACK) 4 } 3. CCM无法作为中断向量映射区 为进一步提高对数据的处理性能,在STM32F4 中设有
阅读全文
摘要:1.首先看一下接口 Standard SPI: CLK, /CS, DI, DO, /WP, /Hold Dual SPI: CLK, /CS, IO0, IO1, /WP, /Hold Quad SPI: CLK, /CS, IO0, IO1, IO2, IO3 2.接口说明 2.1 标准的SPI
阅读全文
摘要:通常我们都在flash中调试代码,以及运行代码的。其实,也是可以把代码放到sram中调试和运行的,具体我这里没有尝试过,因为没有硬件。野火书中说F1系列不能像正常的修改sct文件那样进行运行,只能在仿真调试的时候,修改ini文件来指定sp指针和pc指针的值来进行sram中代码的运行和调试。
阅读全文
摘要:野火的F1的教材上,用一章是讲低功耗的,那么stm32F1也是有低功耗的运行模式的,有睡眠模式 停止模式、待机模式。低功耗的模式,是逐级递增的,待机模式的低功耗最低,一次类推,而且唤醒模式有两种,一种是wfi,一种是wfe,这种量指令都是cm3内核代码中把汇编封装了一个函数使用的。 以前知道msp4
阅读全文