如果遇到这个问题一般可能有四个原因(以STM32F103C8T6为例) 1.芯片型号没有选对 2.startup文件可能没有选对,startup文件常用的分为3种,startup_stm32f10x_ld.s,startup_stm32f10x_md.s,startup_stm32f10x_hd.s,对应的容量分为别: ld:低密度产品,FLASH小于64K md:中等密度产品,FLASH=64 or 128 hd:高密度产品,FLASH大于128 3.可能是图中画圈的地方没有选对,我使用的是6…
Discuz!图片查看插件(支持鼠标缩放.实际大小.旋转.下载) 图片查看是网站中的常用功能,用于展示详细的图片.在discuz图片插件的基础上进行了改造,因此这篇文章主要从以下几个方面来讨论图片查看插件.希望可以帮助到大家,有不对的地方也欢迎大家给以正确的指导. (1)discuz的实现过程及效果 (2)discuz的局限性 (3)discuz的改进步骤 (4)兼容性及最后效果 (5)总结(常见问题) demo示例:http://zyk3.ataw.cn/discuz/index.html 一…
目的 不管是Keil还是IAR对代码补全,高亮等编辑功能支持的不是很好,虽然现在的Keil 5.25对界面的支持好了很多,但是很多人还是青睐于第三方的编辑器,命令行的编译方式可以让我们在使用第三方编辑器编辑的时候进行代码编译和下载,通常我们比较喜欢的编辑器有下面一些,不是很全. _____________________________________ 常用的第三方编辑器介绍 Visual Studio 2010 - 2017 Windows 下面的VS工具配上番茄助手写代码爽的不得了,并且现在…
Program Size: Code=86496 RO-data=9064 RW-data=1452 ZI-data=16116 Code是代码占用的空间,RO-data是 Read Only 只读常量的大小,如const型,RW-data是(Read Write) 初始化了的可读写变量的大小,ZI-data是(Zero Initialize) 没有初始化的可读写变量的大小.ZI-data不会被算做代码里因为不会被初始化. 简单的说就是在烧写的时候是FLASH中的被占用的空间为:Code+RO …
点击 Edit / Configuration 出现弹窗,选择Colors & Fonts 底下可以选择要改哪个部分,例如普通代码.数字.关键字.注释...等等,当然也可以改变背景颜色的,英文是Backguound 图片是改注释的颜色…
(1)初始值不是0的全局变量 在程序调到main()函数执行前,除了要进行内存清零.初始化堆栈外,还需要将全局变量的初始值加载到RAM的指定区域(编译过程中为全局变量分配的空间). (2)未初始化的局部变量 实际的编译后的反汇编程序也看不到这些局部变量的初始化.这些局部变量占据哪些还未被使用的内存或者其他函数中局部变量释放的空间.倘若是后者,其他函数局部变量释放的空间并没有清零,所以使用这些释放空间的局部变量就一开始被赋值了,这是需要程序员小心的. void function() { unsig…
一.用户修改手机字体设置大小,影响App里打开的web页面. 手机字体设置大小,影响App的页面.Android的可以通过webview配置webview.getSettings().setTextZoom(100)就可以禁止缩放,按照百分百显示. 二.用户调整浏览器字体大小,影响的是从浏览器打开的web页 浏览器设置字体大小,影响浏览器打开的页面.通过js可控制用户修改字体大小,使页面不受影响. (function(doc, win) { // 用原生方法获取用户设置的浏览器的字体大小(兼容i…
编译llvm的时候:collect2:ld terminated with signal 9(或11) 1 Creating a file for 1024 MB size you want: We will create a /mnt/1024MB.swap swap file and set the permissions so that users cannot read it directly. [root@localhost mnt]# count= /mnt/1024MB.swap…
一直以来从事的开发工作,涉及的范围很杂,乱七八糟的都有,其中有一项占据了比较长的时间,那就是固件程序的开发,不涉及操作系统,也就是一般意义上大家所说的裸跑程序.​用过的芯片杂七杂八,比较主要的有Ateml的arm7,和stm32,开发软件用IAR.​当然也有大部分兄弟用的是keil-这个我没用过.​ 不管IAR还是Keil,我基本上都是用来编译和下载调试,除了写一些很少的代码,我一般不用来编写代码,用过的人都知道,这两个软件的编辑功能相对于其他的IDE来说,实在是just so so.(据说新版…
1 改变容器的大小 我们可以使用resize来增加或缩小容器,与往常一样,array不支持resize.如果当前大小大于所要求的大小,容器后面的元素会被删除:如果当前大小小于新大小,会将新元素添加到容器后部: list<int> ilist(10,42);   //10个int:每个的值都是42 ilist.resize(15);   //将5个值为0的元素添加到ilist的末尾 ilist.resize(25,-1);  //将10个值为-1的元素添加到ilist的末尾 ilist.resi…
接上一篇,debug出现问题 1.手动安装STM32 芯片包   Keil.STM32F1xx_DFP.2.2.0.pack; https://www.keil.com/dd2/Pack/ 百度网盘 https://pan.baidu.com/s/1nD-jm2Z81eRlJUpExQB1sQ?errno=0&errmsg=Auth%20Login%20Sucess&&bduss=&ssnerror=0&traceid= 将下载的pack包放在   Keil11\A…
在使用Redis过程中,我们发现了不少Redis不同于Memcached,也不同于MySQL的特征. (本文主要讨论Redis未启用VM支持情况) 1. Schema MySQL: 需事先设计Memcached: 无需设计Redis: 小型系统可以不用,但是如果要合理的规划及使用Redis,需要事先进行类似如下一些规划 数据项: value保存的内容是什么,如用户资料 Redis数据类型: 如String, List 数据大小: 如100字节 记录数: 如100万条(决定是否需要拆分) ⋯⋯ 上…
1. Little-Endian(小端存储),即将低字节的数据存储于低地址中,Big-Endian(大端存储)反之. 2. 小端存储称为Intel模式,大端存储称为Motorola模式. 3. C51中LCALL指令将下一指令的执行地址压入堆栈中(堆栈地址由低向高增长),先存入低字节地址,再存入高字节地址,亦即使用“小端模式(Intel模式)”:除此之外,C51中的其它指令和数据,均使用“大端模式(Motorola模式)”. The -bit machine and has no instruc…
1.MDK中的char类型的取值范围是? 在MDK中,默认情况下,char 类型的数据项是无符号的,所以它的取值范围是0-255.它们可以显式地声明为signed char 或 unsigned.因此,定义有符号char类型变量,必须用signed显式声明.我曾读过一本书,其中有一句话:“signed关键字也是很宽宏大量,你也可以完全当它不存在,在缺省状态下,编译器默认数据位signed类型”,这句话便是有异议的,我们应该对自己所用的CPU构架以及编译器熟练掌握. 2.赋初值的全局变量和静态变量…
源:有趣的keil MDK细节 1.MDK中的char类型的取值范围是? 在MDK中,默认情况下,char 类型的数据项是无符号的,所以它的取值范围是0-255.它们可以显式地声明为signed char 或 unsigned.因此,定义有符号char类型变量,必须用signed显式声明.我曾读过一本书,其中有一句话:“signed关键字也是很宽宏大量,你也可以完全当它不存在,在缺省状态下,编译器默认数据位signed类型”,这句话便是有异议的,我们应该对自己所用的CPU构架以及编译器熟练掌握.…
1.MDK中的char类型的取值范围是? 在MDK中,默认情况下,char 类型的数据项是无符号的,所以它的取值范围是0-255.它们可以显式地声明为signed char 或 unsigned.因此,定义有符号char类型变量,必须用signed显式声明.我曾读过一本书,其中有一句话:“signed关键字也是很宽宏大量,你也可以完全当它不存在,在缺省状态下,编译器默认数据位signed类型”,这句话便是有异议的,我们应该对自己所用的CPU构架以及编译器熟练掌握. 关于keil MDK工程项目设…
public long getSDTotalSize() { /*获取存储卡路径*/ File sdcardDir= Environment.getExternalStorageDirectory(); /*StatFs 看文件系统空间使用情况*/ StatFs statFs=new StatFs(sdcardDir.getPath()); long blockSize= statFs.getBlockSizeLong(); long totalSize=statFs.getBlockCount…
阅读了<单片机与嵌入式系统应用>2005年第10期杂志<经验交流>栏目的一篇文章<Keil C51对同一端口的连续读取方法>(原文)后,笔者认为该文并未就此问题进行深入准确的分析 文章中提到的两种解决方法并不直接和简单.笔者认为这并非是Keil C51中不能处理对一个端口进行连续读写的问题,而是对Kei1 C51的使用不够熟悉和设计不够细致的问题,因此特撰写本文. 本文中对原文提到的问题,提出了三种不同于原文的解决方法.每种方法都比原文中提到的方法更直接和简单,设计也更…
在利用Redis过程当中,咱们发明了很多Redis分歧于Memcached,也差别于MySQL的特点.(本文首要会商Redis未启用VM撑持环境) 1. Schema MySQL: 需事先设计Memcached: 无需设计Redis: 小型体系能够不消,可是若是要公道的计划及利用Redis,必要事前停止近似以下一些计划 数据项: value保留的内容是什么,如用户材料 Redis数据范例: 如String, List 数据大小: 如100字节 记实数: 如100万条(决议是不是需求拆分) 商场…
硬盘容量修改为15*1024MB. VBoxManage.exe modifyhd "F:\VirtualBox\magiclinux.vdi"   --resize 15360 当你创建一个VirtualBox虚拟机磁盘时,需要具体指定一个最大值.但是如果以后想再扩大这个磁盘的容量就不是那么的容易了(不是增加一个磁盘,那样只在设置选项里增加就OK,不需要这么麻烦). 在以下操作之前请先备份你的VirtualBox虚拟机中的数据. 在VitrualBox中扩大虚拟磁盘 要增加Virtu…
在当我们对HashMap初始化时没有设置初始化容量,系统会默认创建一个容量为16的大小的集合.当HashMap的容量值超过了临界值(默认16*0.75=12)时,HashMap将会重新扩容到下一个2的指数幂(16->32).HashMap扩容将要进行resize的操作,频繁resize,会导致降低性能. 扩容是一个特别耗性能的操作,所以当程序员在使用 HashMap,正确估算 map 的大小,初始化的时候给一个大致的数值,避免 map 进行频繁的扩容.…
众所周知HashMap是工作和面试中最常遇到的数据类型,但很多人对HashMap的知识止步于会用的程度,对它的底层实现原理一知半解,了解过很多HashMap的知识点,却都是散乱不成体系,今天一灯带你一块深入浅出的剖析HashMap底层实现原理. 看下面这些面试题,你能完整的答对几道? 1. HashMap底层数据结构? JDK1.7采用的是数组+链表,数组可以通过下标访问,实现快速查询,链表用来解决哈希冲突. 链表的查询时间复杂度是O(n),性能较差,所以JDK1.8做了优化,引入了红黑树,查询…
Keil uVision4 安装没什么特别的,跟一般Windows软件安装方法相同,这里不再赘述. 安装完成界面如下图,未破解之前,点击编译,下载等选项都会出现未响应提示,软件会卡死.下面进行软件破解操作. 第一,软件破解,首先打开下载到的注册机软件,解压以管理员身份运行,出现如下界面: 第二,打开Keil软件,点击File---License Management选项,如下图. 第三,在弹出的对话框中选择确定进行下一步. 第三,复制右上角 CID 项目,填入破解软件,点击生成注册码. 第四,填…
之前用 Sublime Text(以下简称 ST )配置了 C/C++ 开发环境,感觉相当不错,作为编辑器的 ST,编辑代码的功能当然是相当棒的,美中不足的是目前只能编译单个文件,但是用来做些小练习也是极好的!希望后期能解决这个问题吧.在此基础上,昨天突然想到配置 C51 开发环境,但是现在网上似乎没有相关的现成教程,所以就开始借鉴一些其它类似配置的教程开始自己摸索,经过偶的不懈奋斗,最终终于成事儿啦!偶此刻的内心是激动的~!那么,现在让我给大家分享分享吧! 截图镇楼: 工具材料及下载: 1)S…
Ⅰ.概述 学习一门软件的开发,开发工具的掌握可以说尤为重要.由于Keil集成开发工具支持多种MCU平台的开发,是市面上比较常见的,也是功能比较强大一款IDE.所以,对于大多数人说,选择Keil几乎是单片机或者嵌入式开发人员的不二选择. 从今天开始的接下来一些时间总结关于Keil的使用方法.计划前一阶段总结常见功能,后面综合性的总结Keil的功能. 关注我的朋友应该知道,我前面已经总结过Keil下载与安装 和 Keil新建软件工程这两篇文章,今天接着上面的文章来总结Keil使用方法之常用功能. 使…
KEIL uVision,KEIL MDK,KEIL For ARM,RealView MDK,KEIL C51,KEIL C166,KEIL C251 从接触MCS-51单片机开始,我们就知道有一个叫KEIL的软件.在开发单片机时,使用的是C语言或者汇编语言,我们知道,这两种语言都不能直接灌到单片机里面,执不执行暂且不说,光是代码的体积,就足以撑破整个单片机.所以,我们需要一个软件,把C语言或者汇编语言编译生成单片机可执行的二进制代码,而且它的体积也非常的小,足够存放在单片机的存储器里面. K…
直接上代码了 头文件 // 图片处理 0 半灰色  1 灰度   2 深棕色    3 反色 +(UIImage*)imageWithImage:(UIImage*)image grayLevelType:(UIImageGrayLevelType)type; //色值 变暗多少 0.0 - 1.0 +(UIImage*)imageWithImage:(UIImage*)image darkValue:(float)darkValue; /** 获取网络图片的Size, 先通过文件头来获取图片大…
php中使用基于libcurl的curl函数,可以对目标url发起http请求并获取返回的响应内容.通常的请求方式类似如下的代码: public function callFunction($url, $postData, $method, header='') { $maxRetryTimes = 3; $curl = curl_init(); /******初始化请求参数start******/ if(strtoupper($method) !== 'GET' && $postData…
概述 进行C/C++开发的时候我们都会需要打印调试信息,打印调试信息时我们习惯使用printf函数,但是在Keil C51环境下,由于我们的程序是下载到单片机里,使用printf函数时不能直接打印到串口上,这个时候就需要我们对printf函数输出重定向. 重定向 重定向printf很简单,我们知道,printf函数是调用putchar实现字符数据传送的.我们只要重写putchar函数,就可以对printf进输出重定向. 代码清单 下面是自己在Keil 5环境下,使用单片机STC12测试print…
推荐 分享一个大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来! http://www.captainbed.net/strongerhuang 软件的开发工具在软件的开发过程中占很重要的地位,可以说是直接影响你软件开发的效率.比如:开发工具的常用功能.配置.以及优化等级. 对于STM32的开发工具有好几种(官方提供的实例代码工程可以看得出来),但是常用的,或者用的比较多的应该是Keil和IAR这两款集成开发工具(IDE),笔者也是常用这两款IDE进行…