#include "user_data_send.h" #include #include #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); } }