前言

学习stm32 IIC接口的使用,用IIC 接口实现与IIC设备的通信功能。

示例详解

基于硬件平台: STM32F103C8T6最小系统板, MCU 的型号是 STM32F103c8t6, 使用stm32cubemx 工具自动产生的配置工程,使用KEIL5编译代码。

本示例所用的最小系统板原理图:

  1. 关于CUBEMX工具及KEIL工具的操作将不再细讲,如果还有不熟悉的可以查看之前的教程文档。下面直接介绍工程配置:
  1. 系统时钟树

  1. IIC接口配置

  1. 引脚配置(如上图右侧所示,保持默认即可)
  1. 中断配置(保持默认即可)

  1. 工程代码

    1. 在main.c 中加入如下图所示代码:

代码的功能是每隔50ms 往地址为0x54地址发送10个字节数据,但是IIC总线要求每个字节通信都要有应答或非应答信号,我们的总线上没有挂设备,且地址0X54也是随意写的,这样每次就是只能发送一个字节然后失败停止发送,通信波形如下图所示。

为了保让 stm32 IIC接口能顺利启动,推荐在i2c.c文件中加入如下代码:

为了能正常演示STM32 iic 接口功能,在IIC接口上接上 mpu6050 传感器,并在main.c 中加入如下代码:

运行程序,可以看到程序可以正常读取到MPU6050中的相关数据!

  1. 到此,操作IIC接口功能实验就完成了,下在给出一个成功的IIC通信数据波形!!

OK,本期实验完成!下期见!同时如果大家有什么疑问或是有想了解的其它内容,也欢迎大家留言!!最后喜欢这个公众号的同学们记得加关注了,每天都会有技术干货推出!!

文中资料下载,在公众号里给十三发消息:

下载|STM32基础系列教程14

关注十三公众号

STM32 基础系列教程 14 - IIC相关推荐

  1. STM32 基础系列教程 50 – MbedTls

    前言 mbed TLS(以前称为PolarSSL)是TLS和SSL协议的实现,并且需要相应的加密算法和支持代码.这是双重许可与Apache许可证 2.0版(与GPLv2许可也可).网站上指出,mbed ...

  2. STM32 基础系列教程 49 – Jansson

    前言 JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式.它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全 ...

  3. STM32 基础系列教程 48 – CJSON

    前言 JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式.它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全 ...

  4. STM32 基础系列教程 47 - MD5

    前言 MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信 ...

  5. STM32 基础系列教程 46 – RNG

    前言 随机数发生器(RNG)是一个以连续模拟噪声为基础的随机数发生器,在主机读数时提供一个 32 位的随机数.STM32F407自带RNG ,本节将给大演示STM32F4系列MCU中的RNG的使用.用 ...

  6. STM32 基础系列教程 45 - FSMC_LCD_Touch

    前言 上一节我们完成了用 STM32F4的 FSMC接口来控制 TFTLCD的显示的操作,其实正点原子的探索者F4开发板带的屏幕支持触摸操作,笔者用的是4.3寸的电容触摸屏,本节我们继续实验,来完成基 ...

  7. STM32 基础系列教程 44 - FSMC_LCD

    前言 TFT-LCD 即薄膜晶体管液晶显示器.其英文全称为: Thin Film Transistor-Liquid Crystal Display. TFT-LCD 与无源 TN-LCD. STN- ...

  8. STM32 基础系列教程 43 – SRAM

    前言 STM32F407ZGT6 自带了 192K 字节的 SRAM,对一般应用来说,已经足够了,不过在一些对内存要求高的场合, 比如跑算法或者跑 GUI 等,自带的这些内存就不够用了.比如跑算法或者 ...

  9. STM32 基础系列教程 42 - SDMMC+Fatfs

    前言 本节我们将基于42讲 "STM32 基础系列教程 41 - SDMMC" 的基础来实现基于SD卡文件系统的文件操作. 示例详解 基于硬件平台: 正点源子的stm32f4 探索 ...

最新文章

  1. r240显卡 linux,NV发布260.19.36正式版Linux驱动 270系列将至
  2. 望城区构建摩托车电动车防盗系统 打造物联网平安智慧城市
  3. 画架构图的软件_程序员为什么要学会画技术架构图?
  4. JavaFX FXML场景编辑器使用示例
  5. Python 数据分析三剑客之 Matplotlib(七):饼状图的绘制
  6. python中_str_使用方法
  7. 解决apache的the requested operation has failed
  8. IEEE 解除华为限制;AWS、谷歌云大规模故障;TypeScript 3.5 发布 | 极客头条
  9. 实数域上的压缩映射不动点原理
  10. C语言商品超市管理系统课程设计,C语言课程设计超市信息管理系统.doc
  11. 类型转化异常 Java Object转 int
  12. 正则表达式去除空格、符号,只保留中文、英文、数字
  13. 面向对象使用python-docx模块制作格式化文本(奖状生成器)
  14. 2017“硅谷技划”日记之五:从组织者眼光看Google IO大会
  15. wps教程 如何恢复文档
  16. 如何简单有效的管理企业数据安全
  17. python魔方方法
  18. 计算机没有机械硬盘了,到底有没有必要给笔记本加机械硬盘
  19. HADOOP KMS使用介绍及性能测试
  20. 无名namespace

热门文章

  1. 「网络流24题」 12. 软件补丁问题
  2. 用JQ去实现一个轮播效果
  3. jquery实现页面加载时删除特定class 的div内前三个字符
  4. 一种新的Heap区溢出技术分析[转贴]
  5. .net Csharpt C# UDP 异步发送信息 代码实例
  6. 安装Fedora 15后需做的25件事情
  7. UA PHYS515A 电磁理论V 电磁波与辐射5 电磁波在介质中的传播
  8. Spring Boot CLI 入门项目
  9. C语言回调函数Demo - Win32版
  10. Python文件操作学习总结