STM32 串口通信OLED屏幕显示(IIC)心得体会(精华)

本文详细介绍了IIC通讯机制,包括主机与从机之间的数据交互流程,例如数据写入时的应答信号机制及数据读取时的应答信号作用。同时,文章还涉及了单片机与PC间的串口通讯过程,包括中断标志位的处理方式和数据收发的具体实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主机:单片机
从机:oled

当主机向从机写入数据时,从机需要向主机返回应答信号 每写入一个字节,则需等待应答信号:在scl和sda都为高时
当主机向从机中读取数据时,主机需要向从机给应答信号 此时,给应答信号,则表示还需要读取数据;如果给非应答信号,则表示不再读取数据

IIC模式
SDA PA1 //D1
SCL PA2 //D0
DC PA3 //地址选择 0 地址为0x78 1 地址为0x7A
RES PA4 //复位引脚
CS PA5 //默认接地

电阻R3换到R1
R8短接

16(8x16)号字体 一个字符纵向占两个字节 横向占一个字节
12(6x8)号字体 一个字符纵向占1个字节 横向占6bit

主机:PC
从机:单片机
function:串口通讯

RXNE(读数据寄存器非空) 表示已经接收到数据了
TC 表示数据发送完成
以上都可以通过读写DR直接清除中断标志位

USART_GetFlagStatus() //判断寄存器状态 是否非空/是否发送完成
USART_GetITStatus() //判断中断的产生 是否产生了。。。中断

pc向单片机发送的数据以0x0d,0x0a结尾 一次传输一个字节
如传输1234 则为4个字节 如果接收的数组buf[4]的话 则buf[0] = 1 buf[1] = 2
一个汉字占两个字节 有可能识别不出来

接收是一个字节一个字节的接收 内容从左往右依次接收 此时如果数组地址是不断增加的
发送也是一个字节一个字节的发送 发送时地址也要不断增加

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值