#include "user_data_send.h" #include #include #include "main.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(uint16_t *sensorData) { uint8_t length = 0; uint8_t buf[2]; buf[1]=sensorData[0]&0x00FF; buf[0]=sensorData[0]>>8&0x00FF; memset(sendBuffer, 0, sizeof(sendBuffer)); #ifdef TissuePaper length = snprintf(sendBuffer, sizeof(sendBuffer), "AT+LRSEND=%d,0,%d,<%02x\r\n", DATA_PORT,1, buf[1]); //length = snprintf(sendBuffer, sizeof(sendBuffer), "AT+LRSEND=%d,0,%d,>%02x\r\n", DATA_PORT, SENSOR_QUANTITY, sensorData[0]); #endif #ifdef JumboRoll length = snprintf(sendBuffer, sizeof(sendBuffer), "AT+LRSEND=%d,0,%d,<%02x\r\n", DATA_PORT, 1, buf[1]); //length = snprintf(sendBuffer, sizeof(sendBuffer), "AT+LRSEND=%d,0,%d,>%02x\r\n", DATA_PORT, SENSOR_QUANTITY, sensorData[0]); #endif #ifdef DoubleJumboRoll uint8_t buf2[2]; buf2[1]=sensorData[2]&0x00FF; buf2[0]=sensorData[2]>>8&0x00FF; //length = snprintf(sendBuffer, sizeof(sendBuffer), "AT+LRSEND=%d,0,%d,>%02x%02x\r\n", DATA_PORT, SENSOR_QUANTITY, sensorData[0],sensorData[1]); length = snprintf(sendBuffer, sizeof(sendBuffer), "AT+LRSEND=%d,0,%d,<%02x%02x\r\n", DATA_PORT,2, buf[1], buf2[1]); #endif #ifdef WasteBin length = snprintf(sendBuffer, sizeof(sendBuffer), "AT+LRSEND=%d,0,%d,<%02x%02x\r\n",DATA_PORT, 2, buf[0], buf[1]); #endif UsartxSendDataStr(Lora_Uart,(uint8_t *)sendBuffer,length); }