日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【BLE】TLSR8258开发记录之9--IIC驱动TMP102

發布時間:2025/4/16 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【BLE】TLSR8258开发记录之9--IIC驱动TMP102 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、說明

基于SDK3.4完成溫度傳感器TMP102的驅動(參考甜甜大香瓜的博客點擊)
TMP102 參數如下:

2、操作

A.在MG_Application目錄下新建MG_TMP102.c和MG_TMP102.h,
其中,MG_TMP102.c的代碼為

/* * MG_TMP102.c * * Created on: 2019-9-23 * Author: huangjinxu */ #include "MG_tmp102.h" //TMP相關寄存器定義 #define TMP102SLAVEADDR 0x90 //0x48<<1 //TMP102 寄存器地址 #define TMP102_REG_ADDR_TEMPERATURE 0x00 #define TMP102_REG_ADDR_CONFIG 0x01 /* Register length */ #define IRTEMP_REG_LEN 2 #define I2CCLOCK (unsigned char)(CLOCK_SYS_CLOCK_HZ/(4*200000)) void MG_TMP102_ReadReg(unsigned char addr, unsigned char *pBuf, unsigned char nBytes); void MG_TMP102_WriteReg(unsigned char addr, unsigned char *pBuf, unsigned char nBytes); void MG_TMP102_Config(unsigned char* pData, unsigned char read_write); /* 函數說明:傳感器初始化 入口參數:none 最后修改時間:20190906 14:00 */ void MG_Sensor_Init() {unsigned char Config_Read_buf[2]= {0x00};unsigned char Config_Write_buf[2] = {0x70,0xA0};//PC0:SDA,PC1:SCLi2c_gpio_set(I2C_GPIO_GROUP_C0C1);//TMP102SLAVEADDR,IIC:200KHzi2c_master_init(TMP102SLAVEADDR,I2CCLOCK);//讀取配置寄存器MG_TMP102_Config(Config_Read_buf,TPM102_REGISTER_READ);//配置寄存器,開啟溫度轉換功能MG_TMP102_Config(Config_Write_buf,TPM102_REGISTER_WRITE);//讀取配置寄存器MG_TMP102_Config(Config_Read_buf,TPM102_REGISTER_READ); } /* 函數說明:傳感器讀出溫度數據 入口參數:*pData:存放溫度數據的緩沖 最后修改時間:20190906 14:00 */ void MG_Sensor_Work(unsigned char *pData) {MG_TMP102_ReadReg(TMP102_REG_ADDR_TEMPERATURE,pData,IRTEMP_REG_LEN); } //TMP102寄存器設置 void MG_TMP102_Config(unsigned char* pData, unsigned char read_write) {switch (read_write){case TPM102_REGISTER_READ:MG_TMP102_ReadReg(TMP102_REG_ADDR_CONFIG,pData,IRTEMP_REG_LEN);break;case TPM102_REGISTER_WRITE:MG_TMP102_WriteReg(TMP102_REG_ADDR_CONFIG,pData,IRTEMP_REG_LEN);break;} } //TMP102讀寄存器 void MG_TMP102_ReadReg(unsigned char addr, unsigned char *pBuf, unsigned char nBytes) {i2c_read_series(addr,1,pBuf,nBytes); } //TMP102寫寄存器 void MG_TMP102_WriteReg(unsigned char addr, unsigned char *pBuf, unsigned char nBytes) {i2c_write_series(addr,1,pBuf,nBytes); }

MG_TMP102.h的代碼如下

/* * MG_TMP102.h * * Created on: 2019-9-23 * Author: huangjinxu */ #ifndef MG_TMP102_H_ #define MG_TMP102_H_ //公共頭文件 #include "tl_common.h" #define TPM102_REGISTER_READ 0 #define TPM102_REGISTER_WRITE 1 //任意字節獲取 #define BYTE0(Temp) ( *( ( (u8*)(&Temp)+0 ) ) ) #define BYTE1(Temp) ( *( ( (u8*)(&Temp)+1 ) ) ) #define BYTE2(Temp) ( *( ( (u8*)(&Temp)+2 ) ) ) #define BYTE3(Temp) ( *( ( (u8*)(&Temp)+3 ) ) ) //外部函數 extern void MG_Sensor_Init(); extern void MG_Sensor_Work(unsigned char *pData); #endif /* MG_TMP102_H_ */

B.tl_common.h中添加以下頭文件路徑

#include "drivers/8258/i2c.h" #include "vendor/8258_ble_remote/MG_Application/MG_TMP102.h"

C.在app.c的user_init_normal函數中中添加測試代碼

u8 sensor_buf[2]={0x00,0x00};u16 sensor_temp=0;u8 sensor_out[2]={0x00,0x00};MG_Sensor_Init();MG_Sensor_Work(sensor_buf);sensor_temp = (sensor_buf[0]*256);sensor_temp |= sensor_buf[1];sensor_temp = sensor_temp>>4;//低4位無作用printf("Sensor data[1] is: %d\r\n",sensor_temp);// sensor_data = (float)(sensor_temp*0.0625);// sensor_temp = (u16)(sensor_data*100);//printf("Sensor data[1] is: %d\r\n",sensor_temp);sensor_temp *= 100;//先擴大100倍sensor_temp = sensor_temp>>4;//sensor_temp*0.0625sensor_out[0] = (u8)((sensor_temp>>8)&0xFF);sensor_out[1] = (u8)((sensor_temp)&0xFF);printf("Sensor data[0] is: %x\r\n",sensor_out[0]);printf("Sensor data[1] is: %x\r\n",sensor_out[1]);printf("Sensor data is: %d\r\n",sensor_temp);

3、現象

一上電顯示讀取到的溫度為2731/100 = 27.31℃

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的【BLE】TLSR8258开发记录之9--IIC驱动TMP102的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品ⅴa有声小说 | 日日爱886 | 夜夜草网站 | 亚洲乱码国产乱码精品精的特点 | 亚洲欧美日韩久久 | 日韩大片免费在线观看 | 亚洲精品国产精品国自产网站 | 欧美色射| 91中文 | 国产一级精品视频 | 无码人妻精品丰满熟人区 | 一级性爱视频 | 成人av黄色| 男生和女生差差的视频 | 亚洲三级电影 | 最新久久| 欧美做受高潮6 | 在线播放波多野结衣 | 一区二区美女 | 成人免费高清视频 | 视频1区 | 在线观看免费视频国产 | 亚洲一区二区福利 | 欧美日韩色图 | 免费色网站 | 欧美专区综合 | 男女猛烈无遮挡免费视频 | 日韩黄色网络 | www av| 国产高清在线视频观看 | 欧美 亚洲 一区 | 国产精品人妻 | 91入囗 | www男人的天堂 | 成人99 | 搞黄视频在线观看 | av动漫天堂 | 青青草视频免费看 | 精品少妇av | 久久成 | 日韩电影二区 | 91久久一区| 久久亚洲精华国产精华液 | 国产免费一级视频 | 伊人久久久久久久久久久 | 国产亚洲精品久久久久久无几年桃 | 久久久久女教师免费一区 | 日韩网红少妇无码视频香港 | 欧美亚洲一区二区在线观看 | 亚洲在线天堂 | 欧美三级午夜理伦三级老人 | 日韩aa视频| 草草视频在线免费观看 | 美女大黄网站 | 三级亚洲| 成年人免费网站视频 | 激情拍拍 | 午夜影院在线观看免费 | 免费在线观看一区 | 特极毛片 | 免费观看日韩毛片 | 华人在线视频 | 久久免费在线观看视频 | 久色在线 | 一区二区视屏 | 四虎色网 | 小草av| 久青草视频在线观看 | 欧美黄网站在线观看 | 久久久免费精品视频 | 亚洲日本va中文字幕 | 亚洲九九九 | 人妻av一区二区 | 无码 制服 丝袜 国产 另类 | 9l蝌蚪porny中文自拍 | 日本女优网址 | 国产精品免费在线 | 四季av综合网站 | 在线只有精品 | 天天干天天舔天天射 | 欧美69式性猛交 | 国产欧美日韩精品一区 | 人人干人人爽 | 亚洲国产精品成人va在线观看 | 999在线观看视频 | 成人在线天堂 | 加勒比综合 | 欧美第一页草草影院 | 69xx视频在线观看 | 二区国产| 久久久美女 | 乱h伦h女h在线视频 99999视频 | 国产一级片久久 | 午夜视频a | 国产福利免费观看 | 麻豆影视免费观看 | 茄子视频懂你更多在线观看 | 探花视频在线免费观看 | 阿v天堂在线观看 |