自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (29)
  • 收藏
  • 关注

原创 VS Code常见问题

VScode 常用

2023-02-23 12:52:57 224

原创 KoroFileHeader 配置

KoroFileHeader插件简单上手

2022-12-06 16:31:50 2069

原创 使用void*强转函数指针(编辑中)

别把函数名当成函数,justa变量typedef void (*AirCb)(void); //空回调函数typedef int (*aimFunction)(int* para1, char* para2, int para3); //要传递的目标函数void businessRegister(uint8_t *pData, uint32_t dataLen, AirCb cb){ if(NULL != cb) { int *realPa...

2022-03-25 22:03:35 1832

原创 巧用snprintf动态打印任意长度的buf

一次调用printf即可输出连续的buf内容

2022-01-13 21:06:33 687

原创 VS Code中C/C++ 无法跳转到定义的解决办法

VS code的跳转功能一直很迷,时好时坏,有些新的工程环境干脆用不了。经过一遍遍的baidu加上自己的摸索,总结出一套经验,应该可以解决大部分的情况了。一、首先,当然是安装插件了C/C ++ 和 C++ intellisense 两个是必装的。安装之后记得重启编译器二、关闭编译器再重新打开已安装插件的情况下, 会遇到之前正常的的VS code突然无法跳转了,怎么按都没反应,这时候将编译器重启一下,会发现跳转功能又正常了,好吧,重启大法好。三、添加包含路径1、在VS code界面按 ctrl

2021-05-19 16:44:04 101830 32

原创 Git bash 在使用control+c、control+v之后,打字没有回显的问题

一次偶然,在Gitbash窗口中复制一些信息,切回来之后发现,居然无法打字了,而按回车却有反应。一番搜索之后,也算是找到了解决方案。输入reset然后回车摘录自网上的Rootcause:当运行shell或shell中的大多数程序时,您输入的任何内容都会通过内核的TTY子系统返回到用户的终端。对于擦除字符,Ctrl+R,Ctrl+Z等等,还有其他特殊的处理方式。某些程序,特别是从命令行运行的程序(特别是编辑器)不需要或不想这样做。出于这个原因,他们用IOCTL调用TY(终端)设备向内核发出...

2021-01-14 14:01:23 2457

原创 Const 关键字修饰指针

C语言中const修饰指针要特别注意,共有两种形式,一种是用来限定指向空间的值不能修改;另一种是限定指针不可更改。举例说明如下:int i = 9;int j = 99;int k = 999;const int * ptr1 = &i; //指针1int * const ptr2 =&j; //指针2上面定义了两个指针ptr1和ptr2。在定义1中const限定的是*ptr1,即其指向空间的值不可改变,若改变其指向空间的值如*ptr1=20,则程序会报错;但pt

2020-07-23 10:29:58 174

转载 结构体中动态内存的管理(malloc和free)

C语言中内存的管理主要是依据malloc和free实现的,其中malloc主要是实现内存的分配,而free则是实现内存的释放。虽然这是我们已经很熟悉的,但是还是存在一些问题。特别是当结构体中存在指针的情况下,各种问题也就会展现出来。其中最大的问题是:结构体中指针变量没有指向一块合法的内存空间,就对指针参数进行操作,这也是很多C语言程序员经常犯的错误。简单的实例如下:struct student { char*name; intscore; }s...

2020-07-13 10:40:19 723

原创 C语言 判断相等的条件语句,为什么把数字放在前面?

代码写久了,经常有这样一种疑惑,经常能在别人的代码,或者库中见到这样的写法,0 ==Tick或者1 ==Number ,为什么不写成Tick == 0或者Number == 1呢? 相信很多人都遇到过这样的BUG,程序逻辑与设想的不太一样,但是编译缺没有报错,仔细检查后发现,原来是把Tick == 0写成了Tick = 0,判断条件的语句成了赋值语句,编译器当然不会报错,但是程序已经不能按照预先的设想来跑了。 当判断语句把数字写在前面时,即使敲代码的...

2020-07-02 09:39:08 1806

原创 无线网络干货——信噪比、信号强度、路径损耗、多径干扰、符号间干扰、天线、放大器

不知不觉,已经进入全民物联网时代,随着物联网从业者的增多,越来越多人开始了解物联网,了解无线网络。这其中有许多生涩的概念,困扰着许多初学者(包括我)。刚好近期在阅读一本关于 “802.11 无线网络”的书籍,书中对这些概念解释的比较透彻,特摘录下来,供学习参考。一、信噪比二、信号强度三、路径损耗四、多径干扰五、符号间干扰...

2020-01-10 16:22:17 7538 1

原创 .s19 文件转换为 .hex 和 .bin文件的方法

使用STVD开发时,编译后产生的是 .s19 文件,与Keil 和 IAR常见的.hex .bin文件不同,那么如何将.s19文件转换为常见的文件格式呢? 一、获取工具 burner 下载链接:https://download.csdn.net/download/hb69222/11777942 二、进入burner.e...

2019-09-18 16:29:22 13205 11

原创 STVD环境下开发STM8,如何查看工程占用的Flash、EEPROM、RAM的情况

初次使用STVD + Comsic环境开发STM8时,经常遇到很多困难,毕竟不如Keil 和 IAR 两个环境熟悉,每解决一个问题最好记录下来,既加深印象,又能帮助其他人。废话不多说,见下文: STVD编译好工程后,不知道在哪里查固件占用的FLASH、EEPROM、RAM情况,很不方便,查阅了相关资料后,终于找到一个简单高效的方法,亲测可用!1、首先需要下载一个第三方工...

2019-09-17 19:45:17 1297

转载 【STM8】STM8在STVD平台生成HEX和S19文件的方法

STVD开发平台Debug运行时可以直接download程序到MUC里面。STVP好像只能Download [.s19]的目标文件。网上找来编译S19 和 hex如何切换的教程,记录如下1.工程设置中,Post-Build选项卡中,有如下设置chex -o $(OutputPath)$(TargetSName).s19 $(OutputPath)$(TargetSName).sm8这...

2019-07-29 20:28:59 3005 2

原创 基于SX1276芯片的 LORA 技术开发详解

一、简介LORA,是“Long Range”的简称。LORA 技术,源自于美国的升特公司(Semtech),是一种用于中、长距离传输的技术,相关信息主要从升特公司官网获取,多为英文版本。官网网址:https://www.semtech.com/开发者中心:https://lora-developers.semtech.com/二、资料下载在开发者中心的 Libary 板块...

2019-07-23 14:44:59 12395 14

原创 使用 IAR 开发 STM8 时,传入的参数被改变的原因

从Keil转到IAR,会遇到很多意想不到的怪事,因两种编译器风格不尽相同,故作记录,提醒自己。 将参数传入函数中,仿真时却看到传入的参数值被改变(多为被置零),总结原因如下: 一、 在包含此函数的.h文件中,函数参数的声明和函数定义时参数的声明不一致。 二、 使用该函数时,没有 #include 该 .h文件!!!...

2019-07-22 10:01:08 1096 1

原创 用 IAR 开发 STM8 时,简单软件延时不起作用的原因

近期有幸接手了前任工程师遗留的项目,MCU 选择的是 STM8L151XX,开发工具使用的是 IAR 。打开祖传代码后,通读了一遍,就用ST-Link烧录进去跑程序,结果发现和预想的效果不太一致,尤其是初始化LED闪烁的部分。 代码中LED闪烁原理比较简单,就是传统的更改GPIO电平,再软件延时几百毫秒,然后再改变GPIO电平的方法,这种传统的操作在学单片机第一课就已经开始使用了...

2019-07-19 09:38:06 1209

原创 安卓开发之——String、byte、16进制、10进制互转

近期工作中接触了一下IOT方面的Android应用程序开发,主要应用于BLE的开发,在数据处理的过程中,难免会遇到string、byte、16进制、10进制甚至2进制的数据,互相转换,时间长了脑子一片混乱。于是痛定思痛,花了一下午时间整理了一下各种数据类型的转换方式,则茅塞顿开。 转换成 byte 类型的方法: byte[ ] = String.getbytes( ); ...

2019-07-02 09:31:30 2104

转载 低功耗蓝牙之——BLE 广播数据解析

BLE 设备工作的第一步就是向外广播数据。广播数据中带有设备相关的信息。本文主要说一下 BLE 的广播中的数据的规范以及广播包的解析。广播模式BLE 中有两种角色Central和Peripheral,也就是中心设备和外围设备。中心设备可以主动连接外围设备,外围设备发送广播或者被中心设备连接。外围通过广播被中心设备发现,广播中带有外围设备自身的相关信息。广播包有两种...

2019-06-22 09:50:24 1577

转载 Hex、bin、axf、elf格式文件小结

一、HEXHex文件,一般是指Intel标准的十六进制文件。Intelhex 文件常用来保存单片机或其他处理器的目标程序代码。它保存物理程序存储区中的目标代码映象。一般编程器均支持生成此种格式文件。如,KEIL下可通过配置相关选项来生成HEX目标文件。HEX文件由记录(RECORD)组成。在HEX文件里面,每一行代表一个记录。形如:BBAAAATTHHHH...HHHHCC...

2019-04-27 09:33:57 614

转载 单片机中利用Union联合体打印输出浮点数(小数)

方法一:指针    UART串口有一个缺点,就是发送和接受是一个字节一个字节的接收,如果发送的浮点数那可怎么办啊?    有人会说,那就一个字节一个字节发送啊。那么,我先定义一个double data。32位机中,一个double类型占8个字节,也就是说data需要拆分8块通过UART发送。    现在只有一个变量,那么就声明一个指针指向这个变量吧    double *p; ...

2018-12-25 14:39:31 2365 1

原创 Keil新建Stm32标准工程中 Preprocessor Symbols的作用

(转自正点原子的回复)标准的工程新建办法,是要添加" USE_STDPERIPH_DRIVER,STM32F10X_HD的.USE_STDPERIPH_DRIVER,是告诉编译器,我们需要使用标准库了(实际上是.c/.h文件里面的一个宏,通过这个宏决定是不是要用某些资源,比如库函数的使用)STM32F10X_HD,则是表示我们使用的芯片是大容量的stm32,从而告诉那些.c/.h文件,使用...

2018-11-28 11:12:50 11162

原创 单片机函数传参被改变的原因之一

    原本U16的数据,传入函数之后变成U8了,高8位被置零了。后发现罪魁祸首,函数定义和函数声明时参数给定的长度不一,最后统一更改为U16之后,数据完美传输。切记,出现不可思议的问题时,很有可能是犯了低级错误!!!    今天发博,其实是为了1024勋章!!!    今天发博,其实是为了1024勋章!!!    今天发博,其实是为了1024勋章!!!  ...

2018-10-24 10:29:26 1316

原创 用Keil编译C51和ARM时,分别生成.Bin文件的方法

一、C51 1、使用srec_cat.exe a、Keil工程需生成.hex文件 b、将srec_cat.exe放在工程路径中任意文件夹下 c、新建一个文本文档,之后填写如下内容,保存后更名为 1.bat (后缀必须为.bat) CD obj ...

2018-08-28 12:21:50 9738 2

原创 STM32将IAP和APP一次性下载进MCU的方法

一、Keil编译生成bin文件  1.在Keil界面点击魔法棒按键(Options for traget)  2.点击User选项卡。  3.将After Build/Rebuild 下的 Run #1打钩,后面写入 fromelf.exe --bin -o "[email protected]" "#L"   4.重新编译工程,在输出的文件夹里将有一个和工程名字相同的.bin文件。二、合并.bin文件  1.将I...

2018-06-01 15:50:13 4178 2

转载 详解STM32 PMW计算中的“死区”

 pwm"死区"?听起来有点恐怖的样子?pwm"死区"是什么呢?可能很多人都注意过,今天来给大家科普一下pwm"死区"。  "死区"简单解释  通常,大功率电机、变频器等,末端都是由大功率管、IGBT等元件组成的H桥或3相桥。每个桥的上半桥和下半桥是是绝对不能同时导通的,但高速的PWM驱动信号在达到功率元件的控制极时,往往会由于各种各样的原因产生延迟的效果,造成某个半桥元件在应该关断时没有关断,造...

2018-05-31 11:25:45 6179

转载 入门级详细USB移植教程

同上一篇MPU6050一样,我还是写一篇关于USB的帖子,在圈圈等玩USB的大神面前,我掌握的USB知识实在是九牛一毛,所以这篇帖子加上了入门级的修饰语。写这篇帖子主要是为了那些想快速开发USB的人,至于想深入了解USB协议,可以先学完我这个再去看看别的高级教程可能会好点,虽然我强调自己掌握的USB知识不多,但是对于一般的应用已经足够,我这里主要是学会怎么去用USB做自己的东西,而且我觉得刚学完一...

2018-05-03 10:30:05 3337 2

转载 USB枚举过程

USB枚举详细过程剖析 1.主机集线器检测到新设备 主机集线器监视着每个端口的信号电压,当有新设备接入时便可觉察。(集线器端口的两根信号线的每一根都有15kΩ的下拉电阻,而每一个设备在D+都有一个1.5kΩ的上拉电阻。当用USB线将PC和设备接通后,设备的上拉电阻使信号线的电位升高,因此被主机集线器检测到。)  2.主机发送Get_Status请求 每个集线器用中断传输来报告在集线器上的事件。当主...

2018-04-16 08:47:36 130

原创 产品在线升级的功臣——IAP

        IAP是In Application Programming的首字母缩写,IAP是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级。 通常在用户需要实现IAP功能时,即用户程序运行中作自身的更新操作,需要在设计固件程序时编写两个项目代码,第一个项目程序不执行正常的功能操作,而只是通过某...

2018-04-04 09:07:20 262

转载 启动函数是main( ),还是?

2018-01-22 09:37:04 385

转载 STM32固件库详解

1.1 基于标准外设库的软件开发1.1.1 STM32标准外设库概述STM32标准外设库之前的版本也称固件函数库或简称固件库,是一个固件函数包,它由程序、数据结构和宏组成,包括了微控制器所有外设的性能特征。该函数库还包括每一个外设的驱动描述和应用实例,为开发者访问底层硬件提供了一个中间API,通过使用固件函数库,无需深入掌握底层硬件细节,开发者就可以轻松应用每一个外设。因此,使用固态函数库

2018-01-14 21:09:59 531

转载 STM32是否可以跑linux

操作系统有两种 用MMU的 和 不用MMU的用MMU的是Windows MacOS Linux Android不用MMU的是FreeRTOS VxWorks ucOS...CPU有两种 带MMU的 和 不带MMU的带MMU的有 Cortex-A系列 ARM9 ARM11系列不带MMU的有 Cortex-M系列...STM32是M系列...不可能运行Linux

2018-01-09 11:06:47 5949

转载 STM32和Linux

Linux和stm32一个是软件平台一个是硬件平台,完全不一样的(记住,是平台!)。这样说吧,既然你喜欢单片机,就先学stm32,把硬件基础打牢,尤其是各种总线(usb、iic、spi...)、各种外设模块(红外、温湿、mpu6050...),然后就把注意力集中到ucosii上,也就是说学会把你的任务放到操作系统这个架构里完成,而不是简单地写程序--对操作系统机制的掌握是你和周围的单片机同事拉...

2018-01-09 11:05:58 3472

转载 串口、COM口、TTL、RS232、RS485区别详解

一个嵌入式工程师,无论你做硬件还是软件都会接触到串口、COM口、TTL、RS232、RS485这些概念的。你是否也会一遇到这个概念就要百度一下,谷歌搜过呢?下面就为大家介绍它们之间恩怨情仇吧。1、串口、COM口是指的物理接口形式(硬件)。而TTL、RS-232、RS-485是指的电平标准(电信号)。2、接设备的时候,一般只接GND RX TX。不会接Vcc或者+3.3v的电源线,避

2017-12-14 10:49:14 5182 1

原创 C语言基础

1.ASCII码可分10进制、16进制,强制转换为char型可以显示为字符。

2017-12-13 17:14:15 122

原创 初出茅庐 之 学习笔记

2017 - 12 - 51.app.json 的Pages下面,各个Page页排在最前的为首页。2.在页面中设置几段文字,用View 可以自动换行,而用Text则会接上一条继续打印。

2017-12-05 22:26:46 224

FatFS API Demo.pdf

FatFS API Demo.pdf

2021-07-07

Fatfs使用方法和API详解.pdf

Fatfs使用方法和API详解.pdf

2021-07-07

emWin 移植指南,适用于FreeRTOS、Ucos、裸机等

适用于在embOS、UC/OSIII、MicriumOS内核、FreeRTOS,甚至裸机中移植emwin。 请参阅“SystemView用户手册”

2021-05-17

CmBacktrace.rar

一款针对 ARM Cortex-M 系列 MCU 的错误代码自动追踪、定位,错误原因自动分析的开源库,支持逻辑、FreeRTOS、Ucos。 自动诊断故障原因,并输出函数调用栈 断言(assert)、故障(Hard Fault, Memory Management Fault, Bus Fault, Usage Fault, Debug Fault) 适配 Cortex-M0/M3/M4/M7 MCU,支持 IAR、KEIL、GCC 编译器。

2021-05-11

cJSON 完整包.rar

Json轻量级解析工具cJSON的完整包。内涵移植所需文件、例程、测试接口、数据结构与接口说明、编译和链接所需文件

2020-07-24

Json解析工具——cJSON 移植文件

Json轻量级解析工具 Cjson。只需两个文件 cjson.c 和 cjson.h,方便移植。可用于web开发、linux、物联网行业。

2020-07-24

Cjson-UserManual.pdf

Cjson的用户使用手册,内含cjson所提供的所有接口,以及使用说明。令付example 帮助快速上手

2020-07-24

天线分类——频段和应用

本文列出物联网应用(WIFI、BLE、ZIGBEE、GPS、GSM、SUB-G、LORA、NFC)中包含的常见类型天线的分类和特点,近场天线、内置天线、贴片天线、同轴线天线、弹簧天线、顶馈天线、胶套天线、玻璃钢天线、平板天线、吸盘天线、外置天线。

2019-12-11

华为的编程规范和范例_unlock.pdf

华为工程师所参照的代码可读性、效率、质量、及维护指导手册。

2019-09-24

GPS模块数据分析、位置计算及编码规则.rar

GPS模块数据分析、卫星导航定位算法详解,均为中文版,适用于学生及GPS相关开发人员

2019-09-24

SD卡接口规范(中文)及设计指南.rar

SD卡接口规范,一份官方英文文档,另附一份翻译文档,均为PDF版,适用于学生及SD相关开发者

2019-09-24

IIC总线规范(中文).rar

I²C总线通信规范,中文PDF文档。适用于学生及嵌入式开发人员

2019-09-24

Socket编程规范(C、Java).rar

Socket通信介绍以及编程规范,分C语言版和Java版,供学生以及网络开发者使用

2019-09-24

USB图解+协议(中文版).rar

USB中文协议,包含术语简介、体系结构、数据流模式、电气特性、协议层、设备架构、主机硬软件、集线器规范等十一大类。并附有图解文档,适合学生及USB开发者

2019-09-24

S19、Hex、Bin转换工具.rar

使用Burner工具,对后缀为S19、Bin、Hex的文件进行相互转换,常见的使用方法 S19转Hex,S19转Bin。 使用方法详见博客:https://blog.csdn.net/hb69222/article/details/100985995

2019-09-18

STVD Size Tool.rar

STVD环境下开发STM8,如何查看工程占用的Flash、EEPROM、RAM的情况。使用方法详见博客 : https://blog.csdn.net/hb69222/article/details/100937108

2019-09-17

cxstm8_FSE_stm32_32K.exe

在STVD环境下编译C语言,必备工具。STM8无限制,STM32 32K以内工具。

2019-07-29

SX12xx 中文数据手册+驱动.rar

用于物联网开发的LORA相关工作者或学生,其中包含Semtech公司的SX12xx系列芯片中文数据手册+驱动,并有一篇博文专门讲解LORA技术的使用,地址如下:https://blog.csdn.net/hb69222/article/details/96994599

2019-07-23

ESP8266 AT指令中文指南,超详细,带全部书签!

ESP8266中文AT指令文档,带详细书签,涵盖每一章每一小节的分支,包括烧录、指令说明、基础指令、Wifi功能指令、TCP/IP指令等。带书签!带书签!带书签!

2019-07-02

Android开发详解.pdf

适用于Android 开发工作者或学生,开发工具使用Android Studio,内容新,自带书签与目录同样详细!

2019-06-22

Bluetooth Core Specification v5.1 Feature

Bluetooth官网开发文档,下载比较麻烦,需要企业认证,本着开源的原则与广大开发者分享。用于低功耗蓝牙的开发工作,安卓在上位机的开发工作,物联网、智能家居、智慧城市等。适用于RTL、ST、TI、Dialog等厂商的BLE模块。

2019-06-22

MVH300X系列温湿度传感器规格书

MVH300X 系列。温湿度传感器超清规格书,网上类似资源比较少。

2019-04-12

TDA8023中文参考手册

可用于智能卡行业,接触式IC卡开发使用,TDA8023中文参考手册

2018-12-05

STC15系列中文参考手册

STC15系列中文参考手册,STC15F61S2开发使用,内含例程。

2018-12-05

C8051F32X中文手册

C8051F32X系列中文参考手册,用于F320或F321芯片开发使用。

2018-12-05

SM2算法使用规范

国家密码局发布的SM2,算法使用规范,文件编号GM/T0009-2012,供智能卡行业,密码学,密码学爱好者使用。了解并掌握SM2算法的使用规范。

2018-09-26

srec_cat.exe

用Keil编译C51时,可使用此工具生成.bin文件,具体使用方法见原创博客 https://blog.csdn.net/hb69222/article/details/82144985

2018-08-28

USB命令、描述符代码大全

详细的USB通信命令代码,以及各种描述符代码,方便USB固件开发时查阅。

2018-06-12

二进制文件合并工具

支持将.bin文件合并,并可设置偏移地址。十分适合用于STM32 IAP程序和APP程序的合并,可进行一步下载。

2018-06-01

空空如也

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

TA关注的人

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