stm32 2.0.1

对I/O口电压的读取

UART介绍

发送端高电位说明串口是空闲状态,当变为低电位的时候开始发送数据,在最后停止位会把电压拉高,一般采用1位的停止位

当数据位中包含奇数个1的时候校验位就写的是1,偶数个就写0

波特率:

串口设置

在这里可以调整GPIO的设置

UART中参数解释

Basic Parments 基本参数

Baud Rate 波特率

World Length 用来设置数据位的长度:8 bits | 9 bits

Party 校验方式:None 不校验 | Even 偶校验 | Odd 奇校验

Stop Bits 停止位长度:1表示一位停止位 | 2表示两位停止位

Advanced Parments 高级参数

Data Direction 数据传输方向:Transmit-Only 只发送 | Receive-Only 只接受 | Receive and Transmit收发双向(一般选择收发双向)

使用串口调试助手的时候也需要相应的设置

在main.c文件的顶部会找到一个文件的句柄

时间一般填写HAL_MAX_DELAY

接受数据

点灯小程序

I2C

SCL是时钟线:频率越快,传输信号的速度越快

不管是主机还是从机的SCL和SDA都需要外接上拉电阻,这是为了实现逻辑线与

开漏输出置1输出高阻抗,整条总线的电平为1

当有一个从机为0时,这时的高电平已经失去作用,整条总线电平为0

通信过程:

将地址换算成二进制数据之后去掉最后一位,之后主机释放SDA线等待从机应答,从机通过把SDA拉低来释放一个应答信号(ACK)

从机发送ACK来告诉主机寻址成功

勘误:2->没来得及

写数据时从机拉低SDA释放ACK信号

读数据时主机拉低SDA释放ACK信号


stm32F103C8T6只支持前两种

一般选择1/2

设置

I2C支持两种模式

上面表示标准的I2C接口

后面的两种表示SMBus->系统管理总线

stm32作为主机时设置上面,作为从机设置下面

点亮oled时可以使用快速模式


这个上拉电阻还得自己加啊

确定从机地址

0x00 命令流

0x8d, 0x14 使能电荷泵

0xaf 打开屏幕的开关

0xa5 让屏幕全亮


时钟系统:







相关推荐
振南的单片机世界1 小时前
推挽vs开漏:一个“强拉硬灌”,一个“只拉不管”
arm开发·stm32·单片机·嵌入式硬件
小心亦新1 小时前
STM32学习23--I2C-1
stm32·嵌入式硬件·学习
嵌入式阿蔡2 小时前
STM32时钟树详解:配错一个全乱套
c语言·stm32·单片机·嵌入式硬件
lsz1525905 小时前
嵌入式开发第一步:STM32 F1系列功能介绍与快速上手
stm32·单片机·嵌入式硬件·嵌入式开发·可扩展模块
智闲电子设计19 小时前
STM32 独立看门狗 IWDG 实战:系统跑飞,它来兜底复位
stm32·单片机·嵌入式硬件
zcmodeltech20 小时前
智能制造教学实训沙盘模型多系统协同控制系统设计:基于STM32与Modbus RTU的工业机器人-智慧工厂-数字孪生全场景联动方案
数据库·stm32·嵌入式硬件·机器人·制造·多分类
嵌入式阿蔡1 天前
HAL库 vs LL库 vs 寄存器:到底用哪个?
c语言·stm32·单片机·嵌入式硬件·嵌入式实时数据库
嵌入式阿蔡1 天前
CAN总线入门:从协议帧到STM32实战
c语言·stm32·单片机·嵌入式硬件·嵌入式实时数据库
离凌寒1 天前
一、对stm32mp157配置freertos后,任务挂掉无法启动问题总结
stm32·单片机·嵌入式硬件
LCG元1 天前
STM32 USB HID 自定义免驱设备开发:从报告描述符到上位机 64 字节收发实战
stm32·单片机·嵌入式硬件