找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索

時(shí)序的書寫理解

查看數(shù): 2615 | 評(píng)論數(shù): 5 | 收藏 0
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請(qǐng)稍候......
發(fā)布時(shí)間: 2017-12-20 12:06

正文摘要:

void I2cStart() {         SDA=1;                 (第一行)               & ...

回復(fù)

ID:223571 發(fā)表于 2017-12-25 09:20
安心1x2 發(fā)表于 2017-12-20 21:02
如果單片機(jī)指令速度很快可以忽略不計(jì)(至少相比你的delay延時(shí)而言)。那么兩個(gè)相鄰操作可以認(rèn)為是同時(shí)的, ...

” 那么兩個(gè)相鄰操作可以認(rèn)為是同時(shí)的,實(shí)際上確實(shí)有執(zhí)行的先后,為了避免誤動(dòng)作,順序還是要的。“
SCK = 0;                           //時(shí)鐘置0                           
  _nop_();                                 //一個(gè)機(jī)器周期
indata |= IN_Data;       
SCK = 1;


//按照你的意思,我可以將上面的時(shí)鐘上升沿觸發(fā)的語句改為如下也沒有問題?
SCK = 0;                           //時(shí)鐘置0                           
  _nop_();                                 //一個(gè)機(jī)器周期
SCK = 1;
indata |= IN_Data;       

你說到了我的點(diǎn)子上,關(guān)鍵是這個(gè)順序該如何把握?謝謝,回答。
ID:223571 發(fā)表于 2017-12-25 09:07
yzwzfyz 發(fā)表于 2017-12-20 20:49
估計(jì)未來你能將計(jì)算機(jī)速度做到世界最快,因?yàn)槟隳軐蓷l命令執(zhí)行的間隔時(shí)間做到0.

我的意思是時(shí)鐘語句和程序的執(zhí)行語句的執(zhí)行順序是怎么樣的?
像74hc165實(shí)驗(yàn),數(shù)據(jù)上升沿觸發(fā)才從165出來,那么執(zhí)行語句位置有幾種書寫方式呢?是夾在時(shí)鐘語句里面,還是時(shí)鐘后面?最終我的想法是讓單片機(jī)識(shí)別到我是一個(gè)上升沿來了,然后移出一位數(shù)據(jù),懇請(qǐng)指正。
ID:111634 發(fā)表于 2017-12-20 22:26
樓主理解錯(cuò)了!在時(shí)鐘線SCL高電平期間,數(shù)據(jù)線SDA出現(xiàn)下降沿,啟動(dòng)I2C總線傳送數(shù)據(jù)。在時(shí)鐘線SCL高電平期間,數(shù)據(jù)線SDA的電平不能變化,否則,將被認(rèn)為是一個(gè)起始信號(hào)S或終止信號(hào)P,引起出錯(cuò)。因此,若需改變數(shù)據(jù)線SDA的電平,必須先拉低時(shí)鐘線SCL電平。
ID:258226 發(fā)表于 2017-12-20 21:02
如果單片機(jī)指令速度很快可以忽略不計(jì)(至少相比你的delay延時(shí)而言)。那么兩個(gè)相鄰操作可以認(rèn)為是同時(shí)的,實(shí)際上確實(shí)有執(zhí)行的先后,為了避免誤動(dòng)作,順序還是要的。mcu的內(nèi)核就是個(gè)順序執(zhí)行指令的東西,而且要往絕對(duì)了哪怕FPGA算上內(nèi)部走線時(shí)延也不是并行了。
ID:123289 發(fā)表于 2017-12-20 20:49
估計(jì)未來你能將計(jì)算機(jī)速度做到世界最快,因?yàn)槟隳軐蓷l命令執(zhí)行的間隔時(shí)間做到0.

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

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

快速回復(fù) 返回頂部 返回列表