单片机/MCUwilliam hill官网
直播中

少年阿炳

3年用户 40经验值
擅长:嵌入式技术
私信 关注
[文章]

【南京中科微CSM32RV20开发板试用体验】温湿度读取实验

本次使用实验使用的温湿度模块是DHT11,开发板使用南京中科微CSM32RV20,
使用的IDE是 CSM Studio IDE 21.12.15版本。

DHT11采用的是单总线数据格式,通过IO口配置输出模式,然后发送起始信号后拉高总线,然后切换输入模式等待数据传输过来。将读取到的数据校验后,转换成温湿度即可。

读取温湿度并没有什么难度,主要是是想利用这个实验了解IO口的输入输出配置。
相比较于STM32的IO口配置,CSM32的IO配置更加的精简。下面的IO口配置的代码,注释部分是原STM32的IO配置代码。


  1. // DTH11  ---> PB6
  2. // 输出模式
  3. void DHT11_OUT(void)
  4. {
  5.     GPIO_MODE_Init(GPIOB,PIN6,GPIO_MODE_OUTPUT); //GPIO 模式
  6.     GPIO_PULL_Init(GPIOB,PIN6,GPIO_PULLUP); //GPIO 上拉
  7. //        GPIO_InitTypeDef GPIO_InitStruct;
  8. //        GPIO_InitStruct.GPIO_Pin=GPIO_Pin_6;
  9. //        GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;//通用推挽输出
  10. //        GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;//50M
  11. //        GPIO_Init(GPIOB, &GPIO_InitStruct);//PB6
  12. }

  13. // 输入模式
  14. void DHT11_IN(void)
  15. {
  16.     GPIO_MODE_Init(GPIOB,PIN6,GPIO_MODE_INPUT); //GPIO 模式
  17.     GPIO_PULL_Init(GPIOB,PIN6,GPIO_PULLUP); //GPIO
  18. //        GPIO_InitTypeDef GPIO_InitStruct;
  19. //        GPIO_InitStruct.GPIO_Pin=GPIO_Pin_6;
  20. //        GPIO_InitStruct.GPIO_Mode=GPIO_Mode_IN_FLOAtiNG;//配置浮空输入(外接上拉电阻)
  21. //        GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;//50M
  22. //        GPIO_Init(GPIOB, &GPIO_InitStruct);//PB6
  23. }




  • 1.JPG

    DHT11.doc (2022-1-21 18:33 上传)

    369 KB, 阅读权限: 10, 下载次数: 2

    DHT11.rar (2022-1-21 18:32 上传)

    162.27 KB, 阅读权限: 10, 下载次数: 1

更多回帖

发帖
×
20
完善资料,
赚取积分