1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2602|回復: 3
收起左側

單片機IIC通信,無法接收到從機發(fā)送的數(shù)據(jù)

[復制鏈接]
ID:601478 發(fā)表于 2020-3-19 16:01 | 顯示全部樓層 |閱讀模式
uchar IIC_receive_dat()//接受數(shù)據(jù)
{
  uchar i,num;
  SCL = 0;
  delay1();
  SDA = 1;
  for(i = 0;i <= 7;i++)
  {
          SCL = 1;
          delay1();
          num = (num<<1)|SDA;
          SCL = 0;
          delay1();
  }
  return num;
}

接受程序如上,接收前已檢測到從機發(fā)送的ACK信號,然后開始執(zhí)行上面的接收程序,不過無法收到任何數(shù)據(jù),從機芯片手冊說的發(fā)送8bit數(shù)據(jù),然而我把接收結果與0到255一一比較,居然沒有找出收到的數(shù)據(jù)內(nèi)容到底是什么,0到255沒有一個數(shù)值能觸發(fā)我寫的條件,很迷惑,不是0,也不是0xff,這種場面真的第一次見,不知道有沒有大佬知道其中的問題,謝謝

回復

使用道具 舉報

ID:592807 發(fā)表于 2020-3-19 18:02 | 顯示全部樓層
留個眼,
回復

使用道具 舉報

ID:711971 發(fā)表于 2020-3-20 01:04 | 顯示全部樓層
1.SDA = 1;之后是否需要設置SDA為輸入模式?
2.從機是否需要先發(fā)送寄存器地址再進行讀出操作?
3.示波器看以下SDA,是否有波動,SCL是否速度超過器件限制(100K,410K?)
回復

使用道具 舉報

ID:601478 發(fā)表于 2020-3-20 13:54 | 顯示全部樓層
逐位檢測收到的信號后發(fā)現(xiàn)輸出的數(shù)據(jù)常態(tài)時為0xff,觸發(fā)態(tài)時數(shù)據(jù)中對應的觸發(fā)位為0,已檢測到共有4個觸發(fā)源,然而當我用FOR循環(huán)接收8bit數(shù)據(jù)時,無法用檢測對應觸發(fā)位是否為0來檢測收到的8bit數(shù)據(jù)內(nèi)容,可能是語句出了問題,但是將接收數(shù)據(jù)子程序移植到其他IIC收發(fā)設備上發(fā)現(xiàn)運行正常,,目前只能用順序語句逐位檢測來確定觸發(fā)位的電平狀態(tài),無法使用FOR循環(huán)
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表