[K230学习笔记 02] I2C - Ze

news/2025/10/26 14:34:37/文章来源:https://www.cnblogs.com/Ze-Hou/p/19166843

硬件背景

I2C

  如下图所示,简单来说I2C是一种同步、串行、多主从的通信总线,由时钟线(SCL)与数据线(SDA)组成。在总线上的设备由一个唯一的地址识别,并且可以作为发送器或接收器运行,具体取决于设备的功能。

I2C总线结构图

图1.1 I2C总线结构图


assets/-K230学习笔记 02- I2C/file-20251025014418585.jpg

assets/-K230学习笔记 02- I2C/file-20251025014744367.jpg

assets/-K230学习笔记 02- I2C/file-20251025015120576.jpg

assets/-K230学习笔记 02- I2C/file-20251025015108726.jpg

OpenSBI v1.2.2

\ | /

  • RT - Thread Smart Operating System
    / | \ 5.2.2 build Oct 25 2025 01:21:25
    2006 - 2024 Copyright by RT-Thread team
    lwIP-2.1.2 initialized!
    [I/drv_i2c] i2c0 clock=100000000Hz

[I/drv_i2c] i2c0 slave address=0x50

[I/drv_i2c] slave-eeprom size: 256
[I/sal.skt] Socket Abstraction Layer initialize success.
[I/utest] utest is initialize success.
[I/utest] total utest testcase num: (4)
[I/drivers.serial] Using /dev/ttyS0 as default console
tmpfs mounted on /dev/shm success!
file system initialization done!
Press any key to stop init process startup ... 3
Press any key to stop init process startup ... 2
Press any key to stop init process startup ... 1
Starting init ...
Hello RISC-V
msh />cat /dev/i2c-slv-eeprom

msh />echo "0123" /dev/i2c-slv-eeprom
msh />cat /dev/i2c-slv-eeprom
0123
msh />utest_run bsp.k230.drivers.i2c
[I/utest] [] [ utest ] loop 1/1
[I/utest] [
] [ utest ] started
[I/utest] [----------] [ testcase ] (bsp.k230.drivers.i2c) started
[I/utest] i2c bus(pin: 48, 49) is idle, init i2c bus pin
[I/utest] This is a i2c test case.

[I/utest] [==========] utest unit name: (test_i2c0_master_slave)
[I/utest] slave buffer data:

[I/utest] 0x34
[I/utest] 0x35
[I/utest] 0x36
[I/utest] 0x37
[I/utest] 0x00
[I/utest] 0x00
[I/utest] 0x00
[I/utest] 0x00
[I/utest] 0x00
[I/utest] 0x00
[I/utest] 0x00
[I/utest] 0x00
[I/utest] 0x00
[I/utest] 0x00
[I/utest] 0x00
[I/utest] 0x00
[I/utest] [ PASSED ] [ result ] testcase (bsp.k230.drivers.i2c)
[I/utest] i2c bus pin deinit.

[I/utest] [----------] [ testcase ] (bsp.k230.drivers.i2c) finished
[I/utest] [] [ utest ] 1 tests from 4 testcase ran.
[I/utest] [ PASSED ] [ result ] 1 tests.
[I/utest] [
] [ utest ] finished
msh />cat /dev/i2c-slv-eeprom
4567
msh />

assets/-K230学习笔记 02- I2C/file-20251025160837258.jpg

assets/-K230学习笔记 02- I2C/file-20251025160916833.jpg

assets/-K230学习笔记 02- I2C/file-20251025160942274.jpg

assets/-K230学习笔记 02- I2C/file-20251025161014243.jpg

OpenSBI v1.2.2

\ | /

  • RT - Thread Smart Operating System
    / | \ 5.2.2 build Oct 25 2025 15:58:34
    2006 - 2024 Copyright by RT-Thread team
    lwIP-2.1.2 initialized!
    [I/drv_i2c] i2c0 clock=100000000Hz

[I/drv_i2c] i2c0 master mode

[I/sal.skt] Socket Abstraction Layer initialize success.
[I/utest] utest is initialize success.
[I/utest] total utest testcase num: (4)
[I/drivers.serial] Using /dev/ttyS0 as default console
tmpfs mounted on /dev/shm success!
file system initialization done!
Press any key to stop init process startup ... 3
Press any key to stop init process startup ... 2
Press any key to stop init process startup ... 1
Starting init ...
Hello RISC-V
msh />utest_run bsp.k230.drivers.i2c
[I/utest] [] [ utest ] loop 1/1
[I/utest] [
] [ utest ] started
[I/utest] [----------] [ testcase ] (bsp.k230.drivers.i2c) started
[I/utest] i2c bus(pin: 48, 49) is idle, init i2c bus pin
[I/utest] This is a i2c test case.

[I/utest] [==========] utest unit name: (test_i2c0_master_slave)
[I/utest] Read data:

[I/utest] 0xAA
[I/utest] 0xAA
[I/utest] 0xAA
[I/utest] 0xAA
[I/utest] 0xAA
[I/utest] 0xAA
[I/utest] 0xAA
[I/utest] 0xAA
[I/utest] 0xAA
[I/utest] 0xAA
[I/utest] 0xAA
[I/utest] 0xAA
[I/utest] 0xAA
[I/utest] 0xAA
[I/utest] 0xAA
[I/utest] 0xAA
[I/utest] Read data:

[I/utest] 0x55
[I/utest] 0x55
[I/utest] 0x55
[I/utest] 0x55
[I/utest] 0x55
[I/utest] 0x55
[I/utest] 0x55
[I/utest] 0x55
[I/utest] 0x55
[I/utest] 0x55
[I/utest] 0x55
[I/utest] 0x55
[I/utest] 0x55
[I/utest] 0x55
[I/utest] 0x55
[I/utest] 0x55
[I/utest] [ PASSED ] [ result ] testcase (bsp.k230.drivers.i2c)
[I/utest] i2c bus pin deinit.

[I/utest] [----------] [ testcase ] (bsp.k230.drivers.i2c) finished
[I/utest] [] [ utest ] 1 tests from 4 testcase ran.
[I/utest] [ PASSED ] [ result ] 1 tests.
[I/utest] [
] [ utest ] finished
msh />

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/946789.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

javascript 学习笔记(有c++基础)(更新中)

javascript 学习笔记(有c++基础)(更新中)javascript学习笔记 了解var 定义变量,可定义任何类型,若不用 var 则为全局变量 打印变量可以使用alert 或 console.log NaN这个值与其他不同,判断方法为 isNaN(NaN) 判断浮…

10.24总结

import java.util.*; import java.util.concurrent.TimeUnit; public class ArithmeticPractice { private Set generatedQuestions = new HashSet<>(); private List questions = new ArrayList<>(); pri…

《代码大全》读后感(1)

《代码大全》的开篇并未急于灌输编程技巧,而是先搭建了对“编程”这一行为的底层认知框架,这让我彻底摆脱了“代码只是指令集合”的浅层认知。书中将编程定义为“一项复杂的智力活动”,强调其兼具工程属性与艺术特质…

Function Calling

工作原理 Function Calling 通过在应用程序和大模型之间的多步骤交互,使大模型可以参考外部工具信息进行回答。https://help.aliyun.com/zh/model-studio/qwen-function-calling

20232302 2025-2026-1《网络与系统攻防技术》实验三实验报告

一.实验内容 (1)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧。 正确使用msf编码器,使用msfvenom生成如jar之类的其他文件 veil,加壳工具 使用C + shellcode编程(2)通过组合应用各种技术…

MCP Router使用学习

前言 最近在捣鼓使用 codex,由于 claude code 总是封号,就改用 codex 了,但是 codex 对于导入 mcp 有点麻烦,格式方式与之前不太相同,最近发现有个 mcp 集合工具,准备研究一下如何使用。 1. 为什么要用 MCP Rout…

fvm Flutter多版本管理安装与常用指令

一、安装pub.dev - fvmfvm 官方安装文档,包含各系统安装方式。也通过 Dart 包管理工具安装 FVM:$ brew tap leoafarias/fvm $ brew install fvm# 或$ dart pub global activate fvm环境变量配置建议,在 ~/.zshrc 或…

人生八要(摘抄)

大喜要稳;大怒要忍大惑要等;大悲要静大忙要慢;大闲要勤大富要俭;大穷要志最爱这句: 大惑要等不知道你现在在哪个阶段,希望你能体会其中道理

20232322 2025-2026-1 《网络与系统攻防技术》实验三实验报告

一.实验内容正确使用msf编码器,使用msfvenom生成如jar、php之类的其他文件,并用virustotal进行检测,会使用基本的免杀工具 通过组合应用各种技术实现恶意代码免杀 用另一电脑实测,在杀软开启的情况下,可运行并回连…

详细介绍:vb.net编写DDE(Dynamic Data Exchange)服务器

详细介绍:vb.net编写DDE(Dynamic Data Exchange)服务器pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consola…

2025年内窥镜电缆线厂家权威推荐榜:B超线内窥镜电缆线,专业医疗线缆制造与定制化解决方案精选

2025年内窥镜电缆线厂家权威推荐榜:B超线内窥镜电缆线,专业医疗线缆制造与定制化解决方案精选 随着医疗影像技术的快速发展,内窥镜电缆线作为医疗设备信号传输的关键组件,其性能和质量直接影响诊断结果的准确性。在…

网络流题单

P1343:最大流 模板。 P2740:最大流 模板,文不成文,读题有点难度。 P2936:最大流、哈希 几乎是模板。 P2857:最大流、暴力/二分查找 题干文不成文……复杂度考察题。观察范围,发现暴力枚举+网络流的最坏复杂度是…

无情可破万局

现在的我。我非常喜欢。是的,我开始明白。  “无情可破万局”   --------至自己

2025 年 10 月门窗十大品牌综合实力权威推荐榜单,产能、专利、环保三维数据透视

2025 年 10 月门窗十大品牌综合实力权威推荐榜单,产能、专利、环保三维数据透视引言2025 年 10 月门窗十大品牌综合实力权威推荐榜单由中国建筑金属结构协会、全国工商联家具装饰业商会联合发布。本次榜单突破传统性能…

2025年盐趣科研教育深度解析:从录取数据看科研背景如何撬动名校门槛

引言 本文以“录取数据与科研背景关联度”为核心维度,为计划申请海外名校的学生与家长提供一份可量化、可对照的客观参考,避免在背景提升环节盲目投入。 背景与概况 盐趣科研教育(ViaX,官网www.viax.org)成立于20…

2025年10月膜结构厂家推荐榜:双资质企业对比评测 ,

把“膜结构”三个字敲进搜索框的那一刻,你大概率正被以下场景包围:市政广场要赶工期做景观遮阳,业主方要求“既要造型飘逸又要十年不塌”;学校体育馆想把旧网球场改造成全天候气膜馆,预算却被砍了15%;或是景区负…

2025 年 10 月门窗十大品牌综合实力权威推荐榜单,聚焦资质、案例、售后的十家机构深度解读

2025 年 10 月门窗十大品牌综合实力权威推荐榜单由中国建筑金属结构协会、全国工商联家具装饰业商会联合发布,十家行业权威机构同步参与解读。本次榜单突破传统评选框架,以《铝合金门窗》(GB/T 8478-2008)为技术基…

2025 年 10 月门窗十大品牌综合实力权威推荐榜单,高性能,稳定性强的行业优选

2025 年 10 月门窗十大品牌综合实力权威推荐榜单由中国建筑金属结构协会、全国工商联家具装饰业商会联合发布。本次榜单以 “高性能、强稳定” 为核心评选导向,突破传统单一维度评估,以《铝合金门窗》(GB/T 8478-20…

2025年上海久宙集团:深度解析技术护城河与行业话语权

引言 本文从“技术领先与专利护城”这一核心维度切入,为读者提供一份关于上海久宙集团技术竞争力的客观参考。通过拆解其专利布局、研发平台、标准制定、质量认证及产业协同,帮助采购方、投资机构与同行判断其可持续…

2025年欧那德语深度解析:十二年在线小班模式全透视

引言 本文聚焦“教学服务闭环”这一核心维度,拆解欧那德语自2013年成立以来如何把“教、评、练、测”四个环节嵌进线上小班课,为潜在学习者提供一份可验证、可复盘的客观参照。 背景与概况 欧那德语成立于2013年,是…