自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(247)
  • 资源 (16)
  • 收藏
  • 关注

原创 stm32 LWIP开发-1-LWIP 无操作系统移植

stm32 SWIP

2022-06-30 11:42:37 1481 1

原创 第十九课 - 函数递归 直接递归 间接递归 函数指针 回调 callback 函数指针与状态机

2021-12-30 23:53:13 1066

原创 第十八课 上部 - 简单排序 插入排序 直接插入排序

2021-12-30 17:22:03 1033

原创 第十七课 - 预编译命令 文件包含 宏 条件编译 注释

预编译命令 文件包含 宏 条件编译 注释

2021-12-29 21:42:44 911

原创 第十六课(中部) - 双链表

双链表

2021-12-29 20:47:44 871

原创 第十六课(上部) -单链表

单链表

2021-12-29 16:46:30 894

原创 第十五课(3)-二级指针

二级指针

2021-12-28 23:11:52 793

原创 第十四课 - 指针与基本数据类型

指针与基本数据类型指针与构造类型指针与数组的混合使用指针用法柬言1. 给指针p赋值的两个途径:1. 定义好变量,将变量的地址给指针。2. 给指针分配空间,malloc。...

2021-12-28 23:09:14 1140

转载 第十五课-C语言-函数返回局部变量

一般的来说,函数是可以返回局部变量的。 局部变量的作用域只在函数内部,在函数返回后,局部变量的内存已经释放了。因此,如果函数返回的是局部变量的值,不涉及地址,程序不会出错。但是如果返回的是局部变量的地址(指针)的话,程序运行后会出错。因为函数只是把指针复制后返回了,但是指针指向的内容已经被释放了,这样指针指向的内容就是不可预料的内容,调用就会出错。准确的来说,函数不能通过返回指向栈内存的指针(注意这里指的是栈,返回指向堆内存的指针是可以的)。 下面以函数返回局部变量的指针举几个典型的例子来说明:...

2021-12-28 22:07:42 1014

原创 第十五课 - 指针与函数

指针作为函数的返回值指针作为函数的形参与实参二级指针的定义与作用

2021-12-28 11:45:42 1111

原创 第十三课 - 指针与数组

动态数组字符数组指针与自增运算符不同类型指针的步进值字符串相关系统函数

2021-12-27 15:55:26 883

原创 第十二课 - 指针

基本类型指针构造类型指针void指针mallocfreememset

2021-12-27 14:22:46 961

原创 第十一课-函数 函数定义 声明 调用 结构体与函数重载

函数定义 声明 调用 结构体与函数重载

2021-12-26 22:38:30 823

原创 第十课-结构体 联合体

结构体 联合体结构体数组 联合体数组结构体中的数组 联合体中的数组

2021-12-26 18:55:28 826

原创 第九课(2)- 二维数组

二维数组

2021-12-26 13:07:31 783

原创 第八课-修饰类型,存储类型

修饰类型,存储类型

2021-12-26 02:45:00 744

原创 第九课(1)- 一维数组

一维数组

2021-12-25 23:34:56 838

原创 第八课-修饰类型,存储类型

修饰类型,存储类型

2021-12-25 22:30:32 1023

原创 第三课-标识符,运算符(作用域限定符,括号运算符,关系运算符),if-else

标识符,运算符(作用域限定符,括号运算符,关系运算符),if-else

2021-12-25 22:23:34 837

原创 第二课(2)- 算数运算符,printf

运算符,printf

2021-12-25 11:48:51 1035

原创 第二课(1)-数据类型,常量,变量,表达式,语句

数据类型,常量,变量,表达式,语句

2021-12-24 21:33:45 153

原创 第一课-C 语言,IDE, 编译器

C 语言,IDE, 编译器

2021-12-24 20:49:00 786

原创 第七课-分支结构

分支结构,switch

2021-12-23 17:48:34 275

原创 第五课-循环语句(while,dowhile),算数运算符,前置后置自增自减

循环语句-while没有循环次数的时候,使用这个。while (循环条件){ 循环体;}循环语句-转向语句 continue, break, goto, return;运算符:+= 算数加赋值-= 算数减赋值*= 算数乘赋值/= 算数除赋值%= 算数模赋值++ 自增运算符-- 自减运算符下面三个等价:c = c + 1; (效率最低)c += 1; (效率中等)c++; (效率最高)++ 前置/后置-- 前置/后置int c...

2021-12-22 16:00:48 461

原创 第四课-逻辑运算, 关键字, 循环for, 转向语句

逻辑运算, 关键字, 循环for, 转向语句

2021-12-22 15:53:21 292

原创 第六课 - 位运算符,goto 语句

位运算符,goto 语句

2021-12-20 22:11:51 186

原创 nrf52840之蓝牙5.0基础及学习规划(1)

蓝牙 5.0 的简介: 蓝牙 5.0 是由蓝牙技术联盟在 2016 年提出的蓝牙技术标准,蓝牙 5.0 针对低功耗设备速度有相应提升和优化。 蓝牙 5.0 是在蓝牙 4.2 基础上进化而来,那么与蓝牙 4.2 相比,它有什么特点了? 蓝牙 5.0 的特色是它能在现有(蓝牙 4.2)的省电模式下,提供超过 4 倍的通讯范围(300 米) 和 2 倍的传输速度(2Mbps),8 倍的数据量。同时增添导航功能,配合无处不在的 Wi-Fi 可以实现精准度接近 1 米的蓝牙室内定位功能。蓝.

2021-02-06 11:49:46 1188 2

原创 基于stm32移植FATFS文件系统

1. 下载FATFS系统源码:http://elm-chan.org/fsw/ff/arc/ff14a.zip或者http://elm-chan.org/fsw/ff/ffsample.zip(平台示例项目)2. ff14a/source 下就是需要的文件。ff.c FatFs模块。ffconf.h FatFs模块的配置文件。ff.h FatFs和应用程序模块的通用包含文件。diskio.h FatFs 和disk I / O模块的公用...

2020-12-13 12:09:12 915

原创 fatfs 测试文件

#include "led.h"#include "delay.h"#include "key.h"#include "sys.h"#include "lcd.h"#include "usart.h"#include "sram.h"#include "malloc.h"#include "string.h"#include "mmc_sd.h"#include "ff.h"#include "exfuns.h"#include "usmart.h"#include "fatfs.

2020-12-11 23:08:05 428

原创 得到指定目录下,MP3文件的总个数

功能:得到指定目录下,MP3文件的总个数//得到path路径下,MP3文件的总个数//path:路径 //返回值:总有效文件数u16 mp3_get_tnum(void){ int rval = 0; DIR dir2; FILINFO fno2; FRESULT res; char mp3_path[256] = "0:/MUSIC"; res = f_findfirst(&dir2, &fno2, mp3_path, "*.mp3"); whi

2020-12-11 23:03:30 257

原创 功能打印出SD卡MUSIC内,所有文件。

功能打印出SD卡MUSIC内,所有文件。源码:DIR dir1;FILINFO fno1;char path[256] = {0};UINT i =0;FRESULT scan_files (char* path){ res = f_opendir(&dir1, path); if(FR_OK == res) { for(;;) { res = f_readdir(&dir1, &fno1); //读目录 if(FR_OK !=

2020-12-11 22:56:50 273

原创 测试 VS1053 的步骤

测试 VS1053 的步骤:1. ram 测试,读到的值是0x83FF,则表明mcu 与 VS1053 之间 spi 通信成功,VS1053 工作正常。2. sin 测试。 耳机听到嘟嘟的声音。表明 VS1053 后端,音频开关选择器,放大器等电路ok.3. 播放声音。播放音乐例程:FIL fil_mp3;FRESULT res;char mp3_buf[4096] = {0};UINT br1;UINT mp3_index = 0;BYTE flag = 1;in...

2020-12-09 19:02:02 1073 1

翻译 文件和目录管理

f_statf_stat函数检查文件或子目录是否存在。FRESULT f_stat( const TCHAR * path, / * [IN]对象名* / FILINFO * fno / * [OUT] FILINFO结构* / 如果不需要,则设置空指针。);描述该f_stat功能检查文件或子目录的存在。如果不存在,则函数返回FR_NO_FILE。如果存在,该函数将返回FR_OK,并将有关对象,大小,时间戳和属性的信息存储到文件信息结构中。FRESUL

2020-12-09 17:15:42 850

翻译 文件系统目录操作函数

typedef struct { FSIZE_t fsize; / *文件大小* / WORD fdate; / *最后修改日期* / WORD ftime; / *最后修改时间* / BYTE fattrib; / *属性* / #if FF_USE_LFN TCHAR altname[FF_SFN_BUF +1]; / *替代对象名称* / .

2020-12-08 17:16:27 961

原创 文件操作函数

f_open函数打开一个文件。 //打开/创建文件FRESULT f_open( FIL * fp, / * [OUT]指向文件对象结构的指针* / const TCHAR *路径,/ * [IN]文件名* / BYTE模式 / * [IN]模式标志* /);/ *打开一个文本文件* / f_open(&fil,“ message.txt”,FA_READ);http://elm-chan.org/fsw/ff/doc/ope..

2020-12-08 09:25:05 463

翻译 FatFs文件系统中,文件操作函数

FatFs为应用程序提供各种文件系统功能 档案存取 f_open-打开/创建文件 f_close-关闭打开的文件 f_read-从文件读取数据 f_write-将数据写入文件 f_lseek-移动读/写指针,扩展大小 f_truncate-截断文件大小 f_sync-刷新缓存的数据 f_forward-将数据转发到流 f_expand-将连续块分配给文件 f_gets-读取字符串 f_putc-写一个字符 f_puts-写一个字符串 f_print..

2020-12-08 09:18:05 1558

原创 音频的比特率,码率

比特率 是指 每秒传送的比特(bit)数。单位bps(Bit per Second),比特率越高,传送数据速度越快。声音中的比特率是指将模拟声音信号转换成数字声音信号后,单位时间内的二进制数据量,是间接衡量音频质量的一个指标。比特率是指将数字声音由模拟格式转化成数字格式的采样率,采样率越高,还原后的音质就越好。作为一种数字音乐压缩效率的参考性指标,比特率表示单位时间(1秒)内传送的比特数bps(bit per second,位/秒)的速度。通常使用kbps(通俗地讲就是每秒钟1000比特)作为.

2020-12-01 12:06:04 17944

原创 共享的名字空间

两个不同作用域的同名变量不冲突;int a;void fun(void){ int a; //允许}void fun1(void){ int a; //允许}两个相同作用域的同名变量冲突。void fun(void){ int a; //int a; //不允许}名称空间是分类别的。在一个特定作用域内的结构标记、联合标记和枚举标记都共享相同的名称空间,该名称空间与普通变量使用的空间不同。这意味着在相同作用域中变量和标记的名称

2020-10-21 23:26:05 431

原创 C基础-typedef-1

typedef工具是一种高级数据特性,它使您能够为某一类型创建您自己的名字。在这个方面,它和define相似,但是它们具有3个不同之处:与#define不同,typedef 给出的符号名称仅限于对类型,而不是对值。typedef的解释由编译器,而不是预处理器执行。虽然它的范围有限,但在其受限范围内,typedef比#define更灵活。优点:typedef 有助于增加可移植性。 //不同平台,类型的定义可能不同为经常出现的类型创建一个方便的、可识别的名称。 //简单类型int ,结构体,

2020-10-21 21:57:35 99

原创 C基础-枚举类型-1-定义,赋值,使用

枚举类型概念: 可以使用枚举类型,声明代表整数常量的符号名称。通过使用关键字enum,可以创建一个新“类型”并制定她可以具有的值。枚举类型的目的是提高程序的可读性。enum 常量是int类型的,因此在使用int类型的任何地方都可以使用它。定义:/*这个声明设置spectrum为标记名。*/enum spectrum{​ red,​ orange,​ yellow,​ green,​ blue};/*这个声明,使得color成为enum spectru

2020-10-21 16:47:13 3729

uart_happygrilclh.zip

芯片stm32 , 使用hal库实现的串口,方式dma+uart+idle. 接受不定长的数据包。 调试过,可以使用。

2020-04-28

LED_happygrilclh.zip

使用hal库实现的led项目,芯片stm32f103

2020-04-28

Watchdog.zip

c8051f410的看门狗wdt使用方法,文档详细介绍,还提供源码。不做商用,只供学习。.

2020-03-22

vs1053b-patches270.zip

v1053b 的patch ,内有文档 和 源码。很全面的。可以下载。

2019-10-02

MD5 算法源码 c 写的

MD5 算法源码 c 写的

2018-12-22

linux 下 移植 wifi . 概念讲解, iw ,wpa, dhco, hostapd每个步骤都有。

linux 下 移植 wifi . 概念讲解, iw ,wpa, dhco, hostapd每个步骤都有。

2018-07-17

详细介绍linux下移植wifi的步骤

文档中详细介绍了详细介绍linux下移植wifi的步骤,包括如何获取驱动源码,加载驱动模块,内核编译进依赖。还有无线管理的方法,iw ,wpa,hostapd.dhsp

2018-07-12

网络控制晶片分类

网络控制晶片分类

2018-04-04

svn 服务器和客户端

svn 服务器和客户端 64位 and 32 位。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2018-01-18

ccc2541 程序

ccc2541 程序

2017-08-19

蓝牙学习笔记

蓝牙学习笔记

2017-08-05

蓝牙BLE权威教程

BLE

2017-07-26

cc2530,cc2541中文数据手册

cc2530,cc2541中文数据手册

2017-07-25

CC2541简明手册

CC2541简明手册

2017-07-23

CC253x和CC2540用户指南

CC253x和CC2540用户指南,编程文档。

2017-07-23

28355做的spwm。

用28335写的spwm程序,逆变正弦。

2017-04-11

空空如也

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

TA关注的人

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