Merge pull request #275 from DavidLin1577/patch-1
Fixed bug in l610_tencent_firmware
This commit is contained in:
@@ -9,10 +9,10 @@ int result;
|
|||||||
|
|
||||||
|
|
||||||
/***************************************************************
|
/***************************************************************
|
||||||
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: Init_BH1750
|
* 函数名称: Init_BH1750
|
||||||
* ˵ <EFBFBD><EFBFBD>: д<><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>BH1750
|
* 说 明: 写命令初始化BH1750
|
||||||
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>: <20><>
|
* 参 数: 无
|
||||||
* <EFBFBD><EFBFBD> <20><> ֵ: <20><>
|
* 返 回 值: 无
|
||||||
***************************************************************/
|
***************************************************************/
|
||||||
void Init_BH1750(void)
|
void Init_BH1750(void)
|
||||||
{
|
{
|
||||||
@@ -21,10 +21,10 @@ void Init_BH1750(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/***************************************************************
|
/***************************************************************
|
||||||
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: Start_BH1750
|
* 函数名称: Start_BH1750
|
||||||
* ˵ <EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD>BH1750
|
* 说 明: 启动BH1750
|
||||||
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>: <20><>
|
* 参 数: 无
|
||||||
* <EFBFBD><EFBFBD> <20><> ֵ: <20><>
|
* 返 回 值: 无
|
||||||
***************************************************************/
|
***************************************************************/
|
||||||
void Start_BH1750(void)
|
void Start_BH1750(void)
|
||||||
{
|
{
|
||||||
@@ -35,10 +35,10 @@ void Start_BH1750(void)
|
|||||||
|
|
||||||
|
|
||||||
/***************************************************************
|
/***************************************************************
|
||||||
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: Convert_BH1750
|
* 函数名称: Convert_BH1750
|
||||||
* ˵ <EFBFBD><EFBFBD>: <20><>ֵת<D6B5><D7AA>
|
* 说 明: 数值转换
|
||||||
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>: <20><>
|
* 参 数: 无
|
||||||
* <EFBFBD><EFBFBD> <20><> ֵ: <20><>ǿֵ
|
* 返 回 值: 光强值
|
||||||
***************************************************************/
|
***************************************************************/
|
||||||
float Convert_BH1750(void)
|
float Convert_BH1750(void)
|
||||||
{
|
{
|
||||||
@@ -46,7 +46,7 @@ float Convert_BH1750(void)
|
|||||||
HAL_Delay(180);
|
HAL_Delay(180);
|
||||||
HAL_I2C_Master_Receive(&hi2c1, BH1750_Addr+1,BUF,2,0xff);
|
HAL_I2C_Master_Receive(&hi2c1, BH1750_Addr+1,BUF,2,0xff);
|
||||||
result=BUF[0];
|
result=BUF[0];
|
||||||
result=(result<<8)+BUF[1]; //<EFBFBD>ϳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
result=(result<<8)+BUF[1]; //合成数据,即光照数据
|
||||||
result_lx=(float)(result/1.2);
|
result_lx=(float)(result/1.2);
|
||||||
return result_lx;
|
return result_lx;
|
||||||
}
|
}
|
||||||
|
@@ -1,10 +1,10 @@
|
|||||||
#ifndef __BH1750_H__
|
#ifndef __BH1750_H__
|
||||||
#define __BH1750_H__
|
#define __BH1750_H__
|
||||||
/* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD> ----------------------------------------------------------------*/
|
/* 包含头文件 ----------------------------------------------------------------*/
|
||||||
#include "stm32l4xx_hal.h"
|
#include "stm32l4xx_hal.h"
|
||||||
|
|
||||||
/* <EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD> ------------------------------------------------------------------*/
|
/* 类型定义 ------------------------------------------------------------------*/
|
||||||
/* <EFBFBD>궨<EFBFBD><EFBFBD> --------------------------------------------------------------------*/
|
/* 宏定义 --------------------------------------------------------------------*/
|
||||||
#define I2C_OWN_ADDRESS 0x0A
|
#define I2C_OWN_ADDRESS 0x0A
|
||||||
|
|
||||||
#define BH1750_Addr 0x46
|
#define BH1750_Addr 0x46
|
||||||
@@ -15,25 +15,21 @@
|
|||||||
|
|
||||||
|
|
||||||
/***************************************************************
|
/***************************************************************
|
||||||
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: BH1750_Data_TypeDef
|
* 函数名称: BH1750_Data_TypeDef
|
||||||
* ˵ <EFBFBD><EFBFBD>: BH1750<EFBFBD>ṹ<EFBFBD><EFBFBD>
|
* 说 明: BH1750结构体
|
||||||
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>: <20><>
|
* 参 数: 无
|
||||||
* <EFBFBD><EFBFBD> <20><> ֵ: <20><>
|
* 返 回 值: 无
|
||||||
***************************************************************/
|
***************************************************************/
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
char Lux[5]; //<2F><>ǿ
|
char Lux[5]; //光强
|
||||||
}BH1750_Data_TypeDef;
|
}BH1750_Data_TypeDef;
|
||||||
|
|
||||||
|
|
||||||
|
void Init_BH1750(void); //IO初始化,
|
||||||
void Init_BH1750(void); //IO<49><4F>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
void Start_BH1750(void); //上电,设置清除数据寄存器
|
||||||
void Start_BH1750(void); //<2F>ϵ磬<CFB5><E7A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݼĴ<DDBC><C4B4><EFBFBD>
|
//void Read_BH1750(void); //连续的读取内部寄存器数据
|
||||||
//void Read_BH1750(void); //<2F><><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD>ȡ<EFBFBD>ڲ<EFBFBD><DAB2>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
float Convert_BH1750(void);
|
float Convert_BH1750(void);
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* __BH1750_H__ */
|
||||||
|
|
||||||
|
@@ -62,7 +62,6 @@ void SHT30_reset(void)
|
|||||||
uint8_t SHT3X_Resetcommand_Buffer[2]={0x30,0xA2}; //soft reset
|
uint8_t SHT3X_Resetcommand_Buffer[2]={0x30,0xA2}; //soft reset
|
||||||
HAL_I2C_Master_Transmit(&hi2c1,SHT30_Addr<<1,SHT3X_Resetcommand_Buffer,2,0x10);
|
HAL_I2C_Master_Transmit(&hi2c1,SHT30_Addr<<1,SHT3X_Resetcommand_Buffer,2,0x10);
|
||||||
HAL_Delay(15);
|
HAL_Delay(15);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/***************************************************************
|
/***************************************************************
|
||||||
@@ -75,7 +74,6 @@ void Init_SHT30(void)
|
|||||||
{
|
{
|
||||||
uint8_t SHT3X_Modecommand_Buffer[2]={0x22,0x36}; //periodic mode commands
|
uint8_t SHT3X_Modecommand_Buffer[2]={0x22,0x36}; //periodic mode commands
|
||||||
HAL_I2C_Master_Transmit(&hi2c1,SHT30_Addr<<1,SHT3X_Modecommand_Buffer,2,0x10); //send periodic mode commands
|
HAL_I2C_Master_Transmit(&hi2c1,SHT30_Addr<<1,SHT3X_Modecommand_Buffer,2,0x10); //send periodic mode commands
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/***************************************************************
|
/***************************************************************
|
||||||
@@ -108,7 +106,6 @@ uint8_t SHT3x_CheckCrc(char data[], char nbrOfBytes, char checksum)
|
|||||||
return 1;
|
return 1;
|
||||||
else
|
else
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/***************************************************************
|
/***************************************************************
|
||||||
@@ -184,7 +181,6 @@ void motor_control(char mode){
|
|||||||
E53_IA1_Data.MotorMode=0;
|
E53_IA1_Data.MotorMode=0;
|
||||||
HAL_GPIO_WritePin(IA1_Motor_GPIO_Port, IA1_Motor_Pin, GPIO_PIN_RESET);
|
HAL_GPIO_WritePin(IA1_Motor_GPIO_Port, IA1_Motor_Pin, GPIO_PIN_RESET);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -199,7 +195,6 @@ void light_control(char mode){
|
|||||||
E53_IA1_Data.LightMode=0;
|
E53_IA1_Data.LightMode=0;
|
||||||
HAL_GPIO_WritePin(IA1_Light_GPIO_Port, IA1_Light_Pin, GPIO_PIN_RESET);
|
HAL_GPIO_WritePin(IA1_Light_GPIO_Port, IA1_Light_Pin, GPIO_PIN_RESET);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/***************************************************************
|
/***************************************************************
|
||||||
@@ -289,4 +284,3 @@ void E53_IA1_Read_Data(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -38,9 +38,5 @@ extern E53_IA1_Data_TypeDef E53_IA1_Data;
|
|||||||
void Init_E53_IA1(void);
|
void Init_E53_IA1(void);
|
||||||
void E53_IA1_Read_Data(void);
|
void E53_IA1_Read_Data(void);
|
||||||
|
|
||||||
#endif
|
#endif /* __E53_IA1_H__ */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -26,7 +26,7 @@ typedef struct
|
|||||||
extern E53_SF1_Data_TypeDef E53_SF1_Data;
|
extern E53_SF1_Data_TypeDef E53_SF1_Data;
|
||||||
|
|
||||||
/***************************************************************
|
/***************************************************************
|
||||||
* 名 称: GasStatus_ENUM
|
* 名 称: E53SF1_Status_ENUM
|
||||||
* 说 明:枚举状态结构体
|
* 说 明:枚举状态结构体
|
||||||
***************************************************************/
|
***************************************************************/
|
||||||
typedef enum
|
typedef enum
|
||||||
@@ -41,9 +41,5 @@ void E53_SF1_Read_Data(void);
|
|||||||
void E53SF1_LED_StatusSet(E53SF1_Status_ENUM status);
|
void E53SF1_LED_StatusSet(E53SF1_Status_ENUM status);
|
||||||
void E53SF1_Beep(E53SF1_Status_ENUM status);
|
void E53SF1_Beep(E53SF1_Status_ENUM status);
|
||||||
|
|
||||||
#endif
|
#endif /* __E53_SF1_H__ */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -116,7 +116,6 @@ void HAL_TIM_MspPostInit(TIM_HandleTypeDef* timHandle)
|
|||||||
HAL_GPIO_Init(ST1_Beep_GPIO_Port, &GPIO_InitStruct);
|
HAL_GPIO_Init(ST1_Beep_GPIO_Port, &GPIO_InitStruct);
|
||||||
|
|
||||||
/* USER CODE BEGIN TIM16_MspPostInit 1 */
|
/* USER CODE BEGIN TIM16_MspPostInit 1 */
|
||||||
|
|
||||||
/* USER CODE END TIM16_MspPostInit 1 */
|
/* USER CODE END TIM16_MspPostInit 1 */
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -225,7 +224,7 @@ void Init_E53_ST1(void)
|
|||||||
* 函数名称: NMEA_Comma_Pos
|
* 函数名称: NMEA_Comma_Pos
|
||||||
* 函数功能:从buf里面得到第cx个逗号所在的位置
|
* 函数功能:从buf里面得到第cx个逗号所在的位置
|
||||||
* 输入值:
|
* 输入值:
|
||||||
* 返回值:0~0xFE,代表逗号所在位置的便宜
|
* 返回值:0~0xFE,代表逗号所在位置偏移
|
||||||
* 0xFF,代表不存在第cx个逗号
|
* 0xFF,代表不存在第cx个逗号
|
||||||
\***************************************************/
|
\***************************************************/
|
||||||
|
|
||||||
@@ -346,8 +345,8 @@ void E53_ST1_Read_Data(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/***************************************************************
|
/***************************************************************
|
||||||
* 函数名称: E53SF1_LED_StatusSet
|
* 函数名称: E53_ST1_LED_StatusSet
|
||||||
* 说 明: E53SF1开发板上的LED灯的亮灭控制
|
* 说 明: E53 ST1开发板上的LED灯的亮灭控制
|
||||||
* 参 数: status,LED灯的状态
|
* 参 数: status,LED灯的状态
|
||||||
* 非1,关灯
|
* 非1,关灯
|
||||||
* 1,开灯
|
* 1,开灯
|
||||||
@@ -359,8 +358,8 @@ void E53_ST1_LED_StatusSet(E53ST1_Status_ENUM status)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/***************************************************************
|
/***************************************************************
|
||||||
* 函数名称: E53SF1_BEEP
|
* 函数名称: E53_ST1_Beep
|
||||||
* 说 明: E53SF1蜂鸣器报警与否
|
* 说 明: E53 ST1蜂鸣器报警与否
|
||||||
* 参 数: status,LED_ENUM枚举的数据
|
* 参 数: status,LED_ENUM枚举的数据
|
||||||
* LED_OFF,关灯
|
* LED_OFF,关灯
|
||||||
* LED_ON,开灯
|
* LED_ON,开灯
|
||||||
@@ -374,4 +373,3 @@ void E53_ST1_Beep(E53ST1_Status_ENUM status)
|
|||||||
HAL_TIM_PWM_Stop(&htim16,TIM_CHANNEL_1);
|
HAL_TIM_PWM_Stop(&htim16,TIM_CHANNEL_1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -16,7 +16,7 @@
|
|||||||
#define ST1_GPS_POW_GPIO_CLK_ENABLE() __HAL_RCC_GPIOC_CLK_ENABLE()
|
#define ST1_GPS_POW_GPIO_CLK_ENABLE() __HAL_RCC_GPIOC_CLK_ENABLE()
|
||||||
|
|
||||||
/***************************************************************
|
/***************************************************************
|
||||||
* 名 称: GasStatus_ENUM
|
* 名 称: E53ST1_Status_ENUM
|
||||||
* 说 明:枚举状态结构体
|
* 说 明:枚举状态结构体
|
||||||
***************************************************************/
|
***************************************************************/
|
||||||
typedef enum
|
typedef enum
|
||||||
@@ -31,7 +31,7 @@ typedef enum
|
|||||||
\***************************************************/
|
\***************************************************/
|
||||||
__packed typedef struct
|
__packed typedef struct
|
||||||
{
|
{
|
||||||
uint32_t latitude_bd; //纬度 分扩大100000倍,实际要除以100000
|
uint32_t latitude_bd; //纬度 分扩大100000倍,实际要除以100000
|
||||||
uint8_t nshemi_bd; //北纬/南纬,N:北纬;S:南纬
|
uint8_t nshemi_bd; //北纬/南纬,N:北纬;S:南纬
|
||||||
uint32_t longitude_bd; //经度 分扩大100000倍,实际要除以100000
|
uint32_t longitude_bd; //经度 分扩大100000倍,实际要除以100000
|
||||||
uint8_t ewhemi_bd; //东经/西经,E:东经;W:西经
|
uint8_t ewhemi_bd; //东经/西经,E:东经;W:西经
|
||||||
@@ -62,9 +62,5 @@ void E53_ST1_Read_Data(void);
|
|||||||
void E53_ST1_LED_StatusSet(E53ST1_Status_ENUM status);
|
void E53_ST1_LED_StatusSet(E53ST1_Status_ENUM status);
|
||||||
void E53_ST1_Beep(E53ST1_Status_ENUM status);
|
void E53_ST1_Beep(E53ST1_Status_ENUM status);
|
||||||
|
|
||||||
#endif
|
#endif /* __E53_ST1_H__ */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -66,7 +66,7 @@ void mqtt_demo_task(void)
|
|||||||
printf("MQTT: %s\n", state == MQTT_STATE_CONNECTED ? "CONNECTED" : "DISCONNECTED");
|
printf("MQTT: %s\n", state == MQTT_STATE_CONNECTED ? "CONNECTED" : "DISCONNECTED");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* <EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>topic */
|
/* ¿ªÊ¼¶©ÔÄtopic */
|
||||||
size = snprintf(report_reply_topic_name, TOPIC_NAME_MAX_SIZE, "$thing/down/property/%s/%s", product_id, device_name);
|
size = snprintf(report_reply_topic_name, TOPIC_NAME_MAX_SIZE, "$thing/down/property/%s/%s", product_id, device_name);
|
||||||
|
|
||||||
if (size < 0 || size > sizeof(report_reply_topic_name) - 1) {
|
if (size < 0 || size > sizeof(report_reply_topic_name) - 1) {
|
||||||
@@ -78,7 +78,7 @@ void mqtt_demo_task(void)
|
|||||||
printf("module mqtt sub success\n");
|
printf("module mqtt sub success\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
memset(report_topic_name, sizeof(report_topic_name), 0);
|
memset(report_topic_name, 0, sizeof(report_topic_name));
|
||||||
size = snprintf(report_topic_name, TOPIC_NAME_MAX_SIZE, "$thing/up/property/%s/%s", product_id, device_name);
|
size = snprintf(report_topic_name, TOPIC_NAME_MAX_SIZE, "$thing/up/property/%s/%s", product_id, device_name);
|
||||||
|
|
||||||
if (size < 0 || size > sizeof(report_topic_name) - 1) {
|
if (size < 0 || size > sizeof(report_topic_name) - 1) {
|
||||||
@@ -88,7 +88,7 @@ void mqtt_demo_task(void)
|
|||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
|
|
||||||
/* <EFBFBD>ϱ<EFBFBD>ֵ */
|
/* Éϱ¨Öµ */
|
||||||
memset(payload, 0, sizeof(payload));
|
memset(payload, 0, sizeof(payload));
|
||||||
snprintf(payload, sizeof(payload), REPORT_DATA_TEMPLATE, 30);
|
snprintf(payload, sizeof(payload), REPORT_DATA_TEMPLATE, 30);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user