5 VF-TECH

尚未进行身份认证

技术宅。清华大学电子系毕业

等级
TA的排名 6w+

Linux相关指令记录

1.读取寄存器数据:x/x0x00001111,读取0x00001111寄存器的数据2.写寄存器数据:set*0x00001111=0x01,写寄存器0x00001111写入0x01数据

2019-10-18 16:02:56

网上下载的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:06:55

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

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:25:52

关于STM32堆栈方面知识点

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

2019-08-29 20:43:27

Keil自带的json解析

1.下载Keiljson库。下载地址: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

unbuntu samba共享文件夹

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

2019-08-07 15:29:33

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-08-06 21:01:55

STM32F407最小系统板 核心板

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

2019-04-22 21:05:15

USB转I2C I2C工具 I2C助手

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

2019-03-29 10:35:08

KEIL代码执行异常

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

2019-02-27 16:12:25

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

STM32F407 主频时钟源配置成HSI

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

2019-02-18 15:43:13

KEIL封装lib库文件

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

2019-02-11 17:50:42

STM32F4 使用结构体配置功能

1.IIC配置voidIIC_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

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

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

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

2019-01-29 14:04:40

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

STM32 IAP(Bootloader)

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

2019-01-24 18:14:34

STM32F407 周期唤醒功能

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

2019-01-23 17:36:51

STM32读取flash数据

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

2019-01-15 20:05:13

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。