草庐IT

firefly开发板RK3588非默认外设使能(串口uart、IIC、adc等)设备树修改详细步骤

sdk获取和内核编译,参考上一篇博文:rk3588内核裁剪一、相关文件文件1:rk3588_repo_sdk_v1.0.2a/kernel/arch/arm64/boot/dts/rockchip/rk3588-firefly-itx-3588j.dtsi此文件是针对firefly的板级设备树文件。文件2:rk3588_repo_sdk_v1.0.2a/kernel/arch/arm64/boot/dts/rockchip/rk3588s-pinctrl.dtsi此文件是关于io复用的设备树文件。文件3:rk3588_repo_sdk_v1.0.2a/kernel/include/dt-bin

STM32 驱动 GY-302 光照传感器 BH1750 模块(软件IIC与硬件IIC驱动)

1.特别说明​要是不想看原理和过程,直接下拉找代码吧,都是测试过的,很稳定,有硬件I2C驱动的,也有软件模拟I2C驱动的,基于STM32F103系列和STM32F4系列实现,基于标准库实现,条理清晰。2.软硬件硬件准备​(1)Kile5.27​(2)串口助手​(3)STM32F103与STM32F4系列单片机​(4)CH340串口转TTL工具​(5)BH1750-即-GY-302光照传感器3.了解驱动原理3.1.程序设计思路这是官方数据手册给的驱动说明,这是基于标准I2C设计的传感器,也就是说它支持标准全速400KHz速率通信(实测确实没问题);这个流程图大概说的是程序设计:​1.上电初始化​

STM32 驱动 GY-302 光照传感器 BH1750 模块(软件IIC与硬件IIC驱动)

1.特别说明​要是不想看原理和过程,直接下拉找代码吧,都是测试过的,很稳定,有硬件I2C驱动的,也有软件模拟I2C驱动的,基于STM32F103系列和STM32F4系列实现,基于标准库实现,条理清晰。2.软硬件硬件准备​(1)Kile5.27​(2)串口助手​(3)STM32F103与STM32F4系列单片机​(4)CH340串口转TTL工具​(5)BH1750-即-GY-302光照传感器3.了解驱动原理3.1.程序设计思路这是官方数据手册给的驱动说明,这是基于标准I2C设计的传感器,也就是说它支持标准全速400KHz速率通信(实测确实没问题);这个流程图大概说的是程序设计:​1.上电初始化​

模拟IIC——关于模拟IIC的IO口的配置选取推挽输出还是开漏输出,以及是否需要更改IO口输入输出模式和是否需要对IO配置上拉

在使用模拟IIC的时候,观看别人的程序的时候发现了程序之间的一些不一样的地方——————————————————————————————————代码1————————————————————————————————————//IO方向设置#defineSDA_IN(){GPIOB->MODER&=~(3MODER|=0MODER&=~(3MODER|=1代码1中间有一个对SDA数据线的模式的配置, 也就是输入输出的设置;在向从设备写数据的时候会先调用SDA_OUT(),将引脚配置为输出模式;在向从设备写数据的时候会先调用SDA_IN(),将引脚配置为输入模式;但是问题来了,代码2中间并没有对引

嵌入式学习笔记——IIC通信

IIC通信前言IIC概述通信特征物理拓扑结构IIC通信的流程IIC的特点:STM32的IIC通信GPIO模拟IICIIC的时序组成(主机对从机写入数据)1.起始信号2.器件地址与读写位3.从机应答信号5.传输的数据与结束信号IIC的时序组成(主机对从从机获取数据)1.数据接收2.主机发送应答信号IIC初始化代码总结M4系列目录写在后面的话前言本文接着之前的M4系列介绍,对另外一个十分常见的通信总线进行一个介绍,就是IIC总线。IIC概述通信特征首先,还是找个免费劳动力来做一个官方的介绍,下面这一段话非常全面的介绍了IIC的各个特征,用之前提到的通信特征来总结,IIC是一种串行,同步,半双工,板

ESP32 Arduino (八) IIc和SPI

IIC一、简介:ESP32有两个I2C控制器(也称为端口),负责处理两条I2C总线上的通信。每个I2C控制器都可以作为主机或从机运行。引脚21默认的SDA,引脚22是默认的SCLIIC需要引入自带库Wire.hWire继承steam类steam类有的他都有。#include"Wire.h"二、IIC相关函数(主机):1.初始化IIC(以主机身份):beginWire.begin();2.以主机身份像从机请求数据:requestFromvoidrequestFrom(uint16_taddress,uint8_tsize,boolsendStop)参数:address:从机地址size:请求字节

【IoT】嵌入式驱动开发:IIC子系统

IIC有三种接口实现方式三种时序对比:图1IIC子系统组成图2 图3IIC操作流程设备端1.i2c_get_adapter2.i2c_new_device(相当于register设备)3.I2c_put_adapter驱动端1.填充i2c_driver2.i2c_add_driver(相当于register驱动)3.在probe中建立访问方式client相关函数获得i2c_adapter结构体structi2c_adapter*i2c_get_adapter(intid)参数:第几个adapter(0-2)返回值:获得的i2c_adapter结构体指针创建并注册i2c_clientstruct

【IoT】嵌入式驱动开发:IIC子系统

IIC有三种接口实现方式三种时序对比:图1IIC子系统组成图2 图3IIC操作流程设备端1.i2c_get_adapter2.i2c_new_device(相当于register设备)3.I2c_put_adapter驱动端1.填充i2c_driver2.i2c_add_driver(相当于register驱动)3.在probe中建立访问方式client相关函数获得i2c_adapter结构体structi2c_adapter*i2c_get_adapter(intid)参数:第几个adapter(0-2)返回值:获得的i2c_adapter结构体指针创建并注册i2c_clientstruct

14 玩转STM32之IIC通信详解(软件模拟篇)看这篇就够了

14.1IIC协议详细说明IIC有模拟和芯片自带的两种方式。软件模拟方式具有引脚可以任意分配,软件修改灵活对PCB设计也有一定的优点,但是缺点也是非常明显的,因为采用的是软件进行会产生较长时间的延时,对于一些要求较高的场合并不适用,比如汽车电子方向、充电桩等这些就不适合用模拟电子还有就是一些医疗设备。因此建议在设计时优先芯片之中提供的IIC。这章我们先来说说软件模拟这部分,硬件IIC下一章节会讲。IIC(Inter-IntegratedCircuitBUS)集成电路总线,该总线NXP(原PHILIPS)公司设计,多用于主控制器和从器件间的一种主从数据交互通信,在小数据量场合使用,传输距离短。I

基于STM32F103C8T6的IIC通信协议及硬件通信和软件OLED温度显示项目

#一、IIC协议简介#二、IIC总线系统结构#三、IIC总线物理层特点#四、软/硬件IIC总线#五、IIC总线协议层#六、IIC通信结构##1.空闲状态##2.开始信号##3.停止信号##4.应答信号##5.数据的有效性##6.数据传输#七、STM32的IIC特性##1.软件模拟协议##2.硬件实现协议#八、STM32的IIC架构##1.通信引脚##2.时钟控制逻辑##3.数据控制逻辑#九、STM32的IIC的通信过程#十、STM32的IIC结构体#十一、OLED屏幕#十二、OLED接线#十三、OLED屏幕显存及其原理#十四、OLED屏幕常用指令#十五、OLED屏幕字模软件的使用#十六、IIC