自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 STM32串口实现printf

串口的引脚:TX:发送数据输出引脚。RX:接收数据输入引脚。USART初始化结构体:typedef struct {uint32_t USART_BaudRate; // 波特率uint16_t USART_WordLength; // 字长uint16_t USART_StopBits; // 停止位uint16_t USART_Parity; // 校验位uint16_t U...

2019-09-19 21:05:41 412

原创 利用stm32定时器实现LED灯闪烁

本文采用芯片为stm32f103rc,定时器为systick。SysTick—系统定时器是属于 CM3 内核中的一个外设,内嵌在 NVIC 中。系统定时器是一个 24bit 的向下递减的计数器,计数器每计数一次的时间为 1/SYSCLK,一般我们设置系统时钟 SYSCLK 等于 72M。当重装载数值寄存器的值递减到 0 的时候,系统定时器就产生一次中断,以此循环往复。先明确思路:总共分成4各...

2019-09-17 20:36:50 9277

原创 智能清洁桶项目

硬件需求:树莓派、L9110模块、OLED显示屏、HC-SR04超声波模块、温度传感器、SG90舵机、马达及轮子、清洁桶。架构:远程控制服务端:树莓派。远程控制客户端:linux虚拟机。原理:利用到网络编程、多线程、文件操作–日志模块,通过在linux虚拟机上远程控制小车,实现前进,后退,拐弯,避障等功能,利用超声波模块检测手是否靠近,然后通过sg90舵机模块将盖子打开,手拿开让盖子盖...

2019-09-04 13:58:16 198

原创 FTP的简单项目实现

概念:文件传输协议(FTP)是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是 UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证。FTP允许用户以文件操作的方式(如文件的增、删、改、查、传送等)与另一主机相互通信。然而...

2019-08-18 20:58:58 621 2

原创 网络编程基本实现

字节序字节序是指多字节数据在计算机内存中存储或者网络传输时各字节的存储顺序。Little endian 小端字节序:将低序字节存储在起始地址;Big endian 大端字节序:将高序字节存储在起始地址。网络字节序 = 大端字节序。1.socket函数:套接字(设置TCP/UDP)2.bind函数:IP号端口号与相应描述字赋值函数。格式:int bind(int sockfd,co...

2019-08-12 11:18:57 138

原创 HC-SR04超声波模块使用心得

HC-SR04超声波模块有4个引脚,两边为VCC,GND,中间两个引脚为Trig和Echo。采用IO口TRIG触发测距,给至少10us的高电平信号;当Trig从低电平通过I0口拉高后,经过10us又将其拉低。模块自动发送8个40khz的方波,自动检测是否有信号返回;此时Echo拉高为高电平,即超声波发送出去;当Echo变成低电平后,即超声波模块收到返回的波,高电平持续的时间就是超声波从发射到返回的...

2019-07-28 17:17:59 1849

原创 ESP8266配置说明

esp8266使用心得:一般自用配置说明:AT+CWMODE_DEF=1 //设置模块为station模式;作为设备接入热点"AT+CWJAP_DEF=“fools”,“11111111” //将热点的名字,密码配置好“AT+CIPSTART=“TCP”,“172.20.10.2”,8080”//打开网络调试助手,选择TCP协议,选择本机地址和主机端口‘“AT+CIPMODE=1” //...

2019-07-28 17:03:15 368

原创 单片机串口心得随笔

1.串行接口:简称串口作用:通信。特点:串行接口是指数据一位一位地顺序传送,其特点是通信线路简单,只要一对传输线就可以实现双向通信,从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。串行通讯的距离可以从几米到几千米根据信息的传送方向:串行通讯可分为:单工/半双工/全双工。根据接口可划分为:同步串行接口;异步串行接口(UART:TTL/RS232)。按电气标准及协议来分包括RS-2...

2019-07-28 16:52:17 1004

原创 C语言中链表的普通操作。

1.给结构体指针变量申请完空间后,要进行初始化操作,结构体内指针变量设置为NULL;例如:struct link *pp=(struct link *)malloc(sizeof(struct link));p->next = NULL;2.链表的遍历:创建一个指针p,先让其指向头,然后逐个指向链表下一个地址,从而遍历链表。p=head;p=p->next;3.链表的创建:在...

2019-07-24 12:21:37 95

原创 vim的一些常用法

:Clangformet 代码自动排版替换光标选中后 : s /想要替换的内容/替换后的内容编辑o 在下一行编辑;i 在当前光标编辑;a 在当前光标后编辑;A 在当前行末尾编辑。删除/复制一行dd 删除一行yy 复制一行p 粘贴选中/删除/复制多行V 选中一行上下 选中多行y 复制d 删除p 粘贴跳转0 移动到当前行开头:33 跳转到33行gg 跳转到第一...

2019-07-17 12:06:29 131

原创 C语言函数随笔

定义函数包括以下几个内容:1.指定函数的名字,以便以后按照名字调用。2.指定函数的类型,即函数返回值的类型。函数类型决定返回值的类型。3.指定函数的参数的名字和类型,以便在调用函数时向他们传递数据。4.指定函数完成怎样的操作,即函数实现的功能。即: 类型名 函数名(参数类型名 参数名){函数体}定义函数时函数名后面括号中的变量名称为“形式参数”;该值只在函数调用期间有效。定...

2019-07-17 12:04:21 246

原创 数组中的选择排序与冒泡排序的用法。

数组中整形个数计算:len=sizeof(array)/sizeof(int); 一个整形在数组中占四个字节。所以用数组中所有字节除以整形就能得到数组中整形个数。1.选择排序:默认数组中的第一个数为最大或最小值,然后将这个值与数组中其他值进行比较,即for(i=0;i<len-1;i++){for(j=i+1;j<len;j++){if(array[i]<array[j...

2019-07-11 12:01:47 200

原创 c语言中scanf的用法

c语言中scanf的用法格式:scanf(“输入控制符”, 输入参数);1/当scanf控制符是字符”%c“的时候,要注意回车,回车也是一个字符,当我们连续输入两个整数,回车/空格都属于字符,都会被下一轮的scanf(“%c”,&运算符)吸收。导致我们无法再次输入一个运算符。使用getchar();可以解决这一问题。2/逗号后不要忘记取地址符&。3/scanf输入函数须要原...

2019-07-10 18:09:40 13374 2

原创 C语言中switch的用法

switch 是一种选择结构的语句,用来代替简单的、拥有多个分枝的 if else 语句,基本格式如下:switch(表达式){case 整型数值1: 语句 1;break;case 整型数值2: 语句 2;break;…case 整型数值n: 语句 n;break;default: 语句 n+1;break;}break 是C语言中的一个关键字,专门用于跳出 switch 语句。...

2019-07-10 18:08:23 22845 1

空空如也

空空如也

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

TA关注的人

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