基于距离传感器的I2C通信(一)

2023-05-16

基于距离传感器的I2C通信(一)

  • 一、软硬件准备
    • (一)硬件
    • (二)软件
      • ST-Link驱动的下载安装
  • 二、keil软件的配置
    • (一)初始配置
    • (二)程序下载及调试
  • 三、器件的初步了解
  • 四、接线方法

基于stm32F103C8T6,以VL6180X为例实现I2C通信。
用到stm32cubemx+keil
本文主要讲解软件的配置与硬件的连接方法,代码部分位于文章——基于距离传感器的I2C通信(二)。

一、软硬件准备

(一)硬件

距离传感器和核心板的排针tb商家已经给焊好了
在这里插入图片描述

(二)软件

ST-Link驱动的下载安装

在ST官网下载,链接: link.
如果没有账号需要先注册才能下载。
在这里插入图片描述
之后解压,64位的计算机双击amd64的exe文件,一直下一步即可。在这里插入图片描述
安装完成后在笔记本上插入购买的ST-LINK,打开控制面板中的设备管理器,如果能够显示ST-LINK则安装成功。在这里插入图片描述

二、keil软件的配置

(一)初始配置

keil打开代码,选择调试方式为ST-LINK,之后点击右边的settings,port选择SW,点确定。在这里插入图片描述在这里插入图片描述
之后勾选上reset and run,表示下载程序后会自动重置并且运行下载好的程序。不勾选的话则需要手动按下板子上的reset才能运行烧录的程序。
在这里插入图片描述

(二)程序下载及调试

插入硬件后点击编译旁边的download即可以下载。
如果存在下载不成功的问题,请参考链接: link.

my work:
(1)在用cubemx把管脚c13配置成输出(参考tb提供的核心板资料,可以找到绿灯对应的管脚为c13。注意到红灯对应vss_2(GND),我们无法配置其管脚),生成一个新的程序后,直接下载程序,绿灯灭。加入HAL_GPIO_TogglePin函数和延迟函数后绿灯闪烁。
(2)过程中出现了下载不成功的现象,更改boots无效,长按板子上的reset时在settings中发现有设备,但是松开后便显示没有。之后通过上方链接的4解决此问题。

三、器件的初步了解

(1)ST-LINK用于软件的下载
(2)USB转TTL用于将电脑的信号转换为stm32的信号类型,连接电脑与stm32,实现两者之间信号的传输。其上的3.3、TXD、RXD、GND都要相应与stm32连接好。
(3)stm32核心板的最左边有一个可以接安卓充电线的口,可以用充电线连接板子和电脑,从而给核心板供电。
(4)关于距离传感器如何测距离——传感器的一侧平滑,一侧有各种小器件,它测量的是物体到有小器件一侧的距离。
另外一些资料tb商家会提供,ST官网会提供数据手册,网络上一般也会有传感器的驱动代码。

四、接线方法

(1)将核心板的四个插脚用杜邦线分别和ST-Link的相应管脚连接起来,之后将ST-Link插入电脑接口,红灯(系统灯,上电即亮)亮起,绿灯(此灯可供用户进行编程,初始状态为闪烁)闪烁。
在这里插入图片描述
(2)传感器有四个管脚需要接。vin连核心板的3.3,GND连G,SCL连A12,SDA连A11。(11,12是任选的两个IO口,由于核心板没有相应的i2c通信设备,要用IO口模拟IIC,可参考链接: link.)
(emm实际上传感器其他管脚的功能我没有搞懂,不一定是只接四个管脚)
(3)USB转TTL的TXD,RXD分别接A10,A9。因为查手册或者在cubemx中的USART中可知,这两个管脚分别可以作为USART1_RX、USART1_TX(管脚复用)。
(4)注意在程序下载调试时可能受到连接了传感器或者其他杜邦线等原因出现bug,建议程序下载时只接ST-link和核心板,调试好后再接入传感器和USB转TTL。

下期——
主要讲解相应的配置与代码

项目设计系列
stm32中cubmx+keil+proteus+虚拟串口+串口助手的使用.
基于距离传感器的I2C通信(二).
完整的代码及相关资料.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于距离传感器的I2C通信(一) 的相关文章

  • VNC连接远程主机中docker容器的桌面-转载

    启用新终端 xff0c 讲远程主机映射到本地主机 xff1a ssh L 5901 172 17 0 2 5901 zhl 64 192 168 2 104 进入容器 xff1a docker span class hljs built i
  • chatgpt-4生成代码,看这一篇就够了

    chatgpt 4生成代码 xff0c 看这一篇就够了 cursor示例pythondbscan 聚类voronoi 图像分割手写数字识别圆柱绕流 matlab表白程序常微分方程常微分方程组2048小游戏 C C 43 43 正则表达式匹配
  • 深度学习基础之归一化

    文章目录 一 归一化的含义二 归一化的作用三 归一化的类型1 线性归一化2 零 均值规范化 xff08 z score标准化3 小数定标规范化4 非线性归一化 四 归一化理解1 归一化能提高求解最优解速度2 3D 图解未归一化 五 局部响应
  • 文心一言 内测体验

    文心一言 申请内测弱智吧经典问题陨石为什么每次都能精准砸到陨石坑 xff1f 我想配个6000多的电脑 xff0c 大概要多少钱 xff1f 为什么我爸妈结婚的时候没邀请我参加婚礼 xff1f 我买了一斤藕 xff0c 为什么半斤都是空的
  • 基于chatgpt4生成修改OpenFOAM CFD参数的脚本

    基于chatgpt 4生成代码 xff0c 看这一篇就够了 保密需求部分程序数据脱敏处理 shell脚本 自动改参数 改进版 xff0c 可以自动搜索对应参数进行修改 代码主体由chatgpt 4 cursor软件生成 xff0c 本人稍作
  • OpenFOAM的vtk流场文件的Python后处理脚本-以统计轴向固含率为例

    实现了用python处理OpenFOAM生成的vtk流场文件的脚本 1 流场生成vtk文件 xff0c reconstructPar xff0c foamToVTK ascii 结果放在 VTK文件夹下 2 运行后处理脚本 xff0c 目前
  • Kalibr使用

    1 imu标定 xff08 这个没有具体做 xff09 xff08 我的理解是 将imu utils code utils和Kalibr放在一个kalibr ws下 xff09 imu utils下载地址为 xff1a https gith
  • ROS安装——rosdep init、rosdep update失败解决方案

    综述 按照ROS官方论坛的步骤 xff0c 安装ROS的最后几个步骤是 sudo rosdep init rosdep update 但是偶尔因为网络问题出现失败的问题 xff0c 本文记录本人在安装ROS过程中的解决方法 sudo ros
  • AC源码

    字符串算法 一级目录 一级目录 下面展示一些 内联代码片 关于aoti函数的实现 xff1a 1 xff1a 空白符 2 xff1a 正号和负号 3 xff1a 关于进制 xff1a 4 xff1a 溢出的问题 xff1b 用到库函数 xf
  • FreeRtos使用注意(基础知识)

    关于中断 NVIC PriorityGroupConfig NVIC PriorityGroup 4 中断优先级设置为0 15级抢占优先级 xff0c 0子优先级 这个也是官方强烈建议的 其中中断优先级0 15级 xff0c 0的优先级是最
  • 【点云数据集】

    点云数据集汇总整理 1 点云分类和分割 1 1 ModelNet40 xff08 点云分类 xff09 普林斯顿 ModelNet 项目的目标是为计算机视觉 计算机图形学 机器人学和认知科学领域的研究人员提供全面 干净的对象 3D CAD
  • ROS下UWB串口数据读取,并以话题的形式发布

    ROS串口读取UWB定位数据 xff0c 以话题的形式发布 include span class token operator lt span ros span class token operator span ros span clas
  • ubuntu环境下启动rosrun rqt_tf_treerqt_tf_tree出现错误的问题

    ubuntu下安装anconda3后启动rqt tf tree会报错 xff0c 信息为 xff1a 原因是安装rospy使用的是python2 但是anconda会把系统的python设置成python3 做法是在不改变anconda安装
  • 上层应用开发是否真的没有底层开发有前途?

    首先明确什么是底层开发 xff0c 这个界限很难划分 xff0c 有人说搞音视频底层编解码就是底层了 xff0c 但是我们看来不是这样 xff0c 下面还有rom中音视频模块 xff0c 再下面还有driver xff0c 最后到物理硬件
  • python http的请求和响应

    span class token triple quoted string string 34 34 34 http请求 请求行和空行是必须要有的 xff0c 请求体和请求头可以没有 请求格式 xff1a 请求行 xff0c 请求头 xff
  • ROS学习篇第(六)篇:通信

    目录 串口通信 ros serial 包的使用ROS分布式多机通信 ssh的使用 xff11 目的2 关于SSR3 实现4 问题 串口通信 ros serial 包的使用 下载 span class token function sudo
  • 小觅双目立体避障模组新品发布,发力AGV物流领域

    2019年9月17日 xff0c 第二十一届中国国际工业博览会 xff0c 在上海国家会展中心正式拉开帷幕 以 立体视觉技术提供商 身份参展本届工博会的MYNTAI小觅智能在展会现场发布了旗下首款针对AGV量身定制的小觅双目立体避障模组 2
  • 小觅双目摄像头深度高精版发布,精度可达毫米级

    今天 xff0c 第二十一届中国国际工业博览会 xff0c 在上海国家会展中心正式拉开帷幕 以 立体视觉技术提供商 身份参展本届工博会的MYNTAI小觅智能 xff0c 携其小觅深度摄像头旗下深度系列新品小觅双目摄像头深度高精版惊喜亮相 自
  • AGV搬运机器人「眼睛」的未来:3D视觉导航方案

    搬运机器人是可以进行自动化搬运作业的工业机器人 xff0c 也就是人们常提到的AGV 自动引导车 中的一个主流大类 随着工厂自动化 计算机集成制造系统技术逐步发展 xff0c 以及柔性制造系统 自动化立体仓库的广泛应用 xff0c AGV搬
  • 小觅双目摄像头标准版视觉惯性 SLAM DEMO

    说到 vins xff0c 就很难不让人想起另一个通过视觉与 imu 融合的经典 OKVIS 它是由 Stefan Leutenegge 等人提出的基于双目 43 惯导的视觉里程计 xff0c 属于 VIO Visual Inertial

随机推荐

  • 小觅智能 | OKVIS 学习笔记

    上一期的视觉里程计 xff0c 让我们想到了 OKVIS xff0c 知乎上的讨论也比较少 xff0c 小觅智能来分享一下 OKVIS 基本介绍 它是由 Stefan Leutenegge 等人提出的基于双目 43 惯导的视觉里程计 xff
  • 小觅双目摄像头标准彩色版发布 为移动机器人视觉导航避障优化设计

    2019年1月15日 xff0c 小觅智能发布了其双目深度相机系列旗下全新产品小觅双目摄像头标准彩色版 xff08 简称标准彩色版 xff0c 下同 xff09 小觅双目摄像头 标准彩色版 xff08 MYNT EYE S Color xf
  • Vins-Fusion 学习笔记

    VINS Fusion 基本介绍 VINS Fusion 是继 VINS Mono 和 VINS Mobile xff08 单目视觉惯导 SLAM 方案 xff09 后 xff0c 香港科技大学沈劭劼老师开源的双目视觉惯导 SLAM 方案
  • 我是如何通过阿里面试的?

    笔者参加18年阿里春招 xff0c 有幸最终拿到阿里offer xff0c base杭州 xff0c 岗位客户端开发 一直忙于其他事情 xff0c 拿到意向已经过去十多天 xff0c 在此分享一些关于面试的干货 xff0c 攒一波RP xf
  • 运行msckf_vio

    MSCKF vio是一种基于多状态约束卡尔曼滤波器的双目视觉里程计 其中多状态约束是指将多帧图像的相机位姿加入卡尔曼状态向量中 xff0c 在进行卡尔曼增益之前通过多帧图像之间的约束进行最小二乘优化来估计特征点的空间位置 xff0c 然后根
  • 建图 | SVO 论文与代码分析分讲

    建图 xff08 深度滤波器 xff09 VO 把像素的深度误差模型看做概率分布 xff0c 使用 高斯 均匀混合分布的逆深度 xff08 深度值服从高斯分布 xff0c 局外点的概率服从 Beta 分布 xff09 xff0c 称为 深度
  • 机房黑科技:京东数科机房巡检机器人

    6月11日 xff0c 第五届CES Asia亚洲消费电子展在上海正式开幕 京东数字科技携旗下多款机器人产品参展 xff0c 并正式发布了多款全新的智能机器人 其中 xff0c 室内运送机器人可以自主乘坐电梯 xff0c 并能自动导航 避障
  • AI深度 | 3D人脸识别和双目结构光惯导

    文 纽豪斯 发布 AI智道 一文看尽双目摄像 结构光 ToF和激光雷达技术 xff1b 一文深入了解小觅智能 奥比中光 华捷艾米 的卢深视 Pico和镭神智能 xff1b AI赋能2大趋势 4大核心技术 前言 纽豪斯刚刚完成 AI深度 xf
  • 经典笔试题——单向链表的倒序

    题目 xff1a 有一个单向链表 xff0c 将链表倒序 解决方案 xff1a 单向链表的特点 xff1a 链表节点只能从前往后遍历 xff08 不能从后往前遍历 xff09 xff0c 那么在遍历链表时 xff0c 必须从前往后处理这些数
  • 【CAN】手把手教你学习CAN总线(一)

    CAN总线 一 CAN总线概念二 CAN的差分信号三 CAN总线的通信协议1 帧起始2 仲裁段3 控制段4 数据段5 CRC段6 ACK段7 帧结束 四 CAN的位时序1 同步段 xff08 SS xff09 2 传播时间段 xff08 P
  • 【FreeRTOS(一)】FreeRTOS新手入门——初识FreeRTOS

    初识FreeRTOS 一 实时操作系统概述1 概念2 RTOS的必要性3 RTOS与裸机的区别4 FreeRTOS的特点二 FreeRTOS的架构三 FreeRTOS的代码架构 一 实时操作系统概述 1 概念 RTOS xff1a 根据各个
  • 使用结构体方式访问寄存器的原理

    朱老师单片机课程学习记录 3 6 5 使用结构体方式访问寄存器的原理 1 C语言访问寄存器的本质是C语言访问内存 xff0c 本质思路是 xff1a 定义一个指针 xff08 临时变量 xff09 指向这块内存 xff0c 然后 p 61
  • 不需外接硬件,测试自制的串口调试助手

    这里写目录标题 0 写在前面1 下载并安装vspd虚拟串口和串口调试助手1 1 vspd虚拟串口安装1 2 串口调试助手 2 用vspd创建两个虚拟端口3 进行串口调试助手和自己做的串口调试助手的通信3 1 统一参数3 2 助手2发送数据3
  • GeographicLib::LocalCartesian::Reset(double, double, double)报错:未声明的引用 解决方法

    最近使用到了robot localization的机器人定位功能包 xff0c 想使用其中的EKF功能 xff0c 但是在编译时遇到了GeographicLib LocalCartesian Reset double double doub
  • vins运行报错提示[vins_estimator-3] process has died,exit code -11的解决方法

    运行环境为Ubuntu16 04 ceres1 14 0 opencv 3 3 1 eigen 3 3 3 xff0c ros kinetic 在运行vinsmono过程中 xff0c 启动了vins estimator与rviz的laun
  • realsense D435i 模块在Ubintu16.04虚拟机与Windows下的安装方法

    首先在Windows环境下 xff0c 测试设备是否可以正常工作 xff0c 只需下载 Intel官方给出的应用程序 Intel RealSense Viewer exe 即可 xff0c 地址为 https www intelrealse
  • STM32+LWIP服务器实现多客户端连接

    用过正点原子LWIP服务器例程开发的朋友可能知道 xff0c 例程的设计是只支持一个客户端连接的 xff0c 但实际应用中往往需要用到多客户端连接 下面是在正点原子扩展例程 网络实验14 NETCONN TCP 服务器 UCOSIII版本
  • px4 offboard例程

    cd src Firmware make px4 sitl default gazebo roslaunch mavros px4 launch fcu url 61 34 udp 14540 64 127 0 0 1 14557 34 r
  • 关于python使用playsound播放音频报错的原因分析

    程序代码 span class token keyword from span playsound span class token keyword import span playsound playsound span class to
  • 基于距离传感器的I2C通信(一)

    基于距离传感器的I2C通信 xff08 一 xff09 一 软硬件准备 xff08 一 xff09 硬件 xff08 二 xff09 软件ST Link驱动的下载安装 二 keil软件的配置 xff08 一 xff09 初始配置 xff08