|
|
@@ -18,6 +18,9 @@
|
|
|
/* USER CODE END Header */
|
|
|
/* Includes ------------------------------------------------------------------*/
|
|
|
#include "main.h"
|
|
|
+
|
|
|
+#include <time.h>
|
|
|
+
|
|
|
#include "string.h"
|
|
|
/* Private includes ----------------------------------------------------------*/
|
|
|
/* USER CODE BEGIN Includes */
|
|
|
@@ -87,6 +90,11 @@ int __io_putchar(int ch)
|
|
|
HAL_UART_Transmit(&huart1, &c, 1, HAL_MAX_DELAY);
|
|
|
return ch;
|
|
|
}
|
|
|
+
|
|
|
+void sentLoraData(uint8_t sendDataNum) {
|
|
|
+ HAL_UART_Transmit(&huart2, totalData[sendDataNum], 8, HAL_MAX_DELAY);
|
|
|
+ memset(totalData[sendDataNum], 0, sizeof(totalData[sendDataNum]));
|
|
|
+}
|
|
|
/* USER CODE END 0 */
|
|
|
|
|
|
/**
|
|
|
@@ -125,7 +133,7 @@ int main(void)
|
|
|
/* USER CODE BEGIN 2 */
|
|
|
// 启动 USART2 DMA 接收
|
|
|
HAL_UART_Receive_DMA(&huart3, rx_buf, sizeof(rx_buf));
|
|
|
- HAL_UART_Receive_IT(&huart2, uart2_rx_byte, 7);
|
|
|
+ // HAL_UART_Receive_IT(&huart2, uart2_rx_byte, 7);
|
|
|
// 使能 USART2 空闲中断
|
|
|
__HAL_UART_ENABLE_IT(&huart3, UART_IT_IDLE);
|
|
|
|
|
|
@@ -145,6 +153,7 @@ int main(void)
|
|
|
HAL_UART_Transmit(&huart2, (uint8_t *)lora_msg, strlen(lora_msg), HAL_MAX_DELAY);
|
|
|
|
|
|
int i = 0;
|
|
|
+ uint32_t timer = 0;
|
|
|
// uint8_t i = 0xaa;
|
|
|
/* USER CODE END 2 */
|
|
|
|
|
|
@@ -155,24 +164,31 @@ int main(void)
|
|
|
{
|
|
|
/* USER CODE END WHILE */
|
|
|
if (workMode == 0) { // 接收蓝牙数据
|
|
|
-
|
|
|
+ printf("接收中\r\n");
|
|
|
}else if (workMode == 1) { // 发送数据给Lora
|
|
|
-
|
|
|
- }else if (workMode == 2) { // 等待间隔时间
|
|
|
-
|
|
|
- }
|
|
|
- if (workMode == 1)
|
|
|
- {
|
|
|
- if (i < 30)
|
|
|
+ printf("发送中\r\n");
|
|
|
+ if (i < 10)
|
|
|
{
|
|
|
// 启动 USART2 DMA 接收
|
|
|
- HAL_UART_Transmit(&huart2, totalData[i], 8, HAL_MAX_DELAY);
|
|
|
+ sentLoraData(i);
|
|
|
i++;
|
|
|
}else {
|
|
|
+ workMode = 2;
|
|
|
i = 0;
|
|
|
}
|
|
|
+ }else if (workMode == 2) {
|
|
|
+ // 等待间隔时间
|
|
|
+ printf("等待中\r\n");
|
|
|
+ if (timer > 10) {
|
|
|
+ HAL_UART_Receive_DMA(&huart3, rx_buf, sizeof(rx_buf));
|
|
|
+ __HAL_UART_ENABLE_IT(&huart3, UART_IT_IDLE);
|
|
|
+ workMode = 0;
|
|
|
+ timer = 0;
|
|
|
+ }else {
|
|
|
+ timer++;
|
|
|
+ }
|
|
|
}
|
|
|
- HAL_Delay(500);
|
|
|
+ HAL_Delay(1000);
|
|
|
/* USER CODE BEGIN 3 */
|
|
|
}
|
|
|
/* USER CODE END 3 */
|