找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2726|回復: 8
收起左側

I2C通信 到底哪里出問題了,沒有回應!

[復制鏈接]
ID:820507 發(fā)表于 2020-10-23 14:49 | 顯示全部樓層 |閱讀模式
回復

使用道具 舉報

ID:654028 發(fā)表于 2020-10-23 16:33 | 顯示全部樓層
你這程序好不規(guī)范,看的好懵,你iic函數沒丟while(1)里面,看樣子你是模擬的iic,你是上電就進行iic通信一次,然后就進入空的while(1)了。再也不通訊了。
回復

使用道具 舉報

ID:654028 發(fā)表于 2020-10-23 16:36 | 顯示全部樓層
還有,不是應該先初始化iic的io口再通信嗎?你這先通信完再初始化?
回復

使用道具 舉報

ID:820507 發(fā)表于 2020-10-23 17:04 | 顯示全部樓層
本帖最后由 liaoym 于 2020-10-23 17:07 編輯
心有浮生 發(fā)表于 2020-10-23 16:33
你這程序好不規(guī)范,看的好懵,你iic函數沒丟while(1)里面,看樣子你是模擬的iic,你是上電就進行iic通信 ...

是的,我按自己的理解寫的。我就是想實現寫入0xaa,然后單片機從24c02中讀回剛才寫的,賦給P2。P2上接了LED燈觀察。只需要通信一次
回復

使用道具 舉報

ID:820507 發(fā)表于 2020-10-23 17:24 | 顯示全部樓層
心有浮生 發(fā)表于 2020-10-23 16:33
你這程序好不規(guī)范,看的好懵,你iic函數沒丟while(1)里面,看樣子你是模擬的iic,你是上電就進行iic通信 ...

謝謝回帖
是的 我就通信1次。  我想寫入0xaa,然后單片機從24c02中讀取出來,賦給P2,通過觀察P2接的LED燈,看是不是剛剛寫入的。
回復

使用道具 舉報

ID:654028 發(fā)表于 2020-10-24 09:07 | 顯示全部樓層
liaoym 發(fā)表于 2020-10-23 17:24
謝謝回帖
是的 我就通信1次。  我想寫入0xaa,然后單片機從24c02中讀取出來,賦給P2,通過觀察P2接的LED燈 ...

先初始化再通信,還有你上電瞬間就通信,來得及看現象嗎
回復

使用道具 舉報

ID:820507 發(fā)表于 2020-10-24 13:05 | 顯示全部樓層
心有浮生 發(fā)表于 2020-10-24 09:07
先初始化再通信,還有你上電瞬間就通信,來得及看現象嗎

居然可以啦!我就加了個暫停
void main()
{ init();
qidong();
wz( );
scl=1;_nop_();_nop_();_nop_(); scl=0;_nop_();// 應答
pnwz( );
scl=1;_nop_();_nop_();_nop_();scl=0;_nop_(); // 應答
shuju();
scl=1;_nop_();_nop_();_nop_(); scl=0;_nop_(); // 應答
jieshu();
//zt();
  init();
   du();
   _nop_();
   if(sda==0)
回復

使用道具 舉報

ID:688032 發(fā)表于 2020-10-24 13:45 | 顯示全部樓層
EEPRMO I2C寫入后不能立刻讀出,需要延時一段時間,否組EEPROM無法正常響應的
回復

使用道具 舉報

ID:820507 發(fā)表于 2020-10-24 14:44 | 顯示全部樓層
amberxu 發(fā)表于 2020-10-24 13:45
EEPRMO I2C寫入后不能立刻讀出,需要延時一段時間,否組EEPROM無法正常響應的

嗯,原來是這樣。謝謝
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

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