#include "main.h" #include "usart.h" #include "stdio.h" #include "string.h" #include "stdlib.h" #include "lora_comm.h" extern uart_comm uart1; //设置工作模式 void set_work_mode(int index) { uint8_t buf[18] = {0}; uint8_t len; len = sizeof("AT+WORKMODE=82\r\n"); switch(index) { case 0: memcpy(buf,"AT+WORKMODE=82\r\n", len); break; case 1: memcpy(buf,"AT+WORKMODE=81\r\n", len); break; case 2: memcpy(buf,"AT+WORKMODE=21\r\n", len); break; case 3: memcpy(buf,"AT+WORKMODE=11\r\n", len); break; case 4: memcpy(buf,"AT+WORKMODE=12\r\n", len); break; case 5: len = sizeof("AT+ENTERSLEEP\r\n"); memcpy(buf,"AT+ENTERSLEEP\r\n", len); break; } //HAL_UART_Transmit_DMA(uart1.uart, buf, sizeof("18")); HAL_UART_Transmit(uart1.uart, buf, len, 100); return; } //设置收发频率 void set_work_freq(int index) { uint8_t buf[64] = {0}; uint8_t len; len = sizeof("AT+FREQ=473200000,473200000,473200000,473200000\r\n"); switch(index) { case 0: memcpy(buf,"AT+FREQ=473200000,473200000,473200000,473200000\r\n", len); break; case 1: memcpy(buf,"AT+FREQ=483200000,483200000,483200000,483200000\r\n", len); //memcpy(buf,"AT+FREQ=485125000,485125000,485125000,485125000\r\n", len); break; case 2: memcpy(buf,"AT+FREQ=493200000,493200000,493200000,493200000\r\n", len); break; case 3: memcpy(buf,"AT+FREQ=503200000,503200000,503200000,503200000\r\n", len); break; } //HAL_UART_Transmit_DMA(uart1.uart, buf, sizeof("51")); HAL_UART_Transmit(uart1.uart, buf, len, 100); return; } /* 4 ---速率 441bps 5 ---速率 934bps 6 ---速率 1868bps 7 ---速率 3736bps 8 ---速率 7472bps 9 ---速率 14946bps 10 ---速率 29891bps 11 ---速率 59783bps 18 ---速率 85106bps */ void set_rf_rate(uint8_t rate_flag) { char buf[16] = {0}; uint8_t len; char tx_rate; char rx_rate; switch(rate_flag) { case 5: tx_rate = '5'; rx_rate = '5'; break; case 6: tx_rate = '6'; rx_rate = '6'; break; } //char tx[4] = itoa(tx_rate); //len = sizeof("AT+RATE=18,18\r\n"); //memcpy(buf, "AT+RATE=4,4\r\n", len); sprintf(buf, "AT+RATE=%s,%s\r\n", &tx_rate, &rx_rate); len = sizeof(buf); //HAL_UART_Transmit_DMA(uart1.uart, buf, sizeof("18")); HAL_UART_Transmit(uart1.uart, (uint8_t *)buf, len, 100); return; } //设置发射功率 void set_rf_tx_power(int index) { uint8_t buf[16] = {0}; uint8_t len; switch(index) { case 0: memcpy(buf,"AT+TXP=0\r\n", sizeof("AT+TXP=0\r\n")); break; case 1: memcpy(buf,"AT+TXP=1\r\n", sizeof("AT+TXP=1\r\n")); break; case 2: memcpy(buf,"AT+TXP=2\r\n", sizeof("AT+TXP=2\r\n")); break; case 3: memcpy(buf,"AT+TXP=3\r\n", sizeof("AT+TXP=3\r\n")); break; case 4: memcpy(buf,"AT+TXP=4\r\n", sizeof("AT+TXP=4\r\n")); break; case 5: memcpy(buf,"AT+TXP=5\r\n", sizeof("AT+TXP=5\r\n")); break; case 6: memcpy(buf,"AT+TXP=6\r\n", sizeof("AT+TXP=6\r\n")); break; case 7: memcpy(buf,"AT+TXP=7\r\n", sizeof("AT+TXP=7\r\n")); break; case 8: memcpy(buf,"AT+TXP=8\r\n", sizeof("AT+TXP=8\r\n")); break; case 9: memcpy(buf,"AT+TXP=9\r\n", sizeof("AT+TXP=9\r\n")); break; case 10: memcpy(buf,"AT+TXP=10\r\n", sizeof("AT+TXP=10\r\n")); break; case 11: memcpy(buf,"AT+TXP=11\r\n", sizeof("AT+TXP=11\r\n")); break; case 12: memcpy(buf,"AT+TXP=12\r\n", sizeof("AT+TXP=12\r\n")); break; case 13: memcpy(buf,"AT+TXP=13\r\n", sizeof("AT+TXP=13\r\n")); break; case 14: memcpy(buf,"AT+TXP=14\r\n", sizeof("AT+TXP=14\r\n")); break; case 15: memcpy(buf,"AT+TXP=15\r\n", sizeof("AT+TXP=15\r\n")); break; } //HAL_UART_Transmit_DMA(uart1.uart, buf, sizeof("12")); HAL_UART_Transmit(uart1.uart, buf, sizeof("AT+TXP=15\r\n"), 100); return; }