女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

I2C數據傳輸的三個主要API

麥辣雞腿堡 ? 來源:嵌入式Linux系統開發 ? 作者:嵌入式Linux系統開 ? 2023-07-22 15:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

I2C Data Transfer

I2C 數據傳輸主要有三個 API

int i2c_master_send(const struct i2c_client *client,const char *buf,int count)

client:I2C 設備對應的 i2c_client。
buf:要發送的數據。
count:要發送的數據字節數,要小于 64KB,以為 i2c_msg 的 len 成員變量是一個 u16(無符號 16 位)類型的數據。
返回值:負值,失敗,其他非負值,發送的字節數。

int i2c_master_recv(const struct i2c_client *client,char *buf,int count)
client:I2C 設備對應的 i2c_client。
buf:要接收的數據。
count:要接收的數據字節數,要小于 64KB,以為 i2c_msg 的 len 成員變量是一個 u16(無符號 16 位)類型的數據。
返回值:負值,失敗,其他非負值,發送的字節數。

int i2c_transfer(struct i2c_adapter *adap,struct i2c_msg *msgs,int num)

adap:所使用的 I2C 適配器,i2c_client 會保存其對應的 i2c_adapter。
msgs:I2C 要發送的一個或多個消息。
num:消息數量,也就是 msgs 的數量。
返回值:負值,失敗,其他非負值,發送的 msgs 數量。

i2c_master_send 和 i2c_master_recv 都是對 i2c_transfer 的封裝。因此我們重點研究 i2c_transfer。

圖片

其中,adap->algo->master_xfer 由芯片原廠提供。在 MTK 平臺,是 mtk_i2c_transfer 函數,不同平臺命名不同。

static int mtk_i2c_transfer(struct i2c_adapter *adap,struct i2c_msg msgs[], int num)
{
 int ret;
 int left_num = num;
 struct mtk_i2c *i2c = i2c_get_adapdata(adap);

  //打開時鐘
 ret = mtk_i2c_clock_enable(i2c);
 if (ret)
  return ret;

  //初始化硬件
 mtk_i2c_init_hw(i2c);

 i2c- >auto_restart = i2c- >dev_comp- >auto_restart;

 if (i2c- >auto_restart && num == 2) {
  if (!(msgs[0].flags & I2C_M_RD) && (msgs[1].flags & I2C_M_RD) &&
      msgs[0].addr == msgs[1].addr) {
   i2c- >auto_restart = 0;
  }
 }

 if (i2c- >auto_restart && num >= 2 && i2c- >speed_hz > MAX_FS_MODE_SPEED)
  i2c- >ignore_restart_irq = true;
 else
  i2c- >ignore_restart_irq = false;

 while (left_num--) {
  if (!msgs- >buf) {
   dev_dbg(i2c- >dev, "data buffer is NULL.n");
   ret = -EINVAL;
   goto err_exit;
  }

  if (msgs- >flags & I2C_M_RD)
   i2c- >op = I2C_MASTER_RD;
  else
   i2c- >op = I2C_MASTER_WR;

  if (!i2c- >auto_restart) {
   if (num > 1) {
    /* combined two messages into one transaction */
    i2c- >op = I2C_MASTER_WRRD;
    left_num--;
   }
  }

  /* always use DMA mode. */
  ret = mtk_i2c_do_transfer(i2c, msgs, num, left_num);
  if (ret < 0)
   goto err_exit;

  msgs++;
 }
 /* the return value is number of executed messages */
 ret = num;

err_exit:
 mtk_i2c_clock_disable(i2c);
 return ret;
}
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據傳輸
    +關注

    關注

    9

    文章

    2010

    瀏覽量

    65878
  • API
    API
    +關注

    關注

    2

    文章

    1568

    瀏覽量

    63726
  • I2C
    I2C
    +關注

    關注

    28

    文章

    1538

    瀏覽量

    127408
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    飛凌嵌入式ElfBoard ELF 1板卡-I2C設備驅動之Linux下的I2C驅動簡介

    I2C協議的基本功能的軟件或硬件實現。它通常包括對I2C總線的初始化、數據傳輸、時序控制和錯誤處理等功能的支持。I2C核心提供了一組API
    發表于 04-15 10:19

    嵌入式學習-飛凌嵌入式ElfBoard ELF 1板卡-I2C設備驅動之Linux下的I2C驅動簡介

    I2C協議的基本功能的軟件或硬件實現。它通常包括對I2C總線的初始化、數據傳輸、時序控制和錯誤處理等功能的支持。I2C核心提供了一組API
    發表于 04-15 10:39

    關于數據傳輸接口

    單片機用于數據傳輸的外設有哪些?原諒在下孤陋寡聞,我所知道的有SPI、I2C,不知還有哪些?誰的數據傳輸速度最快?
    發表于 09-02 12:22

    VEML6040顏色傳感器是如何利用I2C總線進行數據傳輸

    VEML6040是什么?VEML6040顏色傳感器的外圍電路是怎樣的?VEML6040顏色傳感器是如何利用I2C總線進行數據傳輸呢?
    發表于 02-14 06:35

    HT45R37使用I2C進行數據傳輸的方法 (C語言)

    HT45R37使用I2C進行數據傳輸的方法 (C語言)HT45R37 提供SIM 串行傳輸功能,分別是SPI 功能和I2C 功能,本文介紹H
    發表于 03-27 08:36 ?12次下載

    HT56R678使用I2C進行數據傳輸的方法

    HT56R678使用I2C進行數據傳輸的方法 HT56R678 內建有SIM 功能,其中包括了SPI 和I2C 兩種通信接口,本文以HT56R678 為母體,介紹使用I2C 進行
    發表于 03-27 09:25 ?16次下載

    HT56R678使用I2C進行數據傳輸的方法

    HT56R678使用I2C進行數據傳輸的方法HT56R678 內建有SIM 功能,其中包括了SPI 和I2C 兩種通信接口,本文以HT56R678 為母體,介紹使用I2C 進行
    發表于 03-28 22:39 ?7次下載

    什么是IrDa/I2C管理總線

    什么是IrDa/I2C管理總線 IrDa:(Infrared Data:紅外數據傳輸)是利用紅外線方式實現電腦之間的數據傳輸。它也需要一界面,即紅外線接
    發表于 02-05 11:47 ?758次閱讀

    I2C隔離器如何實現雙向數據傳輸

    觀看此視頻,了解ADuM1250/ADuM2250 iCoupler?數字隔離器如何利用Philips針對I2C開發的電平邏輯系統來實現雙向數據傳輸
    的頭像 發表于 08-01 06:06 ?5965次閱讀

    i2c總線用來做什么_i2c總線數據傳輸過程

    I2C總線控制器為微控制器或微處理器提供控制I2C總線的接口,它控制所有I2C總線的特殊序列、協議、仲裁、時序,這里指MPC8250提供的I2C總線控制接口。
    發表于 11-24 14:16 ?7501次閱讀

    I2C總線數據傳輸速度要求

    Semiconductors)在1980年代初期開發。I2C總線因其簡單性和靈活性而被廣泛應用于各種電子設備中,如傳感器、顯示器、存儲器等。 I2C總線數據傳輸速度 I2C總線的
    的頭像 發表于 01-17 15:15 ?1941次閱讀

    I2C總線的工作模式介紹

    兩根線組成:數據線(SDA)和時鐘線(SCL)。數據線負責傳輸數據,而時鐘線則用于同步數據傳輸I2C
    的頭像 發表于 01-17 15:32 ?913次閱讀

    I2C總線與Arduino的接口示例

    基礎 I2C總線由兩條線組成:數據線(SDA)和時鐘線(SCL)。SDA用于傳輸數據,而SCL用于同步數據傳輸
    的頭像 發表于 01-17 15:34 ?1495次閱讀

    I2C總線數據包結構詳解

    。以下是I2C總線數據包結構的詳解: 一、I2C總線數據包的基本組成 I2C總線上的數據傳輸
    的頭像 發表于 01-17 15:46 ?753次閱讀

    iic協議的數據傳輸速率標準

    I2C協議定義了多種數據傳輸速率標準,以適應不同的應用需求。以下是I2C協議的主要數據傳輸速率標準: 標準模式(Standard-mode)
    的頭像 發表于 02-05 13:40 ?2167次閱讀
    主站蜘蛛池模板: 望都县| 曲水县| 长岭县| 稷山县| 库伦旗| 孝感市| 弋阳县| 西乌| 闽清县| 南丹县| 伽师县| 桐乡市| 东安县| 稻城县| 阿图什市| 政和县| 靖西县| 伊吾县| 鄂温| 武山县| 巍山| 元氏县| 平山县| 金平| 麻栗坡县| 山丹县| 贺州市| 博爱县| 遂溪县| 美姑县| 安溪县| 怀远县| 肇东市| 盘锦市| 梨树县| 油尖旺区| 湾仔区| 札达县| 灌阳县| 威海市| 延寿县|