当前位置:网站首页>Driver development based on I2C protocol
Driver development based on I2C protocol
2022-07-03 11:17:00 【sydyh43】
1、linux Under the I2C Agreement framework
commonly i2c_adapter The following specific adapter hardware related operation codes are developed by the chip manufacturer . Just finish in I2C Secondary development based on the agreement , For example, based on I2C The protocol realizes the transmission of network data , perhaps I2C Control of peripheral devices , perhaps blalalala

2、I2C Read and write sequence diagram of the Protocol
I2C Device mount I2C After bus ,I2C The device address of the device is determined by the hardware . Same article I2C Differences on the bus I2C The device address of the device is different .I2C The unit of protocol transmission is a byte .
Write timing

once I2C The write operation of includes device address + Write operations ; Register address , data .
Every time CPU After sending a byte of data ,I2C Equipment handle DATA Line pull down , do ACK
Reading sequence

Reading sequence is slightly more complex than writing sequence . In two parts , The first step is to write , tell I2C The device needs to read the address of the register . Step 2 read operation , Second send I2C Device address , wait for I2C equipment ACK after , Complete data reading .【 here CPU Become the receiving end , After reading one byte of data ,CPU Can send ACK. If there is ACK, The slave device will continue to send register data ( Most of the I2C The device supports multi address reading , Send a register address , Continue the next multiple register data ); If NOACK,I2C The device stops sending data 】
3、 The code framework
To be added
边栏推荐
- Solve undefined reference to`__ aeabi_ Uidivmod 'and undefined reference to`__ aeabi_ Uidiv 'error
- Unique in the industry! Fada electronic contract is on the list of 36 krypton hard core technology enterprises
- VPP三层网络互联配置
- 数据库增量备份 - DB INCR DB FULL
- Solution: jupyter notebook does not pop up the default browser
- Google Earth engine (GEE) - ghsl global population grid dataset 250 meter resolution
- glassfish org. h2.server. Shutdownhandler classnotfoundexception exception exception handling
- php如何解决高并发问题
- Tablespace creation management and control file management
- Latest sales volume of pinduoduo
猜你喜欢

Stack, monotone stack, queue, monotone queue

如何清理v$rman_backup_job_details视图 报错ORA-02030

Overview of testing theory

QT: QSS custom qtreeview instance

"Core values of testing" and "super complete learning guide for 0 basic software testing" summarized by test engineers for 8 years

面试题总结(2) IO模型,集合,NIO 原理,缓存穿透,击穿雪崩

UI自动化测试如何走出困境?价值又如何体现?

What is the salary level of 17k? Let's take a look at the whole interview process of post-95 Test Engineers

在职美团测试工程师的这八年,我是如何成长的,愿技术人看完都有收获

What kind of living condition is a tester with a monthly salary of more than 10000?
随机推荐
ORACLE 11G 单机冷备数据库
线性表的双链表
Software testing (test case) writing: vulgar, native and skillful
2021 reading summary (continuously updating)
ByteDance layoffs, test engineers were almost destroyed: how terrible is the routine behind the recruitment of large factories?
Game test related tests a hero's skills (spring moves are asked more questions)
Résumé des questions d'entrevue (2) Modèle io, ensemble, principe NiO, pénétration du cache, avalanche de rupture
Bi skills - permission axis
Hard goods | write all the codes as soon as you change the test steps? Why not try yaml to realize data-driven?
Hal - General
T5 attempt
项目管理精华读书笔记(七)
Probability theory: application of convolution in calculating moving average
2022-07-02:以下go语言代码输出什么?A:编译错误;B:Panic;C:NaN。 package main import “fmt“ func mai
Function details of CorelDRAW graphics suite 2022
After a month, I finally got Kingdee offer! Share tetrahedral Sutra + review materials
Do you really need automated testing?
C语言二维数组
如何清理v$rman_backup_job_details视图 报错ORA-02030
[true question of the Blue Bridge Cup trials 44] scratch eliminate the skeleton Legion children programming explanation of the true question of the Blue Bridge Cup trials