国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

linux添加sht3x溫濕度傳感器驅(qū)動記錄

這篇具有很好參考價值的文章主要介紹了linux添加sht3x溫濕度傳感器驅(qū)動記錄。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

? ? ? ?最近拿到一塊imx6ull板子,上面有一顆溫濕度傳感器sht30,需要讀取其數(shù)值。本人能力有限,自己寫驅(qū)動還有一點困難,好在?linux內(nèi)核里自帶了很多器件的驅(qū)動,只需要找到相關(guān)的驅(qū)動文件根據(jù)要求修改一下設(shè)備樹、添加進(jìn)內(nèi)核里編譯就可以。

? ? ? ? 目前新版本的linux都支持設(shè)備樹,剛開始我認(rèn)為只要找到內(nèi)核里的相關(guān)驅(qū)動文件,根據(jù)匹配表里的屬性添加好設(shè)備樹就可以了。萬萬沒想到,linux內(nèi)核自帶的sht3x驅(qū)動竟然不支持設(shè)備樹,支持直接name比對,那就只能根據(jù)要求添加i2c_board_info信息了。

? ? ? ? 內(nèi)核自帶的驅(qū)動文件是kernel/drivers/hwmon/sht3x.c,打開文件找到如下位置:

linux添加sht3x溫濕度傳感器驅(qū)動記錄,Linux,linux,驅(qū)動,kernel

? ? ? ? 該驅(qū)動支持兩款溫濕度傳感器,我的板子上的是sht30,連接在i2c1接口,設(shè)備地址為0x44,所以添加i2c_board_info信息如下:

static struct i2c_board_info sht3x_i2c_board_info __initdata = {
		I2C_BOARD_INFO("sht3x", 0x44),
  };

? ? ? ? 光添加了i2c_board_info信息還不夠,還需要實例化i2c設(shè)備,根據(jù)sht3x驅(qū)動文檔kernel/Documentation/hwmon/sht3x.rst介紹,

linux添加sht3x溫濕度傳感器驅(qū)動記錄,Linux,linux,驅(qū)動,kernel

????????實例化方法需要參考kernel/Documentation/i2c/instantiating-devices.rst文檔介紹,這個文檔里介紹了多種實例化i2c接口的方法,經(jīng)過測試有的方法不適用,我用了Method 2: Instantiate the devices explicitly。

????????需要在init函數(shù)中實例化,代碼如下:

static int __init sht3x_init(void)
{
	int ret = 0;
	struct i2c_adapter *adapter;
	adapter = i2c_get_adapter(0);
	i2c_new_client_device(adapter,&sht3x_i2c_board_info);
	ret = i2c_add_driver(&sht3x_i2c_driver);
	return ret;
}

? ? ? ? 支持設(shè)備驅(qū)動文件部分就修改好了,接下來就是如何讓這個驅(qū)動編譯到內(nèi)核了。打開驅(qū)動目錄下的Makefile文件,如下:

linux添加sht3x溫濕度傳感器驅(qū)動記錄,Linux,linux,驅(qū)動,kernel

? ? ? ? 通過文件可以知道要想編譯sht3x驅(qū)動到內(nèi)核里就需要讓CONFIG_SENSORS_SHT3x編程y。所以有兩種方法:

????????1.修改makefile文件,直接將CONFIG_SENSORS_SHT3x改成y,然后make一下,用新生成的zImage文件啟動就可以了;

? ? ? ? 2.改配置文件,可以通過menuconfig修改

????????linux添加sht3x溫濕度傳感器驅(qū)動記錄,Linux,linux,驅(qū)動,kernel

????????選中SHT3x這個選項,保存后重新make,用新生成的zImage文件啟動就可以了。

????????或者打開.config文件進(jìn)行修改,修改如下:

linux添加sht3x溫濕度傳感器驅(qū)動記錄,Linux,linux,驅(qū)動,kernel

? ? ? ? 保存退出后重新make,用新生成的zImage文件啟動就可以了。

好了,到此,SHT30驅(qū)動就添加成功了,可以直接通過hwmon進(jìn)行讀取數(shù)據(jù)了,文件在/sys/class/hwmon/,進(jìn)去后會發(fā)現(xiàn)里面會有hwmon0??hwmon1?hwmon2等文件

linux添加sht3x溫濕度傳感器驅(qū)動記錄,Linux,linux,驅(qū)動,kernel

????????可以通過ls -l命令查看詳情,根據(jù)器件地址找到相應(yīng)的器件驅(qū)動對應(yīng)的文件,如下:

linux添加sht3x溫濕度傳感器驅(qū)動記錄,Linux,linux,驅(qū)動,kernel

? ? ? ? 由上圖可以知道sht3x的驅(qū)動對應(yīng)的文件是hwmon1,進(jìn)入hwmon1文件里可以看到很多屬性文件,如下:

linux添加sht3x溫濕度傳感器驅(qū)動記錄,Linux,linux,驅(qū)動,kernel

? ? ? ? 具體每一個屬性對應(yīng)的啥意思可以參考kernel/Documentation/hwmon/sht3x.rst具體介紹

linux添加sht3x溫濕度傳感器驅(qū)動記錄,Linux,linux,驅(qū)動,kernel

? ? ? ? 可以通過cat指令一個一個參看相關(guān)屬性的數(shù)值。

linux添加sht3x溫濕度傳感器驅(qū)動記錄,Linux,linux,驅(qū)動,kernel

? ? ? ? 溫度為29.362度。

? ? ? ? 其他的屬性自己去探索吧。文章來源地址http://www.zghlxwxcb.cn/news/detail-684264.html

到了這里,關(guān)于linux添加sht3x溫濕度傳感器驅(qū)動記錄的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • ESP32-硬件IIC讀取溫濕度傳感器SHT30

    ESP32-硬件IIC讀取溫濕度傳感器SHT30

    esp32 使用硬件I2C讀取溫濕度傳感器SHT30,例程基于 EDP-IDF-4.4.X 的I2C Simple Example 例程修改 打開 VSCODE ,通過 查看-- 命令面板(快捷鍵Ctrl+Shift+P),打開 ESP-IDF 的例程后,選擇 i2c_simple 例程,點擊 Create project using example i2c_simple,選擇自己要存儲的目錄?!綪S:工程的目錄不要有中文路

    2024年02月02日
    瀏覽(52)
  • IIC學(xué)習(xí)之SHT30溫濕度傳感器(基于STM32)

    IIC學(xué)習(xí)之SHT30溫濕度傳感器(基于STM32)

    附上SHT30資料和邏輯分析儀源文件,點擊下載 關(guān)于IIC的介紹網(wǎng)上已經(jīng)非常詳盡,這里只說重點: 雙線(SDA,SCL),半雙工 采用主從結(jié)構(gòu),支持一主多從,通過地址尋址,每個I2C設(shè)備都有唯一的7位或10位地址,還有1bit選擇讀寫(0為寫,1為讀) 速率較低,I2C總線支持多種通信

    2024年02月01日
    瀏覽(27)
  • STM32Cubemxhal庫硬件IIC驅(qū)動SHT40溫濕度傳感器

    STM32Cubemxhal庫硬件IIC驅(qū)動SHT40溫濕度傳感器

    STM32cubemx配置硬件IIC如圖所示 ?SHT40的驅(qū)動代碼 注意:在讀sht40的寄存器之后一定要加10幾個ms的延時

    2024年02月12日
    瀏覽(36)
  • STM32(HAL庫)驅(qū)動SHT30溫濕度傳感器通過串口進(jìn)行打印

    STM32(HAL庫)驅(qū)動SHT30溫濕度傳感器通過串口進(jìn)行打印

    目錄 1、簡介 2、CubeMX初始化配置 2.1 基礎(chǔ)配置 2.1.1 SYS配置 ?2.1.2 RCC配置 2.2 軟件IIC引腳配置 2.3?串口外設(shè)配置 ?2.4 項目生成 ?3、KEIL端程序整合 3.1 串口重映射 3.2 SHT30驅(qū)動添加 3.3 主函數(shù)代 3.4 效果展示 本文通過STM32F103C8T6單片機(jī)通過HAL庫方式對SHT30傳感器進(jìn)行數(shù)據(jù)的讀取,并

    2024年02月16日
    瀏覽(27)
  • STM32之模擬IIC總線控制SHT20溫濕度芯片

    STM32之模擬IIC總線控制SHT20溫濕度芯片

    一、IIC總線概述 1、IIC總線介紹 I2C (Inter-Integrated Circuit)總線產(chǎn)生于在80年代, 由PHILIPS公司開發(fā)的 兩線式串行總線 ,用于連接微控制器及其外圍設(shè)備, 最初為音頻和視頻設(shè)備開發(fā)。I2C總線兩線制包括: 串行數(shù)據(jù) SDA (Serial Data)、 串行時鐘 SCL (Serial Clock)。時鐘線必須由主

    2024年02月02日
    瀏覽(31)
  • STM32物聯(lián)網(wǎng)項目-SHT30溫濕度采集(IIC通信)

    STM32物聯(lián)網(wǎng)項目-SHT30溫濕度采集(IIC通信)

    SHT30數(shù)字溫濕度傳感器 SHT3x濕度傳感器系列包括低成本版本SHT30、標(biāo)準(zhǔn)版本SHT31,以及高端版本SHT35。 SHT3x濕度傳感器系列結(jié)合了多種功能和各種接口(I2C、模擬電壓輸出),應(yīng)用友好,工作電壓范圍寬(2.15至5.5 V),適合各類應(yīng)用。 SHT3x建立在全新和優(yōu)化的CMOSens? 芯片之上,

    2023年04月21日
    瀏覽(17)
  • arm學(xué)習(xí)-IIC總線連接溫濕度傳感器測量溫濕度(si7006)

    arm學(xué)習(xí)-IIC總線連接溫濕度傳感器測量溫濕度(si7006)

    main.c iic.h si7006.h iic.c si7006.c

    2024年02月13日
    瀏覽(33)
  • I2C協(xié)議介紹以及HAL庫實現(xiàn)I2C對SHT30溫濕度采樣

    I2C協(xié)議介紹以及HAL庫實現(xiàn)I2C對SHT30溫濕度采樣

    (1)I2C協(xié)議簡介 I2C總線是Philips公司在八十年代初推出的一種串行、半雙工的總線,主要用于近距離、低速的芯片之間的通信。 12C Bus(IIC, Inter-Integrated Circuit Bus)是由一根數(shù)據(jù)線SDA用于收發(fā)數(shù)據(jù),一根時鐘線SCL用于通信雙方時鐘的同步,利用上拉電阻將它們拉成高電平(表示總

    2023年04月24日
    瀏覽(27)
  • DHT11溫濕度傳感器學(xué)習(xí)

    DHT11溫濕度傳感器學(xué)習(xí)

    ?DHT11溫濕度傳感器共有四個引腳 1個VCC高電平,1個GND接地低電平,1個數(shù)據(jù)輸出引腳,一個空引腳 工作時候,通過out引腳可以向傳感器傳遞應(yīng)答信號并返回40位的溫濕度數(shù)據(jù),也就是5個字節(jié) 前2個字節(jié)表示溫度的整數(shù)位和小數(shù)位,后面兩個字節(jié)是濕度的整數(shù)位和小數(shù)位,最后

    2024年02月07日
    瀏覽(96)
  • 溫濕度傳感器DHT11介紹

    溫濕度傳感器DHT11介紹

    溫濕度傳感器DHT11簡介 ? ? ? DHT11數(shù)字溫濕度傳感器是一種出廠時經(jīng)過校準(zhǔn)的數(shù)字信號輸出的溫濕度數(shù)字溫濕度傳感器 。DHT11 數(shù)字溫濕度傳感器應(yīng)用溫濕度傳感技術(shù)和數(shù)字采集技術(shù),確保其具有極高的可靠性和卓越的長期穩(wěn)定性。 ? ? ? DHT11 數(shù)字溫濕度傳感器內(nèi)置一個電阻式

    2023年04月22日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包