当前位置: 首页 > news >正文

[K230学习笔记 02] I2C - Ze

硬件背景

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.hskmm.com/?act=detail&tid=39393

相关文章:

  • day01 AI入门讲解
  • 实验作业3
  • ? #5
  • GitLab:代码管理 - 教程
  • 20232302 2025-2026-1《网络与系统攻防技术》实验三实验报告
  • MCP Router使用学习
  • fvm Flutter多版本管理安装与常用指令
  • 人生八要(摘抄)
  • 20232322 2025-2026-1 《网络与系统攻防技术》实验三实验报告
  • 2025年内窥镜电缆线厂家权威推荐榜:B超线内窥镜电缆线,专业医疗线缆制造与定制化解决方案精选
  • 网络流题单
  • 2025年盐趣科研教育深度解析:从录取数据看科研背景如何撬动名校门槛
  • 2025年10月膜结构厂家推荐榜:双资质企业对比评测 ,
  • 2025年上海久宙集团:深度解析技术护城河与行业话语权
  • 2025 年 10 月门窗十大品牌综合实力权威推荐榜单,聚焦资质、案例、售后的十家机构深度解读
  • 2025 年 10 月门窗十大品牌综合实力权威推荐榜单,高性能,稳定性强的行业优选
  • 2025年唐卡装饰权威深度解析:家装行业新格局和品质承诺
  • 2025年欧那德语深度解析:十二年在线小班模式全透视
  • 2025 年 10 月蒸汽发生器厂家最新推荐,聚焦跨平台能力与售后体系的实用指南
  • 2025年欧那德语:深度解析其在线教学体系与师资配置
  • 2025年欧那德语权威解析:课程体系与师资全景盘点
  • 标签打印服务系统详细设计与实施文档
  • LLM-提示词
  • Transformer基本结构介绍
  • LLM-提示词(二)
  • LangChain简单介绍
  • 图像分类,从构建网络到断点续训,TF1版本实现
  • 图像分类,从网络构建到断点续训,TF2版本实现
  • C0427 【20251025】2025 CSP-J 联测5 总结
  • 20232427 2025-2026-1 《网络与系统攻防技术》实验三实验报告