STM32应用详解(11)I2C驱动程序

news/2024/11/1 15:39:04/

文章目录

  • 前言
  • 一、I2C驱动程序的编写
    • 1.I2C发送一个字节的函数
    • 2.I2C发送一串字节的函数
    • 3.I2C接收一个字节的函数
    • 4.I2C接收一串字节的函数


前言

使用STM32F103固件函数库函数,介绍I2C驱动程序的编写,包括:I2C发送一个字节的函数、I2C发送一串字节的函数、I2C接收一个字节的函数、和I2C接收一串字节的函数。详解这些函数的编写方法。


一、I2C驱动程序的编写

1.I2C发送一个字节的函数

《i2c.c》文件,由用户编写。三个参数:(1)发送器件地址,i2c总线上每一个器件都有自己的器件地址;(2)器件内部的子地址,向这个器件内部的哪个寄存器地址写入数据;(3)要向器件子地址写入的数据。
在这里插入图片描述

从这个函数的参数可以看出,I2C接口不但能够通过地址选择外部I2C器件,还能够通过子地址选择I2C器件内部的寄存器,并向所选择的寄存器写入数据,可见,I2C接口适合单片机对外部I2C器件进行寄存器配置。

2.I2C发送一串字节的函数

《i2c.c》文件,由用户编写。增加了一个参数:(4)发送的数据长度。

在这里插入图片描述

3.I2C接收一个字节的函数

《i2c.c》文件,由用户编写。两个参数:(1)发送器件地址,i2c总线上每一个器件都有自己的器件地址;(2)器件内部的子地址,读取这个器件内部的哪个寄存器地址的数据。
在这里插入图片描述

4.I2C接收一串字节的函数

在这里插入图片描述



http://www.ppmy.cn/news/1543617.html

相关文章

CoTAM——思维属性操纵链,一种利用大规模语言模型的新的高效快速学习方法

概述 近年来,大规模语言模型已显示出惊人的能力,可以从少量样本中学习。然而,这种能力需要昂贵的大规模模型,其运行成本是一大挑战。此外,在推理过程中,需要对所有测试输入的上下文(包括演示&a…

Python+Appium+Pytest+Allure自动化测试框架-代码篇

文章目录 自动化测试框架工程目录示例测试代码示例结果查看allurepytest编写pytest测试样例的规则pytest conftest.py向测试函数传参 appium启动appium服务代码端通过端口与appium服务通信对设备进行操作在pytest测试用例中调用appium 更多功能 PythonAppiumPytestAllure自动化…

pip install fitz -i https://pypi.doubanio.com/simple/

安装fitz包 pip install fitz -i https://pypi.doubanio.com/simple/ C:\Users\hlg>pip install fitz -i https://pypi.doubanio.com/simple/ Looking in indexes: https://pypi.doubanio.com/simple/ Collecting fitzDownloading https://mirrors.cloud.tencent.com/pypi/…

构建校园社团信息管理平台:Spring Boot技术详解

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…

智能EDA小白从0开始 —— DAY30 冉谱微RFIC-GPT

在科技日新月异的今天,电子设计自动化(EDA)行业正以前所未有的速度推动着半导体产业的革新与发展,引领着全球电子产业迈向更加智能化、高效化的未来。作为EDA领域的佼佼者,冉谱公司始终站在技术创新的前沿,…

使用 Elasticsearch 进行语义搜索

Elasticsearch 是一款功能强大的开源搜索引擎,可用于全文搜索、分析和数据可视化。传统上,Elasticsearch 以其执行基于关键字/词汇的搜索的能力而闻名,其中文档基于精确或部分关键字匹配进行匹配。然而,Elasticsearch 已经发展到支…

关于对象存储和云硬盘区别,你了解多少?

对象存储和云硬盘是两种不同的云存储解决方案。对象存储适合处理大规模非结构化数据,通过WebAPI接口访问,具有高扩展性和高可用性,适用于数据归档、备份和大数据分析等场景。云硬盘则提供块级存储,需要挂载到云服务器上使用&#…

【Redis优化——如何优雅的设计key,优化BigKey,Pipeline批处理Key】

Redis优化——如何优雅的设计key,优化BigKey,Pipeline批处理Key 一、Key的设计1. 命名规范2. 长度限制在44字节以内 二、BigKey优化1. 查找bigkey2. 删除BigKey3. 优化BigKey 三、Pipeline批处理Key1. 单节点的Pipeline2. 集群下的Pipeline 一、Key的设计…