stm32f407zgt6+Gy-39光照温湿度传感器

以下是使用USART串口输出GY-39传感器数据的代码,可以通过串口打印出气压、温度、光强和湿度数据:

 

#include "stm32f4xx.h"

#include "stm32f4xx_gpio.h"

#include "stm32f4xx_i2c.h"

#include "stm32f4xx_usart.h"

#include "stdio.h"

#define GY39_ADDRESS 0x5C   参考数据手册进行修改

#define USARTx USART1

#define USARTx_CLK RCC_APB2Periph_USART1

#define USARTx_TX_PIN GPIO_Pin_9

#define USARTx_TX_GPIO_PORT GPIOA

#define USARTx_TX_GPIO_CLK RCC_AHB1Periph_GPIOA

#define USARTx_TX_SOURCE GPIO_PinSource9

#define USARTx_TX_AF GPIO_AF_USART1

#define USARTx_BAUDRATE 9600

#define USARTx_IRQn USART1_IRQn

#define USARTx_IRQHandler USART1_IRQHandler

void delay(uint32_t ms){

    ms *= 3360;

    while(ms--){

        __NOP();

    }

}

串口的初始化,也可以不用,可直接用正点原子f4模板

void USARTx_Configuration(void){

    USART_InitTypeDef USART_InitStructure;

    GPIO_InitTypeDef GPIO_InitStructure;

    /* Enable GPIO clock */

    RCC_AHB1PeriphClockCmd(USARTx_TX_GPIO_CLK, ENABLE);

    /* Enable USART clock */

    RCC_APB2PeriphClockCmd(USARTx_CLK, ENABLE);

    /* Connect PXx to USARTx_Tx*/

    GPIO_PinAFConfig(USARTx_TX_GPIO_PORT, USARTx_TX_SOURCE, USARTx_TX_AF);

    /* Configure USART Tx as alternate function push-pull */

    GPIO_InitStructure.GPIO_Pin = USARTx_TX_PIN;

    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;

    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

    GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;

    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;

    GPIO_Init(USARTx_TX_GPIO_PORT, &GPIO_InitStructure);

 

    /* USARTx configuration *

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Pure131

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值