图解模拟通信协议

目录

一:图解软件IIC

1:协议模拟

2:协议例程

二、图解SPI 

 1:四种模式​编辑

​编辑 2:例子

三、UART


一:图解软件IIC

1:协议模拟

①IO定义

#include "CH57x_common.h"
#ifndef SRC_I2C_H_
#define SRC_I2C_H_

//IO方向设置
typedef unsigned char           u8;
#define I2C_Pin_SCL   GPIO_Pin_10
#define I2C_Pin_SDA   GPIO_Pin_11

#define SCL_H         GPIOB_SetBits( I2C_Pin_SCL )
#define SCL_L         GPIOB_ResetBits( I2C_Pin_SCL )
#define SDA_H         GPIOB_SetBits( I2C_Pin_SDA )
#define SDA_L         GPIOB_ResetBits( I2C_Pin_SDA )
#define SCL_read      GPIOB_ReadPortPin( I2C_Pin_SCL )
#define SDA_read      GPIOB_ReadPortPin( I2C_Pin_SDA )
#define SCL_out       GPIOB_ModeCfg(I2C_Pin_SCL, GPIO_ModeOut_PP_5mA)
#define SCL_in        GPIOB_ModeCfg(I2C_Pin_SCL, GPIO_ModeIN_PU)
#define SDA_out       GPIOB_ModeCfg(I2C_Pin_SDA, GPIO_ModeOut_PP_5mA)
#define SDA_in        GPIOB_ModeCfg(I2C_Pin_SDA, GPIO_ModeIN_PU)

②初始化IIC

③开始信号

 ④停止信号

(SCL在高电平期间SDA只能为稳定状态,一旦有电平变化就会被判定为停止或开始信号)

⑤等待应答信号

⑥产生应答信号

⑦不产生应答信号(同上只是SDA一直为高即在第9个CLK持续为高,产生ACK这持续为低)

⑧发送一个字节 同上差不多第52讲 I2C通信实验-M3_哔哩哔哩_bilibili

⑨接收一个字节

(87条消息) IIC原理超详细讲解---值得一看_Z小旋的博客-CSDN博客

(87条消息) STM32驱动AHT10&OLED显示温湿度_stm32获取aht10_优信电子的博客-CSDN博客

(87条消息) IIC协议的软件模拟实现程序_iic程序_我很强大。的博客-CSDN博客

第52讲 I2C通信实验-M3_哔哩哔哩_bilibili

2:协议例程

IIC读取AHT10

① AH10初始化

 ② 检查AHT10是否存在

③ AHT10软复位

④ 触发测量

 ⑤ 读取数据

⑥ 数据处理 

 现象:(93条消息) CH573F-AHT10_kedvellek的博客-CSDN博客

二、图解SPI 

 1:四种模式

 2:例子

STM32通信模拟SPI_韦东山的博客-CSDN博客

spi 单线、双线、四线区别_spi四线模式_ljzcom的博客-CSDN博客

qspi和ospi

三、UART

uart接口的时序分析_uart时序_hututu_404的博客-CSDN博客

下面这篇博文很好的讲解了串口接收中断函数的理解

(1条消息) 学习笔记——stm32串口中断函数的逻辑理解_轻染QAQ的博客-CSDN博客解读STM32串口发送的两个标志位 "USART_FLAG_TXE" & "USART_FLAG_TC"_「已注销」的博客-CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值