- 博客(23)
- 收藏
- 关注
原创 基于STM32串口通信
结合上图,波特率到发送/接收之间由状态寄存器(USART_SR)控制。状态寄存器(USART_SR)图这里主要关注TXE、TC、RXNE、IDLE数据寄存器图主要配置数据的传送波特比率寄存器图控制寄存器1控制寄存器2。
2025-04-20 12:54:08
312
原创 WiFi模块esp工作在路由模式(实时监测)
/为了查找联网状态给的回应。//直到等于1时发送成功,TI为0时变1发送成功;void UART_Routine() interrupt 4 //串口中断。//配置串口工作模式,REN为1则接收数据。//配置定时器为8位自动重装模式。// default port = 333连接服务器。void Uart1_Init() //串口初始化。//用于当联网标志位。
2024-07-25 16:35:34
815
原创 串口通信控制单片机LED(源码仅供参考)
if(strstr(cmd,"en")) //数组里面查找 en // 传出数据 ASSII码。//接受数据手动复位。//清空数组 '\0'表示没有字符,长度为size 宏定义。//直到等于1时发送成功,TI为0时变1发送成功;//配置串口工作模式,REN为1则接收数据。void Uart1_Init() //串口初始化。
2024-07-11 17:38:21
503
原创 用串口发送字符串(仅供参考)
/传入字符串 \r\n表示字符串换行的意思。//当TI为0时则!TH1 = 0xFD;//8位自动重装模式 TH1数据溢出自动装入TL1。//这样配目的是无时差。//配置定时器1 8位自动重装模式。//将字符串传入出去。//让波特率更加稳定,防止掉帧。void senddate(char date) //串口发出数据函数。//配置计算波特率模式。void sendstring(char* str) //传入字符串。
2024-07-10 21:15:53
956
原创 上官智能感应垃圾桶
if(dis < 10 || sw1==0 || mark_vibrate == 0) //震动传感器不稳定,定义一个变量。//关盖赋予1 下次?void Time_0handler() interrupt 1 //(不断传波形信号)void vibrate_0() interrupt 0 //中断启动振动模式。if(cnt == 40) //20ms为舵机一个周期形成一个波形。
2024-05-25 20:59:59
1048
原创 函数指针调用与函数调用区别(辨析)
Int (*p)();// *p取代haha地址 类型一样。//调用函数都是此类型 getmax。switch(cmd) //取1为最大值 取2为最小值 取3为两数之和。} //可用三目运算符比较简便。puts("输入错误");puts("输入错误");
2024-05-18 15:24:50
1145
原创 指针变量之求数组对应坐标的数值
int getnumber(int (*p)[4],int hang,int lie) //数组指针对应的二维数组地址存放。//求输出坐标给出对应的值。printf("第%d行第%d的值是%d",hang+1,lie+1,date);puts("请输入行列值");
2024-05-12 16:37:57
458
原创 指针变量之数组反转
/取出地址数值 数字按照由后往前输。i++) //除以2,对调两次size为5。void putnumber(int *parr,int size) //将地址传进来,放到指针变量。//地址右移 第二位数。//对调后面数之间关系。printf("请输入第%d数据",i+1);
2024-05-05 11:35:00
319
原创 c语言指针变量关于函数的封装清晰过程
/地址右移 数组第二位数。void putnumber(int *parr,int size) //将地址传进来,放到指针变量。printf("请输入第%d数据",i+1);
2024-05-04 20:06:24
324
原创 上官c51舵机
void Time_0handler() interrupt 1 //(不断传波形信号)void Time_0init() //定时器中断初始化。while(1) //不断循环转动,在此可以调度数。if(cnt == 40) //20ms为舵机一个周期形成一个波形。//定时器0开始计时。//初始转到0°对应0.5ms。if(cnt < jd) //转过的角度。
2024-04-17 19:30:44
828
1
原创 上官C51定时器控制LED闪烁
/规定TRO=1开始计时 TFO=0。TH0 = 0xDC;//定初始值56320~65536下(10ms)TMOD = 0x01;TL0 = 0x00;if(TF0 == 1) //爆表一次为10ms。if(cnt == 100) //100次相当于1s。
2024-04-15 22:29:56
492
原创 利用函数调用求俩个班分数平均值
printf("各班级总人数为:%d\n",len);//最后一个return到main函数 averone&&avertwo。printf("请输入%d个学生分数:\n",i+1);printf("一班平均分%f\n",averone);printf("二班平均分%f\n",avertwo);//接住aver调用 average函数。//将整个数组地址和 人数传过去。//容易入坑,平均值用浮点型。
2024-03-06 00:37:16
834
原创 C语言筛选出数组中一些数据最大值以及最大值相应坐标
/加1为了行列匹配,假设[]里面的为0,则 代表第一个数。//将假设值与比他大的值进行互换。//假设第一个数为最大值。//对上述数据进行分行列。
2024-02-28 17:40:36
433
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人