oneos组件系列01:i2c_tools

oneos组件系列01:i2c_tools

灵感来源:

本组件仓库:
https://gitee.com/dreamfly233/OneOS/tree/projects_OneOS-v2.3.0/components/i2c_tools

准备项:

配置说明:

以战舰V3开发板为例,板上的i2c设备仅有eeprom(24C02),若接有4.3寸/7寸电容触摸屏,触摸芯片gt91x系列也为i2c接口

进入stm32f103zet6-atk-warship_v3-i2c文件夹,打开oneos-cube,进入menuconfig

定位到Drivers→ I2C,勾选Enable I2C1 BUS和Enable I2C2 BUS

原理图中24C02的i2c接口接在PB6/PB7上,触摸驱动接在PB1/PF9上,分别配置软件i2c1和软件i2c2

配置完成后定位到Components→ i2c_tools,勾选i2c_tools: a collection of i2c tools including scan/read/write项

保存并退出,使用scons --ide=mdk5生成mdk工程,然后打开project.uvprojx工程,编译下载

使用device查看已注册的i2c设备
i2c scan soft_i2c1可以探测软i2c1上挂载的设备,其他使用方式参考i2c_tools help即可

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: rtnl_locked是Linux内核中的一个全局变量,它用于保护路由子系统中的数据结构免受并发访问的影响。当rtnl_locked被设置为1时,表示路由子系统正在被某个进程使用,此时其他进程不能对路由子系统进行更改操作。在OneOS中,rtnl_locked 变量也会被用于保护路由子系统的数据结构。 ### 回答2: rtnl_locked是在oneos操作系统中的一个变量。rtnl是Routing Netlink Protocol的缩写,表示路由控制协议。rtnl_locked变量用于表示当前是否已经锁定了路由表,即是否有其他进程正在进行路由相关的操作。 在操作系统中,路由表是用来存储和管理网络路由信息的重要数据结构。当有多个进程同时对路由表进行读写操作时,就需要引入锁机制来避免冲突和竞争条件。rtnl_locked变量就是用来记录当前路由表是否已经被锁定的状态。 如果rtnl_locked变量的值为true,表示当前路由表已经被锁定,有其他进程正在对其进行操作,此时若有其他进程也想要对路由表进行操作,就需要等待。这样可以确保同时只有一个进程在对路由表进行操作,避免了竞争条件和数据不一致的问题。 反之,如果rtnl_locked变量的值为false,表示当前路由表没有被锁定,可以正常进行路由表的读写操作。 通过使用rtnl_locked变量和相应的锁机制,可以保证在多个进程同时对路由表进行操作时的安全性和一致性。这对于一个操作系统而言是非常重要的,特别是在网络环境中,正确的路由表操作是保证数据包准确传输和网络稳定性的基础。 ### 回答3: rtnl_locked变量是OneOS网络栈中的一个变量,用于记录网络链路状态的锁定状态。网络链路状态锁定是指在进行网络连接和数据传输时,为了保持数据的完整性和一致性,需要对网络链路进行锁定以防止其他线程对其进行修改。rtnl_locked变量的取值为true表示网络链路状态被锁定,不允许其他线程对其进行修改,取值为false表示网络链路状态未被锁定,其他线程可以对其进行修改。 rtnl_locked变量的使用主要是为了保证网络连接和数据传输的可靠性。当一个线程需要对网络链路进行操作时,它会首先检查rtnl_locked变量的值。如果rtnl_locked为true,则该线程需要等待直到锁定状态解除;如果rtnl_locked为false,则该线程可以对网络链路进行操作,并在操作完成后将rtnl_locked设置为true,以防止其他线程对其进行修改。 通过使用rtnl_locked变量,OneOS网络栈可以实现线程之间对网络资源的访问控制和互斥操作,保证了网络连接和数据传输的正确性和可靠性。 总之,rtnl_locked变量在OneOS网络栈中起到了维护网络链路状态的锁定机制的作用,确保网络连接和数据传输的可靠性。它通过记录网络链路的锁定状态,实现了对网络资源的访问控制和互斥操作,为网络通信提供了保障。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值