1. sht20 溫濕度感測器的選擇
初步選擇的是ds18b20 和 dh11 ,但由於artik平台提供的延遲函式usleep量級在10ms左右,時序不正確,無法正常單匯流排驅動。所以選用i2c驅動的sht20。
問題分析1:usleep函式的延時。因為tizen 系統的程序切換粒度最小是10ms左右,
涉及知識點:sleep函式的作用,linux程序切換的粒度
參考資料:
問題分析2:自寫最簡單的while函式實現延時,發現精確度在100us級,有可能是因為變數沒有加volatile,需要進一步嘗試;
2. i2c驅動中遇到的問題
問題1:提示timed out,
在程式中直接呼叫 i2c_write(id,0x40,&buf,1);
id為平台封裝對應的i2c編號,0x40從機位址,buf中儲存的是對感測器的操作,1是傳送的指令長度;
問題2:提示io error
原因:連線問題,i2c是片內通訊,當時感測器和開發板之間用杜邦線連線,可能是i2c不穩定的原因。也有可能是平台不穩定原因。後期在開發板上找到剛好對應的介面。
問題3:溫度讀寫錯誤
原因:濕度正常,懷疑是感測器問題,但鑑於只有乙個感測器,尚未確定。
STM32F405 標準庫 SHT20溫濕度感測器
sht20是個溫濕度感測器,使用i2c通訊 下面的i2c程式需要換成你們自己的i2c程式 softreset函式 硬體初始化 set resolution函式 設定解析度 readsht20函式 開始測量 在main.c主函式裡面這樣呼叫 if softreset 0 while 1 sht20.c...
STM32學習之SHT20溫濕度感測器
sht20,新一代 sensirion 濕度和溫度感測器在尺寸與智慧型方面建立了新的標準 它嵌入了適於回流焊的雙列扁平無引腳 dfn 封裝,底面 3 x3mm 高度 1.1mm。感測器輸出經過標定的數碼訊號,標準 i 2 c 格式。sht20 配有乙個全新設計的 cmosens 晶元 乙個經過改進的...
SHT30使用的學習過程1SHT30工作模式介紹
sht30使用的學習過程1sht30工作模式介紹 篇這裡 引腳 功能1 sdai2c資料線,要接10k上拉電阻 2 addr 不可懸空 用於選擇i2c的位址,當兩個或兩個以上的sht30接入同乙個匯流排的時候才會使用。一般接地,位址是0x44,若接高電平 則位址是0x45 注意開啟訊號的時候,傳送的...