久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

I2C 為啥有的程序沒被編譯

查看數: 1895 | 評論數: 4 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2023-10-8 16:56

正文摘要:

#include <reg51.h> #include <intrins.h> #define uchar   unsigned char   #define uint    unsigned int sbit SDA=P3^6;     //模擬I2C數據傳送 ...

回復

ID:611626 發表于 2023-10-9 08:43
  1.   delayus(2);
  2. //請教122行,這里SDA賦值1
  3.      SDA=1;                                  //8位發送完后釋放數據線,準備接收應答位
  4.     delayus(2);  
  5.      SCL=1;
  6.      delayus(3);
  7. //這里豈不是每次都讀取失敗,ACK返回0
  8.      if(SDA==1)
  9.          ack=0;   
  10. //這個函數豈不是執行不到底
  11. uchar read_current()
  12. {
  13.      uchar read_data;
  14.      Start_I2C();
  15.      SendByte(DS3231_ReadAddress);
  16.      if(ack==0)
  17.          return(0);
復制代碼
ID:883242 發表于 2023-10-8 19:21
lkc8210 發表于 2023-10-8 18:19
被優化掉,加試試volatile

明顯是Keil C51,這個編譯器假設用戶都不懂volatile這個關鍵字,寫不寫都一樣。
ID:611626 發表于 2023-10-8 18:40
lkc8210 發表于 2023-10-8 18:19
被優化掉,加試試volatile

還是讀取不到數據
ID:161164 發表于 2023-10-8 18:19
被優化掉,加試試volatile
  1. //延時
  2. void delayus(volatile uint us)
  3. {
  4.     while (us--);
復制代碼

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美午夜精品 | 亚洲精品视频在线看 | 精品日韩在线 | 欧美日韩精品影院 | 99热这里都是精品 | 天天拍天天操 | www.玖玖玖 | 亚洲国产成人精品在线 | 日韩二| 欧美h视频| 国产清纯白嫩初高生视频在线观看 | 欧美日韩在线播放 | 毛片一级网站 | 中文字幕一二三区 | 国产在线视频在线观看 | 精品入口麻豆88视频 | 久久午夜剧场 | av黄色在线观看 | 久久久精品国产 | 久久久一二三区 | 午夜天堂精品久久久久 | 天堂视频中文在线 | 精品成人| 日本三级全黄三级a | 国内精品99| 国产日韩欧美一区 | 91精品久久久久久久久 | 在线亚洲欧美 | 天天夜夜操 | 免费黄色a级毛片 | 麻豆精品久久久 | 国产精品一区在线观看 | 亚洲三区视频 | 亚洲成人av在线播放 | 青娱乐一区二区 | 酒色成人网 | 亚洲啊v在线 | 亚洲3p| www.888www看片| 欧美涩涩网 | 中文字幕动漫成人 |