历史上的今天
返回首页

历史上的今天

今天是:2024年11月26日(星期二)

正在发生

2018年11月26日 | STM32 I2C HAL库读取HTU21D

2018-11-26 来源:eefocus

以下代码为使用I2C库函数读取HTU21D温度数据的例程。


ret=HAL_I2C_Mem_Read(&hi2c1,0x80,0xf3,I2C_MEMADD_SIZE_8BIT,rx_buf,2,2000);


if(ret == HAL_OK)


{


rx_buf[1] &= 0xfc;


temp = rx_buf[0];


temp *= 256;    //wendu <<=8;


temp += rx_buf[1];


temp *= 17572;


temp /= 65536;


temp -= 4685;   //保留两位小数


temp /=10;


result = (int16_t)temp;


printf("temperature=%d\r",result);


}


else


{


printf("ret=%d\r",ret);


}


直接使用HAL_I2C_Mem_Read函数会有错误出现,需要对其进行修改。根据HTU21D读转换数据时,在发送读取命令之前,需要延迟一段时间,等待转换完成。而库函数没有设定等待时间。在I2C_RequestMemoryRead函数中,/* Generate Restart */注释之前添加 HAL_Delay(85)即可。


推荐阅读

史海拾趣

星海公司的发展小趣事

面对数字化时代的挑战和机遇,星海公司开始积极推进数字化转型。公司引入先进的生产管理系统和数字化营销手段,提高生产效率和市场响应速度。同时,星海公司还积极探索新的商业模式和合作方式,以适应不断变化的市场需求。展望未来,星海公司将继续秉承“质量为本、创新为魂”的发展理念,致力于成为全球领先的乐器制造商和音乐教育服务提供商。

DURACELL公司的发展小趣事

为了进一步扩大市场份额和品牌影响力,DURACELL公司积极寻求品牌授权合作。通过在全球范围内与相关企业进行合作开发,DURACELL公司成功将品牌延伸到更多领域和地区。这种合作模式不仅为DURACELL公司带来了更多的市场机会,也推动了整个电池行业的发展。

Alan Industries Inc公司的发展小趣事

随着国内市场的饱和,Alan Industries Inc.开始将目光投向海外市场。公司制定了国际化发展战略,通过设立海外分公司、参加国际展会等方式,积极开拓国际市场。同时,公司还加强了对国际市场的调研和分析,根据不同地区的市场需求和文化特点,推出了针对性的产品和服务。这些努力使得公司在国际市场上也取得了不俗的成绩。

ATC [American Technical Ceramics]公司的发展小趣事

在当今社会,绿色环保已经成为各行各业发展的重要趋势。假设ATC积极响应这一趋势,投入大量资源进行环保型陶瓷材料的研发和生产。这些材料在生产过程中产生的污染较少,同时在使用过程中也能有效降低能耗和减少废弃物排放。因此,ATC的产品在绿色环保领域获得了良好的声誉,也赢得了越来越多客户的青睐。

Easy Braid公司的发展小趣事

Easy Braid的发展离不开一支强大的研发团队。公司注重人才的引进和培养,为研发团队提供了良好的工作环境和充足的研发资金。在研发团队的努力下,Easy Braid不断推出具有创新性和实用性的新产品,满足了市场的多样化需求。同时,研发团队还积极参与行业标准的制定和推广工作,为整个电子行业的发展做出了贡献。

C&D公司的发展小趣事

C&D公司自创立之初,就专注于电子技术的研发与创新。创始团队凭借深厚的行业经验和前瞻性的市场洞察力,成功开发出一系列具有竞争力的电子产品。在市场竞争激烈的背景下,C&D公司凭借卓越的产品性能和精准的市场定位,迅速在行业中崭露头角。

问答坊 | AI 解惑

自制简易热风焊台

现代电子产品广泛采用表面焊接技术,这给维修人员拆卸元器件带来不便。特别是拆卸多引脚芯片和塑封无引脚芯片,更使无专用工具的维修人员感到无从下手。   当然,采用热风焊台,可使上述难题迎刃而解。但是,一台进口热风焊台价格昂贵,国产的热 ...…

查看全部问答>

EVC 提示错误 one or more file from the emulator for windows ce is missing.please ret

各位大虾们,帮帮菜鸟吧 刚装EVC,新建一工程编译后没问题,但出现报错 one or more file from the emulator for windows ce is missing.please retinstall emulator for window ce and try again。是什么意思啊?我重装好几次也是这样啊,难道与 ...…

查看全部问答>

wince audio device 开发求助

前断时间把wince上的usb VIDEO device做好了(是slave的不是host),现在老板又需要做USB AUDIO DEVICE. USB部分已经正常能够发送数据,在电脑上录音设备也能录到声音。但是要真正实现把CE设备的声音通过USB传到电脑上来播放还必须要去修改AUDIO驱 ...…

查看全部问答>

怎么从/PROC/DEVICES中得到动态主设备号?脚本怎么样写,应该写在哪个文件里,怎么样在linux启动时运行这个脚本?谢谢!

怎么从/PROC/DEVICES中得到动态主设备号?脚本怎么样写,应该写在哪个文件里,怎么样在linux启动时运行这个脚本?谢谢!…

查看全部问答>

求助:如何去除交流采样AD出来的声音信号结果中含有直流分量?

交流采样AD出来的声音信号结果中含有直流分量(可以认为是零漂),即交直流混合电平,感觉上好像这个直流分量会发生变化,可以排除是AD前面电路造成的问题,也就是说可以确认是AD输出的漂移造成的,我想是否可以用数字滤波的方法去掉它,如果可以, ...…

查看全部问答>

2418的电流过大问题太烦了。

现在重新测试,同样的板子,程序也一样。 用149一切正常, 换为2418,电流有1.3ma,而且会经常自动重启。。。 郁闷啊。。。。。。。 lierda的工程师们知道为什么吗?…

查看全部问答>

MC9S08QG8单片机实现单位时间捕获脉冲次数计数

最近正在做玩具智能车,不可避免的要用到单片机的捕获功能。 现想通过MC9S08QG8单片机实现单位时间捕获脉冲次数计数,来计算小车的速度。 问题卡在了捕获功能的实现上。   所用单片机:MC9S08QG8     8位机 实现功能 ...…

查看全部问答>

MSP430 ADC12 使用P6.1没有反应啊!很急啊 谢谢

/********************************************************* 程序功能:将ADC对P6.1端口电压的转换结果按转换数据在液晶上显示 **********************************************************/ #include #include \"allfunc.h\" #include \" ...…

查看全部问答>

ADI总结的放大器设计技术和放大器工艺

箝位放大器 箝位放大器允许设计人员指定高(VCH)和低(VCL)输出箝位电压,以使输出信号箝位在特定电平。与传统的输出箝位器件相比,ADI公司独特的CLAMPIN™输入箝位架构显著改善了箝位性能,箝位区的箝位误差和失真极小。 共模线性化放大器 ...…

查看全部问答>

Z-stack中的组播问题讨论

在调试Z-stack 2007的协议栈里的SampleApp的例子中发现,用户事件初始化函数SampleApp_Init中协调器和终端都加入到了group 1了。我操作终端按键K1,协调器能收到数据。但是我操作协调器的按键K1,终端却不能收到数据。这是为什么呢  难道 ...…

查看全部问答>