67 lines
2.1 KiB
C
67 lines
2.1 KiB
C
#include "user_data_send.h"
|
||
#include <string.h>
|
||
#include <stdio.h>
|
||
#include "main.h"
|
||
#include "lora.h"
|
||
char sendBuffer[64];
|
||
|
||
/*******************************************************************************
|
||
**函数名称:UsartxSendDataByte(USART_TypeDef* USARTx,uint8_t Data)
|
||
**功能描述:串口发送一个字节
|
||
**入口参数:USART_TypeDef* USARTx 串口句柄
|
||
uint8_t Data 要发送的数据
|
||
**输出:无
|
||
*******************************************************************************/
|
||
void UsartxSendDataByte(USART_TypeDef* USARTx,uint8_t Data)
|
||
{
|
||
LL_USART_TransmitData8(USARTx,Data);
|
||
while(LL_USART_IsActiveFlag_TXE(USARTx) == RESET){}
|
||
}
|
||
|
||
/*******************************************************************************
|
||
**函数名称:UsartxSendDataStr(USART_TypeDef* USARTx,const uint8_t *Data,uint32_t len)
|
||
**功能描述:串口发送字符串
|
||
**入口参数:USART_TypeDef* USARTx 串口句柄
|
||
uint8_t *Data 要发送的数据
|
||
uint32_t len 数据长度
|
||
**输出:无
|
||
*******************************************************************************/
|
||
void UsartxSendDataStr(USART_TypeDef* USARTx,uint8_t *Data,uint32_t len)
|
||
{
|
||
while(len--)
|
||
{
|
||
LL_USART_TransmitData8(USARTx,*(Data++));
|
||
while(LL_USART_IsActiveFlag_TXE(USARTx) == RESET){}
|
||
}
|
||
}
|
||
|
||
/*******************************************************************************
|
||
**函数名称:SendData(uint8_t *sensorData)
|
||
**功能描述:发送传感器数据
|
||
**入口参数:uint8_t *sensorData 要发送的数据
|
||
**输出:无
|
||
*******************************************************************************/
|
||
void SendData(uint8_t *sensorData)
|
||
{
|
||
if(get_lora_state() == LORA_JOINED)
|
||
{
|
||
uint8_t length = 0;
|
||
memset(sendBuffer, 0, sizeof(sendBuffer));
|
||
length = snprintf(sendBuffer, sizeof(sendBuffer), "AT+LRSEND=59,0,5,<%02x%02x%02x%02x%02x\r\n",sensorData[0],sensorData[1],sensorData[2],sensorData[3],sensorData[4]);
|
||
UsartxSendDataStr(USART2,(uint8_t *)sendBuffer,length);
|
||
}
|
||
}
|
||
|
||
|
||
void SendHeartBeatData(uint8_t sensorData)
|
||
{
|
||
if(get_lora_state() == LORA_JOINED)
|
||
{
|
||
uint8_t length = 0;
|
||
memset(sendBuffer, 0, sizeof(sendBuffer));
|
||
length = snprintf(sendBuffer, sizeof(sendBuffer), "AT+LRSEND=219,0,1,<%02x\r\n",sensorData);
|
||
UsartxSendDataStr(USART2,(uint8_t *)sendBuffer,length);
|
||
}
|
||
|
||
}
|