自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 资源 (7)
  • 收藏
  • 关注

原创 SEAndroid记录与总结

SEAndroid记录与总结,待完善。

2022-07-19 15:40:01 1291 1

原创 C语言##__VA_ARGS__的用法

在调试过程中,有时会用到自定义的打印,这是就会用到##__VA_ARGS__,接下来详细讲解。

2022-06-19 23:12:28 11671

原创 C语言“#”用法总结

C语言中“#”的多种用法:引用头文件、转换字符串、连接符等

2022-06-19 11:47:57 27289

原创 Android开机自动执行脚本

Android开机自动执行脚本0.前言1.需求描述2.需求分析3.操作步骤4.0.前言由于作者本人初次接触Android,所以本文所述内容只是操作方法,没有深究原理。各位可自行深入学习研究。1.需求描述需要在Android开机启动之后,自动执行一个脚本,假设这个脚本是 test.sh。2.需求分析根据需求描述,可以推导有两件事情要做:首先将 test.sh 脚本文件预置到Android中的某个路径下,假设放在system/app;编译后,下载到开发板,上电自动执行 test.sh 脚本。

2022-02-10 11:29:52 10602

原创 Android系统预置文件

Andriod系统预置文件1.问题描述2.解决办法1.问题描述在Andiord开发时,会遇到预置文件的问题,也就是在编译时,就将某个文件拷贝到固定的地址,编译完成后,烧写到目标板上后,在目标板上的Android中的某个路径下就有这个文件。比如,想要在目标板上电后,在 /data 路径下就存在 test.txt 文件,那么如何做呢?2.解决办法...

2022-01-21 19:46:42 3137

原创 单片机项目:音乐喷泉

单片机小项目:音乐喷泉1.项目需求2.开发环境3.整体设计4.实物图4.1 扩展板4.2 完整实物展示5.完整资料下载连接1.项目需求利用Arduino控制器,能利用蓝牙模块与手机设备进行通讯,接收手机端发送的指令;接收到手机发送的 播放、暂停、上一首、下一首 等指令后,能够控制音乐播放器做出相应的反应;声音传感器接收音乐播放器的音乐,根据音乐声调高低控制喷泉的阀门电机的转动,从而控制喷水量的大小,再结合声光效果(LED点阵),从而实现美丽的喷泉。喇叭音乐停止,喷泉、LED点阵都随之停止!2

2022-01-16 23:16:06 5397

原创 使用dd命令修改bin文件

使用dd命令修改bin文件1.使用环境2.指令详解3.举例验证4.参考文献1.使用环境Linux环境下,使用shell脚本,修改bin文件。比如要在image.bin镜像文件的0xF000地址处填充一段数据。2.指令详解dd if=输入文件 of=输出文件 3.举例验证4.参考文献菜鸟教程...

2022-01-12 21:00:18 5038

原创 PEmicro GDB Launch Failure : Could not bind socket.

问题:今天使用NXP的S32D编译工程后,使用PE工具下载时,报一下错误:PEmicro GDB Launch Failure : Could not bind socket. Address and port are already in use. Another GDB Server debug session may be using the same Server Port number. To run simultaneous debug sessions, please specify a u

2022-01-12 16:50:46 1952

原创 使用srec_cat将bin文件转换成srec文件

使用srec_cat将bin文件转换成srec文件1.使用环境2.指令格式3.举例验证4.参考文献1.使用环境在linux环境中,有时需要将bin文件转换成srec文件,那么可以在shell脚本中使用srec_cat指令实现。2.指令格式srec_cat [bin_file_name] -binary -offset [offset] -o [srec_file_name] -address-length=[address_len] -line-length=[line_len]每个参数解释如下

2022-01-11 12:07:28 4483 2

原创 VMware Workstation unrecoverable error: (vmui) Exception 0xc0000006 (disk error while paging)

@[TOC](VMware Workstation unrecoverable error: (vmui) Exception 0xc0000006)VMware虚拟机在强制关机或运行过程中断电,导致再次启动虚拟机时无法启动,提示如下错误信息:VMware Workstation unrecoverable error: (vmui),Exception 0xc0000006 (disk error while paging) has occurred网上提供的解决:第1种是:删除目录中后缀名

2021-05-28 08:56:39 2886 2

原创 openssl安装教程(windows7系统,超详细)

openssl安装教程1.安装包安装1.1所需资源链接1.2安装流程1.3测试是否安装成功1.4安装过程中的问题2.自己编译源码再安装1.安装包安装1.1所需资源链接openssl安装包下载地址:http://slproweb.com/products/Win32OpenSSL.html如果用谷歌浏览器打开的话,可以翻译成中文:对应英文如下:根据自己电脑的配置选择需要的版本,我这里选择的第1个Win64 OpenSSL v1.1.1i Light。1.2安装流程下载好之后,直接双击即

2021-01-26 14:36:44 5535

原创 C语言库函数:strcspn和strspn的区别

strcspn和strspn的区别1.函数原型2.函数功能3.strcspn和strspn的区别4.源码1.函数原型size_t strcspn(const char *str1, const char *str2);size_t strspn(const char *str1, const char *str2);2.函数功能strcspn: 检索字符串 str1 中第一个在字符串 str2 中出现的字符下标。返回 str1 中第一个在字符串 str2 中出现的字符的下标。strspn:

2021-01-23 18:02:13 3277 3

原创 C语言库函数:memchr/strchr/strrchr区别

memchr/strchr/strrchr区别1.函数原型2.函数功能3.memchr和strchr的区别4.strchr和strrchr的区别5.源码1.函数原型void *memchr(const void *str, int c, size_t n);char *strchr(const char *str, int c);char *strrchr(const char *str, int c);2.函数功能memchr: 在参数 str 所指向的存储空间的前 n 个字节中搜索第一次

2021-01-22 13:00:44 950

原创 C语言库函数:memcpy/memmove/strcpy/strncpy区别

@[TOP]memcpy/memmove/strcpy/strncpy区别memcpy和memmove区别memcpy和strcpy区别

2021-01-21 22:10:40 635 1

原创 Activeperl安装教程

下载地址首先在官网下载,下载地址:点击这里我安装的5.28版本。安装1.下载后双击即可安装,可能会弹出安装4.5以上版本.NET的对话框,按照对话框给出的网址下载安装即可。2.安装完成后,打开windows的CMD窗口(在“开始”中输入“cmd”,回车即可)。3.跳转到软件安装的路径下,我装在了D盘。输入perl -v,如果安装成功,则显示安装的版本。如下图所示。注意转换盘符时,如从C盘转到D盘,直接输入“d:”,回车即可。我这里显示版本为28,安装成功。安装成功后,“开始”菜单会显示图

2021-01-19 19:36:32 7425

原创 C语言库函数:memcmp/strcmp和strncmp的区别

memcmp/strcmp和strncmp的区别memcmp/strcmp和strncmp的区别举例说明附录:源码实现memcmp/strcmp和strncmp的区别在C语言的string.h库中,有这样3个相似的函数:memcmp,strcmp,strncmp。他们的原型分别如下:/************************************************************************ *功能:把存储区 str1 和存储区 str2 的前 n 个字节进行比较

2021-01-18 22:43:55 1078 1

转载 C语言关键字之enum

转载自:https://www.cnblogs.com/JCSU/articles/1299051.html本文对原文部分内容做补充。注:原文代码的执行环境为VC++ 6.0,本文用VS2010验证。在程序中,可能需要为某些整数定义一个别名,我们可以利用预处理指令#define来完成这项工作,您的代码可能是:#define MON 1#define TUE 2#def...

2020-11-27 17:19:46 531

原创 计算前导零C语言实现

记录计算前导零C语言实现方法。前导零:即一个16进制数从最高位开始数,直到遇到第一个1,前面几有个零。如0x00FFFFFF前导零为8;0xF0000000前导零为0;0x08010002前导零为4.计算前导零有些硬件可以用汇编指令支持,如STM32F4系列,可以用汇编指令快速得到前导零。现在用C语言采用查表方式实现,代码如下:摘自UCOSIII3.03版本cpu_core.cstatic const CPU_INT08U CPU_CntLeadZerosTbl[256] = {

2020-10-31 20:34:39 5591 7

转载 UCOS系统用printf打印浮点数据的问题

转载自:http://blog.chinaunix.net/uid-21977330-id-3209252.html1.问题描述:当使用uocs printf(),sprintf()打印浮点数问题会出问题,但是裸机不会出问题我现在使用STM32跑UCOS,在使用sprintf打印float类型时候,不管是何值最后都是0.0,但是类型是int,short类型时没有问题。网上查到是任务堆栈8字节对齐就可以了。当没有操作系统时,系统堆栈是8字节对齐的,但是当使用ucos时,用户任务不一定是8字节.

2020-06-04 08:42:25 1089

原创 Proteus仿真出现“internal exception:access violation in module 'SPICEINP.DLL'”错误

用8.1版本的Proteus加载了7.5Proteus的工程,结果出现“internal exception:access violation in module 'SPICEINP.DLL'”错误。解决办法:在8.1版本中新建工程,重新画,然后仿真就没问题了。注意:不要从原来的工程复制器件,否则还会出错!这是我的解决办法,大家有别的解决办法欢迎在评论区留言。...

2020-03-06 11:08:09 24374 10

转载 时间戳计算

转载自:https://blog.csdn.net/sinat_35170409/article/details/78881282Linux源码中的mktime算法解析 我们知道,从CMOS中读出来的系统时间并不是time_t类型,而是类似于struct tm那样,年月日时分秒是分开存储的。 那么,要把它转化为系统便于处理的time_t类型,就需要算法进行转换。 ...

2019-11-08 17:24:53 7942 2

原创 C语言结构体所占空间大小

C语言结构体大家都不陌生,本文讲解结构体在内存空间中的分配情况。直接上验证代码(VS2010):#include <stdio.h>typedef struct { char a; short b; int c;}test_t1;typedef struct { int a; short b; char c;}test_t2;typedef s...

2019-10-31 18:13:41 3890 2

原创 函数指针数组

上一篇文章讲解了函数指针和指针函数的区别。本文将讲解函数指针数组,并举例应用。一.函数指针首先回顾一下函数指针:函数指针是指向函数的指针主体是指针指向的是一个函数的地址(函数也是有地址的!)基本声明形式:返回数据类型 + (*函数名) + (变量类型1,…);注意 * 和函数名要用括号括起来,否则因为运算符的优先级原因就变成指针函数了e.g:int (*fun) (i...

2019-10-30 18:09:40 753

转载 C语言指针函数和函数指针区别

转载自:https://blog.csdn.net/qq_43710979/article/details/88030147C语言函数指针和指针函数的区别C和C++中经常会用到指针,和数据项一样,函数也是有地址的,函数的地址是存储其机器语言代码的内存的开始地址。指针函数和函数指针经常会混淆,一个是返回指针的函数,另一个是指向函数的指针,下面就分别解释指针函数和函数指针的区别。一、指...

2019-10-30 15:47:49 1530

原创 MySQL基础知识总结

目录1.启动MySQL服务2.关闭MySQL服务3.登录4.退出登录5.显示当前服务器版本6.显示当前日期时间7.显示当前用户8.创建数据库9.查看数据库编码方式10.修改数据库的编码方式11.查看当前数据库下数据表列表12.删除数据库13.查看警告14.数据类型15.打开数据库16.查看当前打开的数据库17.创建数据表18....

2019-08-16 00:10:33 214

转载 回车与换行的区别

转载自:https://www.cnblogs.com/clarkchen/archive/2011/06/02/2068609.html符号 ASCII码 意义\n 10 换行NL\r 13 回车CR回车 \r 本义是光标重新回到本行开头,r的英文return,控制字符可以写成CR,即Carriage Return...

2019-08-13 17:13:40 102

原创 “Image$$ER_ROM1$$Base”,$$表示的变量

在单片机开发过程中,有时会遇到类似上面的语句,之间用“$$”相连,其实这是单片机表示地址的一种形式。大家可以打开工程的map文件,在map文件中可以看到很多用这种形式表示的变量。下图是我随便找的工程的map文件。可以看到ARM.Collect$$libinit$$0000000C之类的是名字,它们有自己的基地址和大小。我遇到的是将它们作为地址使用。以Image$$ER_ROM1$$...

2019-08-09 16:16:09 3019

原创 C语言关键字之const

目录前言1.const功能2.const实例2.1 const修饰一个变量2.2 const修饰指针变量2.3 函数形参被const修饰前言初学C语言时,对于const关键字的理解仅仅停留在“不可改变”这一层意思上。本文总结一下const关键字在各种情况下的使用方法,及其功能。后续如果遇到新的使用情况会随时更新。1.const功能const修饰的变量,...

2019-06-13 17:10:09 176

原创 用51汇编完整写一个函数

目录1.汇编函数如何传入参数2.汇编函数如何返回结果3.汇编函数如何在C语言中被调用附录A:查表法crc校验C代码:附录B:查表法crc校验汇编代码:本文将以查表法CRC为例,完整介绍如何用汇编写一个函数,以及如何传入函数参数、获得返回值、被其他函数调用。最近用汇编写了一个查表法CRC16校验函数,其中遇到很多困难,走了很多弯路,特此记录,请大家共勉。请结合最后的附录代...

2019-05-16 19:43:19 3460

原创 MDK 的编译过程及文件类型全解

上一篇文章讲解了map文件(https://blog.csdn.net/u013073067),本篇文章讲解MDK 的编译过程及文件类型。map文件不过是MDK编译过程中众多文件中的一种。我参考的是《零死角玩转STM32-F103霸道》手册,由于手册中介绍的十分详细,读者请直接参考这篇手册的第46章 MDK 的编译过程及文件类型全解,讲解的非常好。可以直接从我的网盘下载文档。链接:http...

2019-05-06 09:57:58 348

转载 Keil _map文件全解析

转载自:https://blog.csdn.net/ybhuangfugui/article/details/75948282#rd修正部分错别字及排版。0、写在前面相信有较大项目开发经验的朋友都曾遇到内存溢出的问题,那么大家都是如何分析这类问题的呢?大家遇到HardFault_Handler 有对map分析过吗?首先讲述一下关于map在MDK-ARM中的配置。其实,在MDK...

2019-04-22 15:38:10 665

原创 RAM汇编指令DMB、DSB、ISB、SEV等

最近用keil调试STM32时,在代码中遇到了一些汇编指令,如DMB、DSB、ISB、SEV,现总结如下:DMB、DSB、ISB、SEV等指令都属于RAM汇编指令,在《ARM Cortex-M0权威指南》和《ARM Cortex-M3权威指南》中,都有这些指令。读者可以参考这两本书的附录部分。其他RAM系列的权威指南应该也有这些指令,我这里只有这两本权威指南,用到其他系列时,读者可自行查证。...

2019-04-15 10:17:54 10827

转载 解决 warning C4305:“初始化”:从“double”到“float”截断的问题

转自:https://blog.csdn.net/dingcx2013/article/details/46426551编译VS项目时出现警告:warning C4305:“初始化”:从“double”到“float”截断(warning C4305: 'initializing' : truncation from 'const double' to 'float')。原因:在 C 语...

2019-04-03 15:59:20 1586

转载 递归算法与非递归算法比较

转载自:https://blog.csdn.net/mhsszm/article/details/78445591非递归效率高;递归代码写出来思路清晰,可读性强。生成可执行文件大小应该和编译器有关吧。。。。递归的话函数调用是有开销的,而且递归的次数受堆栈大小的限制。以二叉树搜索为例:bool search(btree* p, int v){ if (null ...

2019-03-27 19:14:46 17087

转载 STM32之中断与事件

转载自:https://blog.csdn.net/flydream0/article/details/82084631.中断与事件框架这张图是一条外部中断线或外部事件线的示意图,图中信号线上划有一条斜线,旁边标志19字样的注释,表示这样的线路共有19套.图中的蓝色虚线箭头,标出了外部中断信号的传输路径1.1 中断路径中断总体流程首先外部信号从编号1的芯片管脚进入->经...

2019-03-26 15:52:24 884

转载 C语言运算符优先级(超详细)

C语言运算符优先级 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右 -- ...

2019-03-08 14:52:02 35071

原创 C语言关键字之extern

目录1.extern对变量的声明1.1在头文件中声明为全局变量1.2在main.c文件中调用变量a之前将a声明为全局变量1.3定义时直接声明为全局变量2.extern对函数的声明2.1在头文件中声明为全局函数2.2在.c文件中调用之前将函数声明为全局函数2.3定义时直接声明为全局变量总结:extern译为“外面的,外部的”,在C语言中用来声明一个变量为外部变...

2019-03-08 11:22:26 5793

转载 VS程序输出窗口显示运行结果不完整的解决办法

转自https://blog.csdn.net/qq_40078121/article/details/79908789在使用C++中的cout命令打印程序运行结果时有时会遇到结果显示不完整的情况,会发现一部分运行结果“丢失”,如图1所示,本来第一列数应该是从0开始的,结果是从651.325开始的,我一直怀疑是程序有错,可是仔细检查了好几遍后也没发现哪里有错,那为什么输出结果不对呢?搞得我都开...

2019-03-07 15:41:38 11084

原创 C语言结构体struct需要重复调用时使用方法

最近在学习链表时,遇到结构体重复调用的情况。链表首先声明一个节点结构体变量,如下:/*链表节点结构体*/typedef struct ListNode{ /*节点数据*/ int Element; /*节点指针,用来指向下一个节点*/ struct ListNode* next;//这里不能用LinkNode * next,会报错。必须用struct...

2019-03-01 11:29:00 2787

原创 FSMC-地址建立时间、地址保持时间、数据建立时间如何确定

我们知道FSMC包括同步和异步两种工作时序。对于异步突发访问方式, FSMC 主要设置 3 个时间参数:地址建立时间(ADDSET)、数据建立时间(DATAST)和地址保持时间(ADDHLD)。这三个参数是怎么来的呢?是因为SRAM/ ROM、 PSRAM 和 NOR Flash 产品的信号时序有这三个参数,FSMC 综合了 SRAM/ ROM、 PSRAM 和 NOR Flash 产品的信号特点...

2019-02-27 10:43:37 5603 1

Arduino音乐喷泉.rar

详细介绍参考文章:https://blog.csdn.net/u013073067/article/details/122516545

2022-01-16

常见排序算法-C语言

C语言实现常见排序算法。编译环境:VS2010。 包括: 冒泡排序 快速排序 直接插入排序 Shell排序 直接选择排序 堆排序 归并排序(递归和非递归两种) 桶式排序 基数排序:顺序和静态队列两种方法 索引排序(采用简单插入排序)

2021-01-10

SM4对称加密算法-C语言

C语言实现国密SM4对称加解密算法。编译环境:VS2010。请参考我的博客https://blog.csdn.net/u013073067/article/details/86578753 分析代码

2020-11-22

SHA-224/SHA-256/SHA-384/SHA-512摘要算法-C语言

C语言实现SHA-224/SHA-256/SHA-384/SHA-512摘要算法。编译环境:VS2010。请参考我的博客: SHA-224:https://blog.csdn.net/u013073067/article/details/86605223 SHA-256:https://blog.csdn.net/u013073067/article/details/86600777 SHA-384:https://blog.csdn.net/u013073067/article/details/86613045 SHA-512:https://blog.csdn.net/u013073067

2020-11-22

SHA1摘要算法-C语言

C语言实现SHA1摘要算法。编译环境:VS2010。请参考我的博客https://blog.csdn.net/u013073067/article/details/86597385 分析代码

2020-11-22

CRC校验算法-C语言

C语言实现各种CRC算法。编译环境:VS2010。请参考我的博客https://blog.csdn.net/u013073067/article/details/86621770 分析代码

2020-11-22

AES对称加密算法-C语言

C语言实现AES-128对称加解密算法。编译环境:VS2010。请参考我的博客https://blog.csdn.net/u013073067/article/details/86529111 分析代码

2020-11-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除