用STM32的IIC引脚去读JY901陀螺仪和磁力计的数据

发布者:TranquilWhisper最新更新时间:2025-01-24 来源: jianshu关键字:STM32  IIC  陀螺仪  磁力计 手机看文章 扫描二维码
随时随地手机看文章

## 1 准备工作

1) 硬件设备:JY901模块、USB-TTL、杜邦线、STM32F103C8T6单片机。给大家看下图片


2)软件准备 : KEIL 5 (5.17版本的) 链接:https://pan.baidu.com/share/init?surl=LQ4KnRPxm_a4Zk7PUZSELA 提取码:eq50.

## 2 接线方式

1、使用数据线将STM32F103C8T6与电脑连接通信

2、JY901与STM32F103C8T6使用杜邦线连接。

3、将JY901模块连接在STM32F103C8T6开发板。注意:SCL-SCL(第pb10管脚)、SDA-SDA(第Pb11管脚)GND-GND、VCC-5V,前面为JY901,后边是STM32F103C8T6板子上的管脚。连接如下图所示:


3 生成下载文件

1、在OUTUT勾选Creat HEX File


2、找到生成的HEX文件


## 4 下载程序

1、用数据线连接好STM32F103C8T6单片机和PC端。

2、按照“软件配置.png?imageView2/2/w/1000”图示设置好软件。

3、找到所需的hex文件。

4、按STM32F103C8T6单片机的红色的Bootloader 键

5、点击开始编程按钮,下载程序


## 5 输出结果显示

在电脑上正确连接好板子,首先打开串口调试助手,找到相应的端口,然后打开串口,注意这里波特率设置为115200,然后就可以观察到左边的窗口有数据输出了。如图所示:



关键字:STM32  IIC  陀螺仪  磁力计 引用地址:用STM32的IIC引脚去读JY901陀螺仪和磁力计的数据

上一篇:mac os系统 vscode + platformio+cmsis环境开发stm32
下一篇:【STM32学习记录】1、点亮LED

推荐阅读最新更新时间:2026-03-25 16:05

I2C、IIC通讯(填坑作,MPU6050数据读取,STM32主控,附源码)
上图的VCC 接 3.3V,GND接地,SCL和SDA分别接上单片机引脚,并加上上拉电阻,AD0接地。 代码链接:https://pan.baidu.com/s/1AvuMYvgX8Xy8g81S0Ay5Yg 提取码:sce0 初始化单片机引脚,并置1 程序里引脚的变化顺序还有延时的位置一定不要错。 IIC起始信号;SDA置零,等待,SCL置零 写入一次数据,IIC每次写入的数据长度都是8Bit,写入顺序是从最高位写到最低位。 SCL置0,SDA存放数据的最高位,数据左移1位,等待,SCL置1,数据起效,等待。 右移7位:1000 0000会变成0000 0001。(0X80 0X01) 左移1位:1101 000
[单片机]
STM32中的IIC通信协议详解
1.基本介绍 IIC(II(Inter-Integrated Circuit,I²C))是一种广泛使用的同步、半双工、串行通信协议,由飞利浦公司开发,主要特点是短距离,低速设备见得通信。支持多主多从架构,通过地址机制管理设备。 串行:双向数据串行发送,SDA 同步步:有共享的时钟信号,SCL 半双工:支持两台设备和多台设备之间的相互通讯,不支持同时收发数据 SDA:双向传输数据线 SCL:产生时序的时钟线 原理:IIC总线主要是通过数据线传输数据,由时钟线产生时钟(产生时钟主要是由主设备CPU产生方波信号),而从设备通过主设备产生的时钟信号进行时钟同步,保证主从设备之间能够进行稳定的数据传输。传输数据时开始,由时钟线和数据线同
[单片机]
<font color='red'>STM32</font>中的<font color='red'>IIC</font>通信协议详解
09_学会单片机STM32IIC通信
学会单片机STM32的IIC通信 开发过程中如何选择什么样的通讯接口 通讯接口如何使用 为何需要I2C 用途 12C只有两条线一条串行数据线:SDA,一条是时钟线SCL,使用SCL, SDA这两根信号线就实现了设备之间的数据交互,它方便了工程师的布线。因此,I2C总线被非常广泛地应用在EEPROM,实时钟,小型LCD等设备与CPU的接口中 速率 普通模式:100Kbps,快速模式:400Kbps,高速模式:3.4Mbps 原理图
[单片机]
09_学会单片机<font color='red'>STM32</font>的<font color='red'>IIC</font>通信
STM32 软件模拟 IIC 代码,标准库、HAL库可用
1 #ifndef _IIC_H 2 #define _IIC_H 3 4 #include stdio.h 5 #include stm32f1xx_hal.h 6 7 8 /* 定义控制 SDA SCL 的宏 标准库版 9 #define I2C_SDA_UP GPIO_SetBits (GPIOC,GPIO_PIN_8) //SDA高电平 10 #define I2C_SDA_LOW GPIO_ResetBits(GPIOC,GPIO_PIN_8) //SDA低电平 11 #define I2C_SCL_UP GPIO_SetBits (GPIOC,GPIO_PIN_9) //SC
[单片机]
STM32通过IIC读写EEPROM(24C02)
STM32作为主机I2C,读写24C02 EEPROM 1、 时钟和数据的传输:开始和停止条件,数据在SCL的高电平期间有效,在SCL的低电平期间改变。 2、 开始条件:在SCL高电平期间,SDA产生一个下降沿 3、 停止条件:在SCL高电平期间,SDA产生一个上升沿 4、 应答:成功接收到数据(地址和数据),产生一个应答位(在第9个时钟周期,将SDA拉低) 下面是源程序:原理上说,下面程序再移植时,只要将数据类型变化,可以应用到任何处理器 AT24c02.h #ifndef __24CXX_H #define __24CXX_H #include i2c.h /*********************************
[单片机]
使用C语言实现IIC驱动(基于STM32和HAL库做进一步封装)
一.简述 使用面向对象的编程思想封装IIC驱动,将IIC的属性和操作封装成一个库,在需要创建一个IIC设备时只需要实例化一个IIC对象即可,本文是基于STM32和HAL库做进一步封装的。 底层驱动方法不重要,封装的思想很重要。在完成对IIC驱动的封装之后借助继承特性实现AT24C64存储器的驱动开发,仍使用面向对象的思想封装AT24C64驱动。 二.IIC驱动面向对象封装 iic.h头文件主要是类模板的定义,具体如下: //定义IIC类 typedefstructIIC_Type { //属性 GPIO_TypeDef*GPIOx_SCL;//GPIO_SCL所属的GPIO组(如:GPIOA) GPIO_TypeDe
[单片机]
基于STM32和HAL库创建一个IIC设备
1 简述 使用面向对象的编程思想封装IIC驱动,将IIC的属性和操作封装成一个库,在需要创建一个IIC设备时只需要实例化一个IIC对象即可,本文是基于STM32和HAL库做进一步封装的。 底层驱动方法不重要,封装的思想很重要。在完成对IIC驱动的封装之后借助继承特性实现AT24C64存储器的驱动开发,仍使用面向对象的思想封装AT24C64驱动。 2 IIC驱动面向对象封装 iic.h头文件主要是类模板的定义,具体如下: //定义IIC类 typedef struct IIC_Type { //属性 GPIO_TypeDef *GPIOx_SCL; //GPIO_SCL所属的GPIO组(如:GPIOA)
[单片机]
STM32学习日志——IIC控制OLED
今天学习的是OLED显示实验,OLED,即有机发光二极管,自发光,不需要背光源,被认为是下一代的平面显示器新兴应用技术。 它有两个引脚,是用来控制通信方式:BS1和BS2。因为我学的是正点原子的开发板,他的OLED配件需要40元(有四种接口方式),而淘宝的IIC接口OLED的只需要9.9,于是我就买了便宜的,这就意味着要自己研究资料和敲代码。该OLED的控制芯片是SSD1306,IIC接口的只需要4根线:VCC,GND,SDA,SCL,非常节约资源。IIC通信上一次已经讲过,这次就不重复了。 这里先讲一下SSD1306写模式,1)首先是开始状态;2)发送从机地址:0x78|(W/R),写为0,读为1;3)等待回应;4)发送控制
[单片机]
<font color='red'>STM32</font>学习日志——<font color='red'>IIC</font>控制OLED
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved