STM32学习笔记
文章平均质量分 88
咸蛋烧茄子
在成为硬件工程师的路上
展开
-
STM32 I2C通讯协议的硬件配置
Tpclk1就是模块的时钟周期,由CR2设置的,当CR2设置成最高频率时,Tpclk1为 1/36 us,标准模式的时钟周期是10us,占空比为50%情况下,高电平应该是5us,也就是说,CCR配置成180时就完成了当前模块时钟下,标准模式I2C的时钟频率的设置。对于STOP位,也不是立马发送stop位,实际是一个配置项,延时生效,准备发送stop位。发送和接收使用一个数据寄存器,等发送寄存器为空时,再把当前数据写入数据寄存器。收发数据的标准模式只有100Kb/s,因此需要下方的CCR配置时钟。原创 2024-11-15 01:23:28 · 555 阅读 · 0 评论 -
STM32 I2C通讯协议
因为数据传输位 为读时是高电平,即发送方表达要对从从设备读时,就将总线SDA的所有权让了出去,这时还没有表明要读的寄存器的地址。而EEPROM中有一个地址计数器,每次读取默认从上一次读的位置。对于使用的芯片,一次最多只能写一页,也就是16个字节,如果超过16个,EEPROM会覆盖本页。开始传输时,第一件事是通过从设备的地址 SLAVE_ADDRESS 找从设备。LSB是传输方向位(从主机角度看),高电平向从机读,低电平向从设备写。假写的功能就是将地址计数器的存放的地址改成为指定的地址。的策略,如上图所示。原创 2024-11-04 03:09:03 · 365 阅读 · 0 评论 -
STM32F103xx学习笔记(2):串行与并行通讯——框架尚硅谷SEM32视频教程
使能位TE,RE,在16位寄存器BRR中配置,高12位为整数,低四位为小数。在UART的基础上拓展更多协议,衍生出RS-232,RS-485电气标准,其中RS-485使用差分传输,但是双线半双工,RS-422使用4线差分做到全双工。先从低位发送,起始位是0,停止位必须是1,默认是1,也就是空闲位。一般校验位和M位配合使用,数据位位9位时,配合打开校验位,使其中一为位校验位。设置波特率,14位整数,4位小数,寄存器值为0x271时,设置波特率为115200.串行:按位传输,一次传输一位。原创 2024-10-13 21:11:24 · 819 阅读 · 0 评论 -
STM32F103xx学习笔记(一)-系统架构,GPIO,时钟系统,中断系统。-基本框架尚硅谷SEM32视频教程
HAL是基于BSD许可协议的开源代码,可用作商业用途,一致性强。标准库中的CMSISI coterx microcontroller software interface standard,是跟供应商无关的硬件抽象层,这来源于ARM。STM32CubeMX提供了一个图形化的配置窗口(清晰的时钟树图形化,以及引脚复用功能的快速选择···),创建项目时可以生成配置文件。HAL库函数隐藏了底层寄存器操作,更易读,类似Arduino?原创 2024-10-03 15:53:52 · 697 阅读 · 0 评论
分享