野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4296|回复: 1

野火瑞萨启明6M5开发板之SHT20温湿度

[复制链接]
发表于 2022-11-3 08:57:36 | 显示全部楼层 |阅读模式
已经收到开发板了,之后就是搭建开发环境,下载资料。
图片 1.png
从大学堂下载的资料最好就是放到一个没有中文的目录下。
图片 2.png
出教程时FSP库还是4.0.0的版本,如今已经升级了。到4.1.0了。不过野火例程还是能用的,不影响。
图片 3.png
Keil开发需要下载这两个。
图片 4.png
安装好之后就是在keil下添加这个工具路径。
图片 5.png
也是时这个RA Smart管脚配置工具。
图片 6.png
这里我用配置好的eeprom例程修改,目前这个板载IO不是全部引出的,还是芯片比较大,管脚较多的原因。一些硬件就没做引出使用了,这里我没焊接板子,是用杜邦线直接戳上去的。
图片 7.png
工程需要先编译下不然很多库没有。
图片 8.png
原有的东西我没动。新增加了一些。
  1. #define SHT20_Write_Add 0x80

  2. #define SHT20_Read_Add 0x81



  3. #define SHT20_SOFT_RESET  0XFE



  4. #define SHT20_Measurement_RH_HM  0XE5

  5. #define SHT20_Measurement_T_HM  0XE3



  6. extern i2c_master_event_t g_i2c_callback_event;

  7. extern unsigned int timeout_ms;



  8. float temp1,humi1;



  9. void sht20_get_value()

  10. {

  11. uint8_t cmd = SHT20_Measurement_T_HM;

  12. uint8_t buff[2],buff1[2];

  13. uint16_t temp,humi=0;

  14. R_IIC_MASTER_Write(&EEPROM_ctrl, &cmd, 1 , false);


  15.     while ((I2C_MASTER_EVENT_TX_COMPLETE != g_i2c_callback_event) && timeout_ms)

  16.     {

  17.         R_BSP_SoftwareDelay(1U, BSP_DELAY_UNITS_MILLISECONDS);

  18.         timeout_ms--;

  19.     }

  20.     timeout_ms = 750;


  21. R_BSP_SoftwareDelay(10U, BSP_DELAY_UNITS_MILLISECONDS);


  22. R_IIC_MASTER_Read(&EEPROM_ctrl, buff, 2 , false);



  23. while ((I2C_MASTER_EVENT_RX_COMPLETE != g_i2c_callback_event) && timeout_ms)

  24.     {

  25.         R_BSP_SoftwareDelay(1U, BSP_DELAY_UNITS_MILLISECONDS);

  26.         timeout_ms--;

  27.     }


  28. cmd = SHT20_Measurement_RH_HM;

  29. R_IIC_MASTER_Write(&EEPROM_ctrl, &cmd, 1 , false);


  30.     while ((I2C_MASTER_EVENT_TX_COMPLETE != g_i2c_callback_event) && timeout_ms)

  31.     {

  32.         R_BSP_SoftwareDelay(1U, BSP_DELAY_UNITS_MILLISECONDS);

  33.         timeout_ms--;

  34.     }

  35.     timeout_ms = 750;


  36. R_BSP_SoftwareDelay(10U, BSP_DELAY_UNITS_MILLISECONDS);


  37. R_IIC_MASTER_Read(&EEPROM_ctrl, buff1, 2 , false);



  38. while ((I2C_MASTER_EVENT_RX_COMPLETE != g_i2c_callback_event) && timeout_ms)

  39.     {

  40.         R_BSP_SoftwareDelay(1U, BSP_DELAY_UNITS_MILLISECONDS);

  41.         timeout_ms--;

  42.     }


  43.     timeout_ms = 750;

  44. temp=(uint16_t)buff[0];

  45. temp=temp<<8;

  46. temp=buff[1]|temp;



  47. temp1=-46.85+175.72*((float)temp/65536);


  48. humi=(uint16_t)buff1[0];

  49. humi=humi<<8;

  50. humi=buff1[1]|humi;



  51. humi1=-6+125*((float)humi/65536);

  52. }



  53. void sht20_soft_reset()

  54. {

  55. uint8_t cmd = SHT20_SOFT_RESET;


  56. R_IIC_MASTER_Write(&EEPROM_ctrl, &cmd, 1 , false);



  57.     while ((I2C_MASTER_EVENT_TX_COMPLETE != g_i2c_callback_event) && timeout_ms)

  58.     {

  59.         R_BSP_SoftwareDelay(1U, BSP_DELAY_UNITS_MILLISECONDS);

  60.         timeout_ms--;

  61.     }

  62.     timeout_ms = 500;

  63. }
复制代码

这里用硬件还是很方便的。
图片 9.png
修改上面的文件下的一些配置。上面两个因为这个SHT20发出读数据,中间要等待其转换,转换时长比较长,所以需要修改。
图片 10.png
时序是这样的。
图片 11.png
图片 12.png
仿真用的J-LINKsht20直接短接在EEPROM管脚上。
图片 13.png
打印数据如上。

22_EEPROM_Hardware.zip (1.3 MB, 下载次数: 24)



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 17:30 , Processed in 0.045404 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表