- 博客(41)
- 资源 (1)
- 收藏
- 关注
原创 TCP-UDP协议
TCP-UDP协议TCP/IP协议簇四层模型应用层HTTP/FTP等传输层TCP/UDP等网络层ICMP协议ICMP协议其实也算是IP协议的补充,ICMP协议是为了辅助IP协议,交换各种各样的控制信息而被制造出来的。主要用于传输出错报告控制信息。IP协议IP协议是无状态,无连接,不可靠的,这也让其相互独立更加便于通信。IP分片,在IP通信过程中有数据传输大小的限制,最多为65535个字节,但是限制与MTU限制,可能只有1500个字节,如果大于1500
2021-07-18 22:43:00 125
原创 HTTP协议
HTTP协议HTTP协议概述HTTP是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式常用的HTTP方法GETPOSTPUTHEADDELETEOPTIONSGET与POST方法的区别GET重点在于从服务器获取数据,POST则是发送数据GET传输数据在URL中用户可见,POST用户不可见GET传输数据速率小,效率高,POST传输数据量大GET不安全,POST安全性较高GET只支持ASCII字符,中文
2021-07-18 16:09:56 120
原创 C语言字符串反转
实现逻辑,就是将字符串从中间一分为二,互相换位置即完成了翻转的效果#include <stdio.h>#include <string.h>//反转字符串void rechange_str(char *str){ int len,i; char tem; if(str==NULL) { return ; } len = strlen(str); for(i = 0;i<len/2;i++) { tem = str[i]; str[i].
2021-07-17 11:56:27 6103 1
原创 C语言堆区
C语言堆区堆的内存成员手动申请,手动释放简单示例:#include <stdio.h>int *getSpace(){ int i; int *p = malloc(sizeof(int) * 5);//这里手动申请20字节大小内存,将首地址给p if (NULL == p) { return NULL; } //只要是连续的内存空间,都能使用下标的方式访问内存 for (i = 0; i < 5; ++i) { p[i] = 100 + i; }
2021-07-17 01:08:23 408
原创 C语言栈区
C语言栈区栈区的内存自动申请自动释放,不需要我们手动管理我们来举例子程序执行到22行,跳转到第11行,首先有个局部变量,局部变量是存放到栈区的s char类型的指针变量占4个字节,值为NULL。程序执行到4行之后,栈空间分配str,“hello world”存放在常量区执行到第6行返回的是str的地址,给s —> 值变为0x0002但是目前程序执行完char *getString()之后,str已经被释放了所以现在str里面是什么值都有可能,我们来看下程序执行结果..
2021-07-16 23:41:52 246
原创 C语言break,continue,return的作用
break:只会在内循环中结束本次循环,小循环结束此次执行,不会跳过大循环。#include <stdio.h> int main (){ int i=0,j=0; for (i = 0; i < 4; i++ ) { printf("i 的值: %d\n",i); printf("---------\r\n"); for (j = 0; j < 3; j++ ) { if( j==1){ break;
2021-07-15 16:48:22 154
原创 C语言不使用库函数,实现字符串拷贝功能
任务:不使用库函数,实现字符串拷贝功能char src[100] = "hello";char dst[100]; //把src的内容拷贝给dst实现逻辑:逐个复制,直到遇到‘\0’为止#include <stdio.h>char *copy_str(const char *str,char *dst){ //先判断字符串是否为空 if(str==NULL || dst == NULL) { return NULL; } //创建一个临时变量 .
2021-07-13 15:53:07 2038
原创 单片机IIC协议
IIC总线协议详解IIC(Inter-Integrated Circuit(集成电路总线))由飞利浦公司开发。一种简单、双向、二线制的同步串行总线(SDA收发数据、SCL时钟同步)特点:基本谁控制时钟线谁就是主设备。近距离、低速率,结构简单、成本低IIC总线上的器件都有唯一的地址(7bit)IIC总线通信过程:主机发送起始信号启用总线 主机发送一个字节数据指明从机地址和后续字节的传送方向 被寻址的从机发送应答信号回应主机 发送器发送一个字节数据 接收器发送应答信号回应..
2021-07-12 16:27:13 236
原创 C语言指针互换数字
# include <stdio.h>void huhuan_1(int , int);void huhuan_2(int *, int *);void huhuan_3(int *, int *);int main(void){ int a = 3; int b = 5; huhuan_3(&a, &b); //huhuan_2(*p, *q); 是错误的, huhuan_2(a, b);也是错误的 printf("a = %d, b = %d\n".
2021-07-11 16:08:43 356
原创 C语言素数
素数:一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做素数:程序解释:输入一个数字,输出在此之前所有素数# include <stdio.h>bool IsPrime(int m) { int i; for (i=2; i<m; ++i) //得到参数m之后判断 { if (0 == m%i) //只要求余之前的任意一个数值为0 即可跳出for循环 break; } .
2021-07-10 17:19:15 512
原创 C语言斐波那契数列
指的是这样一个数列:0、1、1、2、3、5、8、13、21、34......#include <stdio.h>int main(void){ int a=0,b=1,c=1,n; printf("请输入您需要求的想的序列: "); scanf("%d",&n); for(int i=1;i<=n;i++) { a=b; b=c; c=a+b; } printf("%d\n",c);} .
2021-07-10 09:59:16 181
原创 C语言回文数
什么是回文数:例如,若n=1234321,则称n为一回文数;但若n=1234567,则n不是回文数。代码:# include <stdio.h>int main(void){ int val; //存放待判断的数字 int m; int sum = 0; printf("请输入您需要判断的数字: "); scanf("%d", &val); m = val; while (m) { sum = sum * 10 + m%10; m /=
2021-07-09 14:56:26 510
原创 C语言互换两个数字
代码:# include <stdio.h>int main(void){ int i = 3; int j = 5; int t; //定义临时变量 //互换i和j的方法 t = i; i = j; j = t; printf("i = %d, j = %d\n", i, j); return 0;}运行结果:i = 5, j = 3
2021-07-09 14:13:45 379
原创 C语言对三个数字排序
要求:编写代码完成a是最大值 b是中间值 c是最小值# include <stdio.h>int main(void){ int a, b, c; int t; printf("请输入三个整数(中间以空格分隔): "); scanf("%d %d %d", &a, &b, &c); if (a < b) { t = a; a = b; b = t; } if (a < c) { t = a; a..
2021-07-09 13:32:08 474
原创 printf中%x及其相关的用法
第一种定义List方法:void main(List<String> args) { List mylist = ['香蕉','苹果','橘子']; print(mylist[1]);}List里面的属性:
2021-07-09 13:06:32 4832
原创 冒泡排序
排序算法1. 冒泡排序比较相邻的元素。如果第一个比第二个大,就交换他们两个。#include <stdio.h>#include<stdlib.h>#define N 8void bubble_sort(int a[],int n);void bubble_sort(int a[],int n)//n为数组a的元素个数{ //一定进行N-1轮比较 for(int i=0; i<n-1; i++) { //每一轮
2020-12-24 12:53:57 57
原创 this和static
this和staticstatic静态变量成员变量包括 【实例变量和静态变量】实例变量是成员级别的,必须通过对象引用方式访问【存储在堆内存中】静态变量直接通过“类名”访问【存储在方法区中】什么情况下用静态变量?package com.demo;public class Man { //ID int Id_card; //sex static boolean sex = true; //有参数构造方法 public Man(i
2020-09-01 09:21:49 102
原创 STM32CubeMx串口接收发送
先定义一个缓冲区,char类型 ResBuff[];//接收中断发送过来的数据添加接收中断回调函数(当产生接收中断之后触发发送函数)void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart){ HAL_UART_Transmit_IT(&huart1, (uint8_t *)ResBuff, 1);}同样,添加...
2019-09-05 08:14:48 1211
原创 STM32CubeMX串口中断
总结: 接收串口发送过来的数据 如果包含某个变量 就......在创建工程时开启串口接收中断在串口中创建变量在初始化中加上在工程中重写----------HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)测试接收到的数据,如果包含1 打印***测试结果...
2019-08-08 15:05:13 404
原创 STM32CubeMx新建工程(串口)
新建一个具有串口功能的这个是在线更新,我们取消不用更新。选择对应的板子型号点击进行配置①②选择串口③使能串口④可以根据自己需求修改波特率及一些参数(默认也可以)出现绿色表示配置OK①选择工程②工程名称③工程路径④ 选择自己的开发环境打钩 生成.c 和.h点击右上角生成...
2019-05-30 21:58:15 679
原创 CC2530外部中断启停跑马灯
直接上代码:::: 这个程序是测试按键产生中断然后跑马灯的启停(暂停和跑马)第一次产生中断(按键按下)进入中断执行事件第二次...第..次...#include <iocc2530.h>/* Description:本程序是测试按键产生时跑马灯的暂停和启动程序 time:2019-2-27 Auther: Bactiy*/// ...
2019-02-27 17:26:53 5076 1
原创 CC2530判断字符串点亮LED
直接上代码:::: 这个代码是MCU接收PC通过串口助手发送字符串来控制LED的亮灭状态。。 当PC发送Perea时LED点亮(我的LED高电平点亮)当PC发送Statr时LED熄灭。#include <iocc2530.h>#include <string.h>#define uint unsigned int#define uchar ...
2019-02-27 16:51:42 1637 1
原创 ESP8266开启AP模式
今天我们做一个ESP8266开启热点模式的实例!!#include <ESP8266WiFi.h>#define AP_name "你好"#define AP_PassWord "nihao123"#define Begin(baud) Serial.begin(baud)#define Print(message) Serial.print(message)#de...
2019-02-25 09:35:17 2339
原创 推挽输出和开漏输出(初学者)
我们以控制LED为例,IO口可以设置为推挽输出模式。而大家可能会有疑惑,那其他输出模式在什么情况下使用呢?一般来说复用功能的输出是在使用STM32内部外设的时候使用,比如说ADC、SPI 等。而输出模式呢,我们知道有个开漏输出,我们为什么不用开漏输出来控制LED灯呢? 其实推挽输出和开漏输出,我们在学习模拟电路的时候用该知道它的工作原理,一般来...
2019-01-11 09:07:39 5669
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人