- 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
- 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
- 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
超级终端显示效果:
程序代码:
/***
用 STM32F103C8 调试 GY-30
串口展示光强度
SDA: GPIOB0
SCL: GPIOB1
***/
#include stm32f10x.h
#include BH1750.h
#include usart1.h
uchar BUF[8]; //接收数据缓存区
int dis_data; //变量
int mcy;
/*
* 函数名:main
* 描述 : 主函数
* 输入 :无
* 输出 : 无
*/
int main(void)
{
float temp;
/* 配置系统时钟为 72M */
SystemInit();
USART1_Config(); //串口配置
USART1_printf(USART1, \r\n 这是一个开始 \r\n);
GPIOConfig();
Init_BH1750(); //初始化 BH1750
Delay_mms(180); //延时 180ms
while(1)
{
Single_Write_BH1750(0x01); // power on
Single_Write_BH1750(0x10); // H- resolution mode
Delay_mms(800); //延时 180ms
mread(); //连续读出数据,存储在 BUF 中
dis_data=BUF[0];
dis_data=(dis_data8)+BUF[1]; //合成数据
temp=(float)dis_data/1.2;
USART_SendData(USART1 ,temp);
while( USART_GetFlagStatus(USART1, USART_FLAG_TC)==SET);
printf( \r\n 光强度是 %f lx\r\n, temp);
}
}
//头文件
#ifndef __BH1750_H__
#define __BH1750_H__
#include stm32f10x.h
#define uchar unsigned char
#define uint unsigned int
#define sda GPIO_Pin_0 //20
#define scl GPIO_Pin_1 //21
#define SlaveAddress 0x46 //定义器件在 IIC 总线中的从地址,根据 ALT ADDRESS
地址引脚不同修改
//ALT ADDRESS 引脚接地时地址为 0xA6,接电源时地
址为 0x3A
extern uchar BUF[8]; //接收数据缓存区
extern int dis_data; //变量
extern int mcy; //表示进位标志位
void Init_BH1750(void);
void conversion(uint temp_data);
void Single_Write_BH1750(uchar REG_Address);//单个写入数据
uchar Single_Read_BH1750(uchar REG_Address); //单个读取内部寄存器数据
void mread(void); //连续的读取内部寄存器数据
void Delay_5us(void);
void Delay_mms(uint16_t tmp);
void GPIOConfig(void);
#endif
//头文件
#ifndef _USART1_H
#define _USART1_H
#include stm32f10x.h
#include stdarg.h
#include stdio.h
void USART1_Config(void);
int fputc(int ch, FILE *f);
static char *itoa(int value, char *string, int radix);
void USART1_printf(USART_TypeDef* USARTx, uint8_t *Data,...);
#endif
//串口 C 文件
#include usart1.h
/*
* 函数名:USART1_Config
* 描述 :USART1 GPIO 配置,工作模式配置。115200 8-N-1
* 输入 :无
* 输出 : 无
* 调用 :外部调用
*/
void USART1_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
USART_InitTypeDef USART_InitStructure;
/* config USART1 clock */
RCC_APB2PeriphClockCmd(R
文档评论(0)