自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 资源 (10)
  • 收藏
  • 关注

原创 正则表达式

%[^e] 意思是一直到e终止,并且这个e会被去掉:举例:sscanf("123456 abcdedf", "%[^e]", buf); 输出123456 abcd举例: sscanf("123456 abcdedf","123456 a%[^f]", buf); printf("%s\n", buf); 输出bcded...

2021-04-22 14:30:58 8

原创 ESP8266 RTOS 串口发送与接收

1.串口配置2.读取接收数据并发送出去#define BUF_SIZE (1024)static void echo_task(){ // Configure parameters of an UART driver, // communication pins and install the driver uart_config_t uart_config = { .baud_rate = 74880, .data_bits =...

2020-12-16 13:22:28 294 1

原创 ESP8266AT指令smartconfig

使用esp8266AT指令,打开smartconfig功能,自动连接网络。网络上很多介绍的8266smartconfig功能都是介绍的sdk级的,介绍AT控制的很少,而且不是很全面。下面我详细介绍下过程。硬件环境:esp8266模组,AT指令手机:IOS1.步骤(1)esp8266端,恢复出厂设置: AT+RESTORE\r\n (注:为了给大家演示从0到1,所以我恢复出厂设置。后期使用的话实际不需要)(2)esp8266端,设置成station模式:AT+CWMODE=1\r...

2020-11-12 09:29:45 268

原创 cJson内存泄漏 free不掉

1.问题描述:使用cJson,直接赋值粘贴官网的历程,发现free(out);根本释放不掉内存。当然也有可能我看的这个官网是假的。问题复现发现root_json ,data_json 和out都没有被释放,然后我就添加root_json ,data_json的释放函数。结果如下图,结果分析:root_json 和data_json被成功释放了,但是out还是没有被释放2.问题解决:cJSON_CreateObject创建的指针,需要使用cJSON_Delete删除,cJSON..

2020-11-10 13:47:38 469

原创 Keil添加cJson和MQTT自带的库

我是用的芯片是MM32F031,开发环境是keil。添加keil自带的json mqtt库跟使用的哪款芯片没关系(1)安装cjson和mqtt的pack(2)功能调用

2020-11-05 20:18:42 348

原创 MM32F031 M0内核 IAP

之前写过M3 M4内核单片机无线升级的文章,所以这里不多介绍IAP了。源码我会上传,名字叫:M0内核_IAP1.二级boot端代码,其中设置里的IROM和IRAM起始地址不需要特殊设置2.应用端代码3.然后分别烧录代码,就可以了...

2020-10-30 09:18:13 305

原创 J-Flash烧录

之前写过一个J-Flash步骤,但是现在看,发现写的不是很详细,自己不满意。最近正好需要给工厂工人写一个JFlash烧录hex文件的步骤,所以我重新写一个详细的。我使用的芯片平台是MM32和GD32,不管什么芯片只要是cortex-M内核的都是一个流程。下面这个流程工厂工人都能看懂,如果做技术的你还看不懂,建议赶紧改行吧~资料包:链接:https://pan.baidu.com/s/1egrWmdEaOepPDaiS5xDR_Q 提取码:055j1.安装J-Flash应用程...

2020-10-27 19:08:56 1232

原创 GD32F130G8芯片创建一个Keil工程

之前一直使用别人的工程,后来想自己做个bootloader工程,然后就尝试自己新建一个,发现遇到各种问题。后来成功了,记录一下过程1.创建工程2.添加系统文件3.添加main.c 和 main函数

2020-10-27 11:18:11 522

原创 keil中 使用for循环体中条件判断框定义变量出错

1.keil中我在gor循环中定义条件变量,报错。如截图2.解决办法:

2020-09-27 18:43:10 278

原创 Altium designer快捷键

1.E+D:单击某个器件,然后就可以删除这个器件

2020-09-22 14:11:46 48

原创 Keil代码没错误,但是会显示叉号或者警告

1.这是因为keil新增的同步查错功能,想要关闭的方法是:

2020-09-21 14:51:15 502

原创 Keil注册机

1.最新的Keil注册机,注册后可以使用到2032年。注册机下载链接:https://pan.baidu.com/s/1tamsdx_5J0yPF5o4nzaaQg 提取码:htlf2.注册机使用步骤(1)打开Keil uVision5。注意:一定要使用管理员权限打开!!!!(2)找到keil的license(3)打开注册机并完成注册...

2020-09-21 09:46:30 13261 21

原创 C语言相关

1.结构体与结构体变量(1)结构体:struct student{  char name[10];  int age;  int student_number;};(2)结构体变量struct student{  char name[10];  int age;  int student_number;}s1,s2;

2020-06-11 21:21:37 88

原创 C语言自定义设计标准

文件名:全小写字母,单功能。例子:usart.c 全局变量:“g_” 开头,全小写字母。例子:g_aaa_bbb 静态变量:“s_” 开头,全小写字母。例子:s_aaa_bbb 局部变量:“l_” 开头,全小写字母。例子:l_aaa_bbb 函数名称:第一个单词大写,如果第一个单词全大写那与第二个单词之间用_隔开。例子:CJSON_Demo、UsartInit 宏定义:全大写...

2020-02-19 15:32:31 150

原创 USB转4路RS485 USB转4路RS232 USB转4路TTL 模块

一.功能概述本模块采用FT4232H芯片作为主芯片,通过RS232和RS485协议转换芯片组合,最终实现USB转4路RS232、USB转4路RS485和USB转4路TTL功能。其中USB转4路TTL功能最高12Mbit通信速率,RS232与RS485最高通信速率则由对应的协议转换芯片速率决定。(1)功能1:USB转4路TTL普通的串口功能,可以直接与单片机的串口发送、接收引脚...

2019-11-05 19:38:57 1838

原创 STM8L051单片机开发问题记录

1.enableInterrupts(); 打开中断函数 这个函数放在串口中,我先打开串口然后调用这个函数,我再设置gpio外部中断功能,然后发现中断异常。最后将enableInterrupts(); 函数放在了最后,解决问题。2.关闭halt模式下看门狗复位功能(1)通过代码功能实现 FLASH_DeInit(); //恢复F...

2019-11-04 19:57:06 233

原创 Linux相关指令记录

1.读取寄存器数据: x/x 0x00001111 ,读取0x00001111寄存器的数据2.写寄存器数据:set *0x00001111 = 0x01 ,写寄存器0x00001111 写入0x01数据3.解压文件:tar -zxvf xxx.gz4.加断点:break 函数名5.删除断点:delete breakpoint 1 //1:类似断点号,通过linux页面可以...

2019-10-18 16:03:26 88

原创 网上下载的cjson库,使用经验记录

1.库文件下载链接:https://pan.baidu.com/s/1udX1cawz9X7_mVzCwYGUxA 提取码:8plt2.提取其中的.c .h文件来使用3.相关函数功能描述(1)json解析cJSON *json , *json_value ,*json_data; //定义json参数json = cJSON_Parse(text);...

2019-09-11 11:13:27 736

原创 转义字符"\"的使用技巧

1.在配置esp8266模块的时候,假如我的路由ssid与密码为:tsingmicro2.4G 密码tsingmicro.com,我需要使用AT指令集给esp8266模块发送AT+CWJAP="tsingmicro2.4G","tsingmicro.com",但是实际使用过程中,我使用printf(“AT+CWJAP="tsingmicro2.4G","tsingmicro.com"”),这...

2019-09-05 19:27:48 667

原创 关于STM32堆栈方面知识点

最近弄json,发现经常的堆溢出,然后找问题。因为对STM32堆栈问题没有深刻认识,就花时间好好研究下了堆栈并且做了验证1.栈地址区间确定首先找到启动文件,我的启动文件在startup_stm32f40xx.s,一般的启动文件也都在startup_stm32fxxxx.s文件里__initial_sp 这个参数是栈顶地址,因为栈的增长是向下增长,所以这个参数我们可以理解为...

2019-08-29 20:43:27 112

原创 Keil自带的json解析

1.下载Keil json库。下载地址:http://www2.keil.com/mdk5/partnerpacks/,下载完以后,双击安装,默认路劲。2.导入工程3.测试使用函数API使用方法参考:https://jansson.readthedocs.io/en/latest/apiref.html#c.json_object_clear#include "jan...

2019-08-29 10:50:16 648

原创 unbuntu samba共享文件夹

最近在玩linux,使用的是unbuntu操作系统。代码设计一开始使用的是vim,然后编译、执行,感觉一系列操作非常的不方便。xhell远端操作已经搞定了,现在就差在windows下操作linux的文件夹了,也就是共享文件夹。 在网上找了很多方法,最终确定使用samba。samba教程也很多,但是都没成功,感觉很不详细,最终结合了大量的教程,综合使用才成功!下面我以新手的角度...

2019-08-07 15:29:33 135

原创 STM32F407最小系统板 核心板

1.开发工具下载(1)keil:链接:https://pan.baidu.com/s/1c60VtSln3V7SpxIw2fbBQg 提取码:zi2s安装步骤(2)破解工具:强烈推荐大家使用正版keil。破解工具只能使用于个人学习,不得有商业用途!!反正我说了,我是没责任了~ 链接:链接:https://pan.baidu...

2019-04-22 21:05:15 4339

原创 USB转I2C I2C工具 I2C助手

USB转I2C小工具,支持单字节、多字节读写,支持定时读数据。非常的好用!界面如下:设备地址:十六进制输入的设备地址,一般I2C 设备的地址都是7 位+1 位的读写位,这里设备地址就是7 位地址左移一位。也就 是最后一位肯定是0。有些数据手册中会直接写出左移之后的地址。这里需要大家多注意一下。寄存器 :十六进制的寄存器地址(注意是两位数:00~FF)读取长度:十进制方式输入...

2019-03-29 10:35:08 5710 8

原创 KEIL代码执行异常

   使用keil过程中,发现有些代码执行不到,或者参数异常。想到各种问题都解决不了,很郁闷。就比如我的两次经历1.静态参数赋值不成功,在一个函数里设置一个静态参数,并赋值为0,程序运行以后发现这个参数使用时值变了不是0,找了好久都没找到问题,最后不得已换成了全局变量。2.参数判断不对,下图是我的代码,BootRam_Flash_Str.state 这个参数在串口中断中赋值成0,并且我再窗...

2019-02-27 16:12:25 373

原创 C#文件的读取与写入

1.txt文件读取string path = @"E:\haha.txt";   //文件位置string[] contens = File.ReadAllLines(path,Encoding.Default);textBox1.Text = contens[0];   //自己弄个textbox工具,就可以把txt里的数据打印出来//contens.Length,这个可以显示数...

2019-02-26 14:12:50 195

原创 STM32F407 主频时钟源配置成HSI

void system_user()   //HSI 倍频函数{            RCC_DeInit();        //恢复系统默认时钟源  HSI  16M            RCC_HSICmd(ENABLE);  //使能HSI  16MHZ            while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) ==RESET) ;...

2019-02-18 15:43:13 1619

原创 KEIL封装lib库文件

    写单片机代码的时候,有些核心算法不想被开发者看到,但是还必须给开发者使用,这样的话可以使用keil自带的生成lib的功能。在网上看了很多历程,对于第一次使用的人来说,写的都不是很全面,最终综合了很多例子,才实现。下面我写一个详细点的。1.创建一个新的工程2.添加需要生成lab的.c 和 .h文件3.设置keil,编译生成lib编译后生成的lib文件...

2019-02-11 17:50:42 2745

原创 STM32F4 使用结构体配置功能

1.IIC配置void IIC_Mode_Config(void){     I2C_InitTypeDef  I2C_InitStructure;      I2C_InitStructure.I2C_Mode        = I2C_Mode_I2C;     //IIC模式       I2C_InitStructure.I2C_DutyCycle   = I2C_DutyCy...

2019-02-02 16:54:57 400

原创 STM32L151RCT6添加标准库

1.首先下载标准库链接:https://pan.baidu.com/s/18RfyYJknrQOaz_NSDnJM8w2.使用keil创建一个普通的stm32l151RCT6工程(1)(2)下面选择的那俩不知道干啥的,先选着以后再分析(3)弄个main ,然后编译通过3.将库文件里的libraries拷贝到自己的工程中,并将库文件中stm32l1xx_conf....

2019-01-31 13:40:48 984 4

原创 STM32 下载程序时,往flash固定位置写数据配置

1.就像参数定义时使用下面语句const unsigned char Flash_user_data[16] __attribute__((at(0X08080000))) ={            0x01,0x02,0x03,0x04,               0x01,0x01,0x03,0x03,            0x04,0x04,0x04,0x04,     ...

2019-01-29 14:04:40 1510

原创 Keil5生成bin文件

1.Options -> User,选择路径2. 选择keil5安装目录下的fromelf.exe。这个是keil自带工具3.输出bin文件并添加bin文件存放路径:--bin --output ../../Output/test.bin4.找到 .axf文件存放的路径5:最终结果:C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --...

2019-01-25 15:21:00 631

原创 STM32 IAP(Bootloader)

想给STM32做串口升级功能,研究STM32程序执行步骤。1.STM32程序下载起始地址0x08000000,0x08000004这个地址是中断地址2.先自己设计一个bootloader程序 ,然后再设计一个应用程序3.给stm32 bootloader分配下载程序的空间,我用的是STM32F407ZGT6,具有1m的flash (1)bootloader:0x0800 0000 ...

2019-01-24 18:14:34 3696 5

原创 STM32F407 周期唤醒功能

1.下图是STM32F407的中文参考手册中,RTC介绍部分。因为我想实现单片机每秒自动唤醒自己一次,开始打算用闹钟中断,但是每次唤醒以后都要自己设置下次唤醒的时间,简单的方法是秒+1,但是要考虑是不是59秒的情况,比较麻烦。所以就选择唤醒中断的方式。2.时钟图分析:(1)通过寄存器RTC_CR   WUCKSESEL[1:0] 设置唤醒时钟,为了方式我选择的是10X(1HZ)。   ...

2019-01-23 17:36:51 1344 1

原创 STM32读取flash数据

uint32_t uwAddress = 0;  //定义一个32位的参数int flashdata = *(__IO uint32_t*)uwAddress;  //uwAddress 是地址,flashdata就是里面的数据。这个操作只能读,不能写flash ...

2019-01-15 20:05:13 1802

原创 STM32F407 DMA请求映射

2019-01-15 15:58:26 2984 2

原创 FreeRTOS下低功耗

    最近学习STM32F407开发板,做freertos操作系统下低功耗,我使用的是停止模式,发现睡眠之后系统的滴答定时器中断会唤醒单片机。然后我就想把滴答定时器中断停止了,通过外部唤醒之后再恢复。我下载了 STM32F4xx中文参考手册,但是没有找到相关的嘀嗒定时器相关寄存器说明。最终在 ARM Cortex-M3与Cortex-M4权威指南 中找到了。权威指南下载链接:https://...

2019-01-15 10:12:00 1076

原创 STM32F407时钟树

买了一块野火的STM32F407板子,看到RTC一章时,发现主函数如下:说SystemInit();函数会默认把主频设置到72M,于是我就把SystemInit();函数都看了一遍。SystemInit();函数中没有发现,再看SetSysClock();最终倍频的参数是168M,并不是72MSTM32查看时钟频率函数:RCC_ClocksType...

2019-01-12 14:03:36 718

原创 STM32F407产生随机数

STM32F407具有随机数发生器功能。代码实现:初始化  RCC_AHB2PeriphClockCmd(RCC_AHB2Periph_RNG, ENABLE);    /* 使能RNG时钟 */  RNG_Cmd(ENABLE);       /* 使能RNG外设 */应用while(RNG_GetFlagStatus(RNG_FLAG_DRDY)== RESET);  //...

2019-01-12 12:57:02 1468

原创 STM32F4系列移植FreeRTOS

    采用的是野火的资料,我的板子是秉火(霸天虎系列)。资料里第124页开始讲的是移植步骤。非常的详细,我这就不写了,大家直接看文档的。链接在下面:资料:https://pan.baidu.com/s/1bSQQQTafi7h_MXyKtjXWTQ代码:https://pan.baidu.com/s/1pcJVqHKgDO12WFywuIAepw...

2019-01-11 16:23:27 457

M0内核_IAP,MM32F031

MM32F031IAP例子,也可以参考于其他系列MO内核单片机,原理都是一样的,甚至代码都能通用。 MM32F031IAP例子,也可以参考于其他系列MO内核单片机,原理都是一样的,甚至代码都能通用。

2020-10-30

cJSON完整资源包资料.zip

cjson代码.c .h文件,其中也包含完整的其他资料,类似参考和path等。正常使用的话只需要.c .h文件就可以,直接调用!

2019-09-11

FT4232专用串口工具 多路串口助手

1.FT4232专用串口助手,用于同时检测4路串口状态。 2.串口助手

2019-03-20

AT24C02 STM32程序

AT24C02存储芯片的STM32代码,代码中有引脚连接说明,下载后可以直接使用。代码适用AT24CXX一系列的存储芯片。

2018-09-06

CH341T I2C工具 I2C助手

CH341T模块I2C功能专用工具,具有定时发送功能。因为没法设置不收取积分。如果没积分的朋友可以通过如下下载 链接:https://pan.baidu.com/s/1uqg4ZBuVH15egxHh2IOMjg?errmsg=Auth+Login+Params+Not+Corret&errno=2&ssnerror=0#list/path=%2F

2019-03-29

AT24C02_STM8

AT24C02存储芯片的STM8代码,代码中有引脚连接说明,下载后可以直接使用。代码适用AT24CXX一系列的存储芯片。

2018-09-06

Keil注册机

keil软件注册机,没有个病毒,里面就一个注册机工具和一个使用说明,没有其他任何广告类东西

2018-10-15

VisualScope破解版

VisualScope破解版,里面包含工具、使用方法、协议函数、操作步骤等。 VisualScope破解版可以随意设置波特率和com口

2019-02-13

W25Q128FV 数据手册

W25Q128FV 数据手册,最低一个分数,没办法!

2019-01-15

AT24C02_51程序

AT24C02存储芯片的51代码,代码中有引脚连接说明,下载后可以直接使用。代码适用AT24CXX一系列的存储芯片。

2018-09-06

空空如也

空空如也

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

TA关注的人 TA的粉丝

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