[AG32VF407]国产MCU+FPGA 使用I2C测试陀螺仪MPU6050
视频讲解
[AG32VF407]国产MCU+FPGA 使用I2C测试陀螺仪MPU6050
实验过程
查看原理图中定义的I2C的管脚,PB0和PB1
在board.ve中定义的引脚功能
I2C0_SDA PIN_36
I2C0_SCL PIN_35
新建工程
测试代码
#include "board.h"#define MIN_IRQ_PRIORITY 1
#define MAX_IRQ_PRIORITY PLIC_MAX_PRIORITY
#define I2C_PRIORITY (MIN_IRQ_PRIORITY + 1)void I2cISR()
{I2C_ClearInt(I2C0);
}int main(void)
{board_init();plic_isr[I2C0_IRQn] = I2cISR;PERIPHERAL_ENABLE(I2C, 0);INT_EnableIRQ(I2C0_IRQn, I2C_PRIORITY);uint32_t frequency = 400e3;I2C_Init(I2C0, frequency);uint32_t pclk_freq = SYS_GetPclkFreq();uint16_t prescaler = I2C_GetPrescaler(I2C0);printf("I2C frequency: %d, prescaler: %d, apb clk frequency: %d\n", frequency, prescaler, pclk_freq);if (fabs((prescaler + 1) * 5.0 * frequency / pclk_freq - 1) > 0.01) {printf("I2C prescaler read mismatch, 0x%02x%02x, %d, %d\n", I2C0->PRERHI, I2C0->PRERLO, frequency, pclk_freq);return false;}I2C_Enable(I2C0);#define LSM6DSR_IIC_ADDR 0x68#define LSM6DSR_WHO_AM_I 0x75I2C_StartSend(I2C0, LSM6DSR_IIC_ADDR);I2C_SendData(I2C0, LSM6DSR_WHO_AM_I);I2C_StartReceive(I2C0, LSM6DSR_IIC_ADDR);I2C_WaitForTransfer(I2C0);uint8_t data;data = I2C_StopReceiveWait(I2C0);// data = I2C_ReceiveDataWait(I2C0);printf("who am i is %x", data);return 0;
}
串口调试终端输出,who am i 寄存器数据符合预期
通过逻辑分析仪抓取的I2C波形
相关文章:

[AG32VF407]国产MCU+FPGA 使用I2C测试陀螺仪MPU6050
视频讲解 [AG32VF407]国产MCUFPGA 使用I2C测试陀螺仪MPU6050 实验过程 查看原理图中定义的I2C的管脚,PB0和PB1 在board.ve中定义的引脚功能 I2C0_SDA PIN_36 I2C0_SCL PIN_35新建工程 测试代码 #include "board.h"#define MIN_IRQ_PRIORITY 1 #define …...
ES 可扩展、高可靠、使用场景等常见问题
ElasticSearch的常见问题 什么是ElasticSearch ElasticSearch是一款非常强大的、基于Lucene的开源搜索及分析引擎;它是一个实时的分布式搜索分析引擎,它能让你以前所未有的速度和规模,去探索你的数据。 它被用作全文检索、结构化搜索、分析…...
<网络安全>《4 网络安全产品之web应用防护系统》
1 基本概念 1.1 WAF Web应用防护系统(也称为:网站应用级入侵防御系统。英文:Web Application Firewall,简称:WAF)。一般作为网关设备,防护Web、Webmail服务器等。 1.2 本质 WAF的本质是Web应…...

如何解决Flutter应用程序的兼容性问题
随着移动应用开发领域的不断发展,Flutter作为一种跨平台框架,受到了越来越多开发者的青睐。要确保Flutter应用程序能够在不同的设备和操作系统上稳定运行,并提供一致的用户体验,我们需要重视应用程序的兼容性问题。下面将简单的介…...

详解Mockito
详解Mockito 1. Mockito简介 在我们的编程世界中,测试是一个非常重要的环节,它能帮助我们确保代码的质量和稳定性。而在众多的测试方法中,Mock测试是一种非常有效的手段。 1.1 什么是 Mock 测试 Mock测试,顾名思义,…...

【论文+App试玩+图像到视频】2311.Animate-anyone:上传1张图片为任何人制作动画(用于角色动画的一致且可控的图像到视频合成)(暂未开源)
项目主页:https://humanaigc.github.io/animate-anyone/ 论文: Animate Anyone: Consistent and Controllable Image-to-Video Synthesis for Character Animation 摩尔线程复现代码:https://github.com/MooreThreads/Moore-AnimateAnyone 摩尔windows一…...

【深度学习实验】TensorBoard使用教程【SCALARS、IMAGES、TIME SERIES】
文章目录 一、环境二、TensorBoard1. 使用TensorBoardXa. 安装TensorBoardXb. 使用示例 2. PyTorch内置的TensorBoard3. 启动TensorBoard服务 三、实战1. SCALARS(标量)找不同关卡1关卡2关卡3关卡4 Show data download linksIgnore outliers in chart sc…...

渗透测试(12)- WireShark 网络数据包分析
目录 1、WireShack 简介 2、WireShark 基本使用方法 3、 WireShack 抓包分析 3.1 Hypertext Transfer Protocol (应用层) 3.2 Transmission Control Protocol (传输层) 3.3 Internet Protocol Version 4(网络层) 3.4 Ethernet Il (链路层): 数据链路层以太网头部信息 …...

XSS_Labs靶场通关笔记
每一关的方法不唯一;可以结合源码进行分析后构造payload; 通关技巧(四步): 1.输入内容看源码变化; 2.找到内容插入点; 3.测试是否有过滤; 4.构造payload绕过 第一关 构造paylo…...
基于本地缓存制作一个分库分表的分布式ID生成器
引言: 代码在 https://gitee.com/lbmb/mb-live-app 中 【mb-live-id-generate-provider】 模块里面 如果喜欢 希望大家给给star 项目还在持续更新中。 背景介绍 项目整体架构是 基于springboot 3.0 开发 rpc 调用采用 dubbo 注册配置中心 使用 nacos 采用shardin…...
美易平台:金融市场的晴雨表与创新服务的融合
在金融市场中,利率的微妙变动往往预示着经济活动的脉动,而美国纽约联储发布的最新数据显示,上个交易日(1月25日)担保隔夜融资利率(SOFR)小幅上升至5.32%,而同期有效的联邦基金利率保…...

文旅项目包括什么?
文旅项目是指与文化和旅游相结合的项目,旨在通过提供丰富的文化体验和旅游服务来吸引游客,促进地方经济发展。 文旅项目通常包括多个方面,以下是对每块内容的详细介绍: 文化旅游景区:这类项目以展示人类文化和历史遗产…...
Pointnet++改进优化器系列:全网首发AdamW优化器 |即插即用,实现有效涨点
简介:1.该教程提供大量的首发改进的方式,降低上手难度,多种结构改进,助力寻找创新点!2.本篇文章对Pointnet++特征提取模块进行改进,加入AdamW优化器,提升性能。3.专栏持续更新,紧随最新的研究内容。 目录 1.理论介绍 2.修改步骤 2.1 步骤一 2.2 步骤二 2.3 步...

stm32 FOC 电机介绍
今年开始学习foc控制无刷电机,这几天把所学整理一下,记录一下知识内容。 前言: 为什么要学习FOC? 1.电机控制是自动化控制领域重要一环。 2.目前直流无刷电机应用越来越广泛,如无人机、机械臂、云台、仿生机器人等等。 需要什么基础&…...

【Linux】进程通信——管道
欢迎来到Cefler的博客😁 🕌博客主页:折纸花满衣 🏠个人专栏:题目解析 🌎推荐文章:【LeetCode】winter vacation training 目录 📋进程通信的目的📋管道匿名管道pipe函数创…...

3d gaussian splatting笔记(paper部分翻译)
本文为3DGS paper的部分翻译。 基于点的𝛼混合和 NeRF 风格的体积渲染本质上共享相同的图像形成模型。 具体来说,颜色 𝐶 由沿射线的体积渲染给出: 其中密度 𝜎、透射率 𝑇 和颜色 c 的样本是沿着射线以…...

TCP 三次握手以及滑动窗口
TCP 三次握手 简介: TCP 是一种面向连接的单播协议,在发送数据前,通信双方必须在彼此间建立一条连接。所谓的 “ 连接” ,其实是客户端和服务器的内存里保存的一份关于对方的信息,如 IP 地址、端口号等。 TCP 可以…...
Vue3 Cli5按需导入ElementPlus
1、安装环境 node:16.20.0 vue:3.2.36 vue/cli:5.0.0 element-plus:2.2.25 element-plus/icons-vue:2.0.10 unplugin-auto-import:0.16.1 // 当前环境用这个包,不然会提示各种错误 unplugin-vu…...

playwright自动化项目搭建
具备功能 关键技术: pylaywright测试库pytest单元测试框架pytest-playwright插件 非关键技术: pytest-html插件pytest-rerunfailures插件seldom 测试框架 实现功能: 元素定位与操作分离失败自动截图并保存到HTML报告失败重跑可配置不同…...
mysql字符集
一、查看字符集 //查看数据库字符集 SHOW CREATE DATABASE databasename; //查看表字符集 SHOW CREATE TABLE tablename; //查看指定表全部字段字符集 show full columns from table; 二、修改字符集 将超出utf8字符集范围的字符比如𪨧插入到utf8字符集的字…...

智慧医疗能源事业线深度画像分析(上)
引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...

全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...

Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...

OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...

基于Java+MySQL实现(GUI)客户管理系统
客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息,对客户进行统一管理,可以把所有客户信息录入系统,进行维护和统计功能。可通过文件的方式保存相关录入数据,对…...

Golang——7、包与接口详解
包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...
苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会
在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...

Chrome 浏览器前端与客户端双向通信实战
Chrome 前端(即页面 JS / Web UI)与客户端(C 后端)的交互机制,是 Chromium 架构中非常核心的一环。下面我将按常见场景,从通道、流程、技术栈几个角度做一套完整的分析,特别适合你这种在分析和改…...