- 博客(18)
- 资源 (3)
- 收藏
- 关注
转载 基于C语言sprintf函数的深入理解
printf 可能是许多程序员在开始学习C语言时接触到的 第二个函数(我猜第一个是main),说起来,自然是老朋友了,可是,你对这个老朋友了解多吗?你对它的那个孪生兄弟sprintf了解多吗?在将各种类 型的数据构造成字符串时,sprintf的强大功能很少会让你失望。由于sprintf跟printf在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致...
2018-08-01 10:08:38
5674
转载 C语言中将变量类型转化成字符串类型(sprintf)
sprintf函数的用法1、该函数包含在stdio.h的头文件中。2、sprintf和平时我们常用的printf函数的功能很相似。sprintf函数打印到字符串中,而printf函数打印输出到屏幕上。sprintf函数在我们完成其他数据类型转换成字符串类型的操作中应用广泛。3、sprintf函数的格式:int sprintf( char *buffer, const char *forma...
2018-08-01 10:07:51
14816
原创 W25Q64Flash芯片STM32操作
1、W25Q64Flash芯片介绍通讯方式:SPI通讯大小:8M(Byte) (128块(Block),每块64K字节,每块16个扇区(Sector),每个扇区4K字节,每个扇区16页,每页256个 字节)特点:Flash芯片内的数据只能由1变0,不能由0变1。引脚: CS:CS为片选管...
2018-07-31 16:25:27
88436
8
转载 C++中冒号的作用
转载于:http://fengqing888.blog.163.com/blog/static/3301141620100623933512/1.冒号(:)用法(1)表示机构内位域的定义(即该变量占几个bit空间)typedef struct _XXX{unsigned char a:4;unsigned char c;} ; XXX(2)构造函数后面的冒号起分割作用,是类给成员变...
2018-07-31 10:53:40
1915
转载 C语言变量声明加冒号的用法
有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几 个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。这样就可以把几个不同的对象用一个字节的二进制位域...
2018-07-31 10:50:52
717
转载 stm32驱动ili9486液晶显示屏
这是我接手的第一个小项目,也是第一次我写的代码真正排上用场,虽然不超过50行。但遇到的阻碍,我想确实硬件厂商善意的刁难。这个项目最大的收获是弄清楚我与软件工程师最大的不同吧!给我职业生涯上的第一个教训。下面言归正传(驱动见51hei论坛附件TFT资料)。 (一)ili9486显示屏简介 ili9486支持262144种色彩,有320RGB*480个像素点,内部GRAM...
2018-07-30 09:05:45
6198
转载 stm32驱动ili9486液晶显示屏
这是我接手的第一个小项目,也是第一次我写的代码真正排上用场,虽然不超过50行。但遇到的阻碍,我想确实硬件厂商善意的刁难。这个项目最大的收获是弄清楚我与软件工程师最大的不同吧!给我职业生涯上的第一个教训。下面言归正传(驱动见51hei论坛附件TFT资料)。 (一)ili9486显示屏简介 ili9486支持262144种色彩,有320RGB*480个像素点,内部GR...
2018-07-30 09:01:29
12096
1
原创 ESP8266 WIFI模块AT指令汇总
1、 AT+RST 功能:重启模块2、AT+CWMODE=<mode> 功能:mode=1 :Station模式(接收模式) mode=2:AP模式(发送模式) mode=3:AP+Station模式3、AT+ CWSAP= <ssid>,<pwd>...
2018-07-27 20:00:11
100769
12
原创 在STM32中使用printf发送字符串到串口
问题:在使用STM32调试时,经常使用串口发送信息,为了方便调试与串口发送信息,用printf()函数实现通过串口打印信息。方法一:1.添加包含printf()函数的头文件:#include “stdio.h” 2.重写 stdio.h 头文件中的 int fputc(int ch, FILE *f) 函数int fputc(int ch, FILE *f){ //等待先...
2018-07-27 15:57:19
11573
转载 STM32的断言机制——函数assert_param()
我们在学STM32的时候函数assert_param出现的几率非常大,上网搜索一下,网上一般解释断言机制,做为程序开发调试阶段时使用。下面我就谈一下我对这些应用的看法,学习东西抱着知其然也要知其所以然。我们在分析库函数的时候,几乎每一个函数的原型有这个函数assert_param();下面以assert_param(IS_GPIO_ALL_PERIPH(GPIOx));为例说一下我的理...
2018-07-27 10:57:53
1421
转载 EINT、DINT、ERTM、DRTM和EALLOW、EDIS、ESTOP0解析
#define EINT asm(" clrc INTM") //INTM置0,开中断 #define DINT asm(" setc INTM") //INTM置1,关中断 #define ERTM asm(" clrc DBGM") //使能调试事件 #define DRTM asm(" setc DBGM") //禁止调试事件TI的DSP为了提高安全性能,将很...
2018-07-10 23:41:44
8670
转载 asm(” RPT #7 || NOP”)那点事
其实这条语句在DSP等系统开发中经常要用到,比如更改某些配置后需要延时几个时钟周期才能够生效,这时asm(” RPT #7 || NOP”)便可以闪亮登场了。虽然这个功能我们都知道而且经常使用,但是具体的细节很多人却不知道,包括我。今天在一个交流群里有人突然问这条指令下去执行之后,会占用多少时钟周期呢?结果可想而知问蒙了。简单写段代码编译下载到片子里面(我是用的28335进行测试的!),观察CPU...
2018-07-10 23:11:58
1825
1
原创 CCS6.0程序调试
1、文件类型2、编译及CCS6.0特有功能3、Debug在进行Debug调试时,必须把仿真器与开发板连接起来,并给开发板供电。4、程序下载与调试5、观察变量6、观察寄存器值7、graph使用8、统计代码运行时间将一段代码运行前和运行后的时钟数相减,就得出代码运行的时钟周期数,双击时钟图标可清除计数...
2018-07-10 13:48:12
27695
5
原创 将CCS3.3工程导入CCS6.0
1将CCS3.3导入到CCS6.0的方法(1)导入已有的CCS3.3的工程(2)利用现有的文件在CCS6.0下从新创建工程2如何导入已有的CCS3.3工程
2018-07-10 10:29:04
6203
原创 2018最新优快云修改博客皮肤模板教程
新版博客不能设置皮肤(点击查看旧版皮肤下线公告),默认皮肤实在不习惯,自己研究了下,发现修改前端代码可以替换,现在分享给大家博客设置 f12打开调试器,用元素选择器选择皮肤,找到下面的代码我们发现我们选中的皮肤"input"后以"readonly"结尾,所以我们只需要把我们要修改的皮肤“input”以“readonly”结尾,把原来皮肤的“input”后面的“readonly”去除。然后点击保存。...
2018-07-09 23:02:17
321
原创 CCS6.0创建新工程
1、新建工程1.1、通过File新建工程1.2、通过project新建工程2、选择芯片型号和仿真器类型,对工程进行命名,选择工程模板,然后点击Finish3、创建后的窗口界面4、工程编译5、移除生成的cmd文件(不能满足需求)6 、向工程中添加文件7、头文件路径添加...
2018-07-09 18:26:20
2152
原创 CCS6.0安装教程
1、首先关闭电脑上的杀毒软件及3602、把CCS6安装文件移动到不含中文字符的目录下3,双击CCS6安装程序4、选择同意并点击NEXT5、设置安装路径然后点击NEXT6、选择芯片类型(可全选)然后点击NEXT7、选择仿真器驱动型号(可全选)然后点击NEXT8、点击Finish9、等待程序安装完成10、点击Finish11、桌面上生成CCS6软件图标,双击打开12、设置工作空间13、CCS6打开后页...
2018-07-09 16:28:13
28144
6
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人