- 博客(6)
- 收藏
- 关注
原创 【STM32】USART串口通信
校验位,验证数据是否正确,分为无校验、奇校验、偶校验,无校验说明不需要校验位,如果是奇校验则会在停止位之前多一位校验位,如果数据位共有偶数个1则校验位补一个1,如果数据位有奇数个1则校验位为0,接收方接收时如果发现1的个数不是奇数个则认为数据传输出错,可选择丢弃数据或要求重传,若有两位数据出错则校验不出数据的问题,波特率,由于是异步通信,需要通信双方约定好通信的时钟速率,通常是115200或9600,起始位,空闲状态引脚为高电平,起始位必须是低电平,代表一个数据帧的开始,通信双方的tx、rx引脚交叉连接,
2025-04-16 14:02:20
200
原创 【STM32】SPI通信
模式0:CPOL(时钟极性)=0 空闲状态SCK低电平,CPHA(时钟相位)=0 SCK第一个边沿采样 第二个边沿放数据,SCK第一个边沿就采样相当于把SS下降沿当作第0个边沿开始放数据,设计简单,要求少,只需要最简单最快速的完成传输,通过片选指定设备,不需要像IIC那样发送一个字节的设备ID指定设备,也没有应答机制,主机从机寄存器一起将数据移出移入,交换数据,如果主机只需要读取从机数据则在读的同时写一个无意义的数据给从机就可以,反之同理。有四个传输模式0、1、2、3,一次交换1个字节也就是8个位,
2025-04-16 13:20:25
158
原创 【STM32】IIC通信
指定地址读:就是先用指定地址写的方法,调整好地址指针的位置但不写入数据,然后重新给出起始信号,继续使用当前地址读,读取从机数据即可,若要读取多个字节主机在接收到一个字节之后正常给出应答即可,若不需要继续接收则不给应答。一次收/发一个字节也就是8个位,数据高位先行,SCL低电平时,主/从机将数据放到SDA上,SCL高电平时SDA保持不动,从/主机读取SDA电平,循环8次一个字节传输完毕,主机接收完一个字节后应该在下一个SCL高电平之前给出应答,0为应答,1为非应答,
2025-04-16 00:31:14
336
原创 【LinuxC】学习笔记
这是我学习李慧芹的视频课时做的笔记,包含linuxC基础部分全部内容和部分数据结构内容。目前在学习韦东山的freertos视频课,之后再继续看李慧芹的课。
2025-04-15 22:25:53
130
原创 【project】基于STM32的智能家居
后续准备优化完善一下代码的异常处理部分,以及增加一些新功能。上传温湿度数据及led状态至onenet云平台,esp8266wifi模块远程通信,oled显示温湿度及灯光状态,云平台下发指令控制led开关。实现了dht11监测温湿度,
2025-04-15 21:45:48
96
原创 STM32F103C8T6读取DHT11温湿度数据显示到OLED上,数据校验和出错(已解决)
排查过DHT11硬件模块没有问题,用别的代码就能正常读出温湿度数据,用我自己的代码就是数据校验和出错的状态,五个字节都是不正常的数据。
2025-03-23 20:25:31
311
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人