更新:
1、RS485波特率提升至115200; 2、频率操作由宏定义更改为函数; 3、数据接收&发送接收时的数组操作优化;
This commit is contained in:
parent
9ef099f074
commit
054354fbad
|
@ -166,8 +166,7 @@ void trans_hart2pc(void)
|
||||||
//接收到的数据是否符合HART数据报,符合则写入485的tx,准备发送至上位机
|
//接收到的数据是否符合HART数据报,符合则写入485的tx,准备发送至上位机
|
||||||
if ((scom1_hart.rx_buff[0] == 0xff) && (scom1_hart.rx_buff[1] == 0xff) && (scom1_hart.rx_buff[scom1_hart.rx_len - 1] == 0xAA))
|
if ((scom1_hart.rx_buff[0] == 0xff) && (scom1_hart.rx_buff[1] == 0xff) && (scom1_hart.rx_buff[scom1_hart.rx_len - 1] == 0xAA))
|
||||||
{
|
{
|
||||||
//SIG -> PC
|
memcpy(scom2_rs485.tx_buff, scom1_hart.rx_buff, scom1_hart.rx_len);
|
||||||
memcpy(scom2_rs485.tx_buff, scom1_hart.rx_buff, sizeof(scom1_hart.rx_buff));
|
|
||||||
scom2_rs485.tx_len = scom1_hart.rx_len;
|
scom2_rs485.tx_len = scom1_hart.rx_len;
|
||||||
scom2_rs485.tx_flag = TRUE;
|
scom2_rs485.tx_flag = TRUE;
|
||||||
}
|
}
|
||||||
|
@ -176,15 +175,12 @@ void trans_hart2pc(void)
|
||||||
{
|
{
|
||||||
scom2_rs485.tx_flag = FALSE;
|
scom2_rs485.tx_flag = FALSE;
|
||||||
|
|
||||||
//wu_delay_us(500);
|
|
||||||
|
|
||||||
//将数据发送至上位机
|
//将数据发送至上位机
|
||||||
//HAL_UART_Transmit(&huart2, scom2_rs485.tx_buff, scom2_rs485.tx_len, 0xFFFF);
|
|
||||||
HAL_UART_Transmit_DMA(&huart2, scom2_rs485.tx_buff, scom2_rs485.tx_len);
|
HAL_UART_Transmit_DMA(&huart2, scom2_rs485.tx_buff, scom2_rs485.tx_len);
|
||||||
}
|
}
|
||||||
|
|
||||||
//清空缓存区,等待新的数据
|
//清空缓存区,等待新的数据
|
||||||
memset(scom1_hart.rx_buff, 0, sizeof(scom1_hart.rx_buff));
|
memset(scom1_hart.rx_buff, 0, scom1_hart.rx_len);
|
||||||
scom1_hart.rx_len = 0;
|
scom1_hart.rx_len = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -198,7 +194,7 @@ void trans_pc2hart(void)
|
||||||
if ((scom2_rs485.rx_buff[0] == 0xff) && (scom2_rs485.rx_buff[1] == 0xff) && (scom2_rs485.rx_buff[scom2_rs485.rx_len - 1] == 0xaa))
|
if ((scom2_rs485.rx_buff[0] == 0xff) && (scom2_rs485.rx_buff[1] == 0xff) && (scom2_rs485.rx_buff[scom2_rs485.rx_len - 1] == 0xaa))
|
||||||
{
|
{
|
||||||
//接收到的数据是否符合HART数据报,符合则写入HART的tx,准备发送至HART设备
|
//接收到的数据是否符合HART数据报,符合则写入HART的tx,准备发送至HART设备
|
||||||
memcpy(scom1_hart.tx_buff, scom2_rs485.rx_buff, sizeof(scom2_rs485.rx_buff));
|
memcpy(scom1_hart.tx_buff, scom2_rs485.rx_buff, scom2_rs485.rx_len);
|
||||||
scom1_hart.tx_len = scom2_rs485.rx_len;
|
scom1_hart.tx_len = scom2_rs485.rx_len;
|
||||||
scom1_hart.tx_flag = TRUE;
|
scom1_hart.tx_flag = TRUE;
|
||||||
}
|
}
|
||||||
|
@ -209,29 +205,29 @@ void trans_pc2hart(void)
|
||||||
scom1_hart.tx_flag = FALSE;
|
scom1_hart.tx_flag = FALSE;
|
||||||
HART_RTS(RTS_ON);
|
HART_RTS(RTS_ON);
|
||||||
|
|
||||||
wu_delay_us(15000);
|
wu_delay_us(10000);
|
||||||
|
|
||||||
//将tx中的数据发送至HART设备
|
//将tx中的数据发送至HART设备
|
||||||
//hart_send(&huart1, scom1_hart.tx_buff);
|
|
||||||
//HAL_UART_Transmit(&huart1, scom1_hart.tx_buff, scom1_hart.tx_len , 0xFFFF);
|
|
||||||
HAL_UART_Transmit_DMA(&huart1, scom1_hart.tx_buff, scom1_hart.tx_len);
|
HAL_UART_Transmit_DMA(&huart1, scom1_hart.tx_buff, scom1_hart.tx_len);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//清空缓存区,等待新的数据
|
//清空缓存区,等待新的数据
|
||||||
memset(scom2_rs485.rx_buff, 0, sizeof(scom2_rs485.rx_buff));
|
memset(scom2_rs485.rx_buff, 0, scom2_rs485.rx_len);
|
||||||
scom2_rs485.rx_len = 0;
|
scom2_rs485.rx_len = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void trans_ble2pc(void)
|
void trans_ble2pc(void)
|
||||||
{
|
{
|
||||||
|
if( ble_init() == 0 ) return;
|
||||||
|
|
||||||
if (scom6_ble.rx_flag == TRUE)
|
if (scom6_ble.rx_flag == TRUE)
|
||||||
{
|
{
|
||||||
scom6_ble.rx_flag = FALSE;
|
scom6_ble.rx_flag = FALSE;
|
||||||
|
|
||||||
//将接收到的数据存入485的tx,准备发送至上位机
|
//将接收到的数据存入485的tx,准备发送至上位机
|
||||||
memcpy(scom2_rs485.tx_buff, scom6_ble.rx_buff, sizeof(scom6_ble.rx_buff));
|
memcpy(scom2_rs485.tx_buff, scom6_ble.rx_buff, scom6_ble.rx_len);
|
||||||
scom2_rs485.tx_len = scom6_ble.rx_len;
|
scom2_rs485.tx_len = scom6_ble.rx_len;
|
||||||
scom2_rs485.tx_flag = TRUE;
|
scom2_rs485.tx_flag = TRUE;
|
||||||
|
|
||||||
|
@ -239,15 +235,12 @@ void trans_ble2pc(void)
|
||||||
{
|
{
|
||||||
scom2_rs485.tx_flag = FALSE;
|
scom2_rs485.tx_flag = FALSE;
|
||||||
|
|
||||||
//wu_delay_us(500);
|
|
||||||
|
|
||||||
//将数据发送至上位机
|
//将数据发送至上位机
|
||||||
//HAL_UART_Transmit(&huart2, scom2_rs485.tx_buff, scom2_rs485.tx_len, 0xFFFF);
|
|
||||||
HAL_UART_Transmit_DMA(&huart2, scom2_rs485.tx_buff, scom2_rs485.tx_len);
|
HAL_UART_Transmit_DMA(&huart2, scom2_rs485.tx_buff, scom2_rs485.tx_len);
|
||||||
}
|
}
|
||||||
|
|
||||||
//清空缓存区,等待新的数据
|
//清空缓存区,等待新的数据
|
||||||
memset(scom6_ble.rx_buff, 0, sizeof(scom6_ble.rx_buff));
|
memset(scom6_ble.rx_buff, 0, scom6_ble.rx_len);
|
||||||
scom6_ble.rx_len = 0;
|
scom6_ble.rx_len = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -259,7 +252,7 @@ void trans_pc2ble(void)
|
||||||
scom2_rs485.rx_flag = FALSE;
|
scom2_rs485.rx_flag = FALSE;
|
||||||
|
|
||||||
//将接收到的数据存入BLE的tx,准备发送至蓝牙设备
|
//将接收到的数据存入BLE的tx,准备发送至蓝牙设备
|
||||||
memcpy(scom6_ble.tx_buff, scom2_rs485.rx_buff, sizeof(scom2_rs485.rx_buff));
|
memcpy(scom6_ble.tx_buff, scom2_rs485.rx_buff, scom2_rs485.rx_len);
|
||||||
scom6_ble.tx_len = scom2_rs485.rx_len;
|
scom6_ble.tx_len = scom2_rs485.rx_len;
|
||||||
scom6_ble.tx_flag = TRUE;
|
scom6_ble.tx_flag = TRUE;
|
||||||
|
|
||||||
|
@ -269,13 +262,11 @@ void trans_pc2ble(void)
|
||||||
scom6_ble.tx_flag = FALSE;
|
scom6_ble.tx_flag = FALSE;
|
||||||
|
|
||||||
//将tx中的数据发送至蓝牙设备
|
//将tx中的数据发送至蓝牙设备
|
||||||
//ble_send(&huart6, scom6_ble.tx_buff);
|
|
||||||
//HAL_UART_Transmit(&huart6, scom6_ble.tx_buff, scom6_ble.tx_len, 0xFFFF);
|
|
||||||
HAL_UART_Transmit_DMA(&huart6, scom6_ble.tx_buff, scom6_ble.tx_len);
|
HAL_UART_Transmit_DMA(&huart6, scom6_ble.tx_buff, scom6_ble.tx_len);
|
||||||
}
|
}
|
||||||
|
|
||||||
//清空缓存区,等待新的数据
|
//清空缓存区,等待新的数据
|
||||||
memset(scom2_rs485.rx_buff, 0, sizeof(scom2_rs485.rx_buff));
|
memset(scom2_rs485.rx_buff, 0, scom2_rs485.rx_len);
|
||||||
scom2_rs485.rx_len = 0;
|
scom2_rs485.rx_len = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -292,15 +283,12 @@ void trans_modbus_pc2sig(void)
|
||||||
{
|
{
|
||||||
scom2_rs485.tx_flag = FALSE;
|
scom2_rs485.tx_flag = FALSE;
|
||||||
|
|
||||||
//wu_delay_us(500);
|
|
||||||
|
|
||||||
//将数据发送至上位机
|
//将数据发送至上位机
|
||||||
//HAL_UART_Transmit(&huart2, scom2_rs485.tx_buff, scom2_rs485.tx_len, 0xFFFF);
|
|
||||||
HAL_UART_Transmit_DMA(&huart2, scom2_rs485.tx_buff, scom2_rs485.tx_len);
|
HAL_UART_Transmit_DMA(&huart2, scom2_rs485.tx_buff, scom2_rs485.tx_len);
|
||||||
}
|
}
|
||||||
|
|
||||||
//清空缓存区,等待新的数据
|
//清空缓存区,等待新的数据
|
||||||
memset(scom2_rs485.rx_buff, 0, sizeof(scom2_rs485.rx_buff));
|
memset(scom2_rs485.rx_buff, 0, scom2_rs485.rx_len);
|
||||||
scom2_rs485.rx_len = 0;
|
scom2_rs485.rx_len = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -150,15 +150,14 @@ void mux_signal_switch(st_mux_signal *mux_signal)
|
||||||
case CH2_OUT_CUR:
|
case CH2_OUT_CUR:
|
||||||
dac8552_operation(&mux_signal->data_sv, NULL);
|
dac8552_operation(&mux_signal->data_sv, NULL);
|
||||||
fun_get_sig16132_ch(7, &mux_signal->data_pv);
|
fun_get_sig16132_ch(7, &mux_signal->data_pv);
|
||||||
// ads1220_operation(CH2_OUT_CUR, &mux_signal->data_pv);
|
|
||||||
break;
|
break;
|
||||||
case CH3_OUT_FRE:
|
case CH3_OUT_FRE:
|
||||||
{
|
{
|
||||||
if(tabdata.hart_enable == 0)
|
if(tabdata.hart_enable == 0)
|
||||||
{
|
{
|
||||||
freq_operation(mux_signal->data_sv, pulse, TIM_CHANNEL_2);
|
//freq_operation(mux_signal->data_sv, pulse, TIM_CHANNEL_2);
|
||||||
|
frequence_output(mux_signal->data_sv, pulse, TIM_CHANNEL_2);
|
||||||
fre_set = mux_signal->data_sv;
|
fre_set = mux_signal->data_sv;
|
||||||
fun_get_freq(&freq_signal, &mux_signal->data_pv);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -196,3 +195,42 @@ void mux_signal_switch(st_mux_signal *mux_signal)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void frequence_output(uint32_t freq, uint8_t pulse, uint32_t chan)
|
||||||
|
{
|
||||||
|
HAL_TIMEx_PWMN_Stop(&htim1, TIM_CHANNEL_2);
|
||||||
|
HAL_TIM_PWM_Stop(&htim1, TIM_CHANNEL_3);
|
||||||
|
|
||||||
|
if (freq <= 0 || freq >= 500000 || pulse <= 0 || pulse >= 100)
|
||||||
|
{
|
||||||
|
__HAL_TIM_SET_PRESCALER(&htim1, 1500-1);
|
||||||
|
__HAL_TIM_SET_AUTORELOAD(&htim1, 55-1);
|
||||||
|
__HAL_TIM_SET_COMPARE(&htim1, chan, 28-1);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
int fre_duty = 0;
|
||||||
|
if(freq <= 650)
|
||||||
|
{
|
||||||
|
__HAL_TIM_SET_PRESCALER(&htim1, 1500-1);
|
||||||
|
fre_duty = ( (float32)FREQ_SYS / (float32)1500.0 / (float32)freq + (float32)0.5 );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
__HAL_TIM_SET_PRESCALER(&htim1, 2-1);
|
||||||
|
fre_duty = ( (float32)FREQ_SYS / (float32)2.0 / (float32)freq + (float32)0.5 );
|
||||||
|
}
|
||||||
|
|
||||||
|
__HAL_TIM_SET_AUTORELOAD(&htim1, fre_duty -1);
|
||||||
|
__HAL_TIM_SET_COMPARE(&htim1, chan, fre_duty * pulse / 100 - 1);
|
||||||
|
if( chan == TIM_CHANNEL_2)
|
||||||
|
{
|
||||||
|
HAL_TIMEx_PWMN_Start(&htim1, chan);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
HAL_TIM_PWM_Start(&htim1, chan);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -55,5 +55,6 @@ extern float32 fre_set;
|
||||||
|
|
||||||
void pwr_cosume(BOOL rst, uint32_t ms);
|
void pwr_cosume(BOOL rst, uint32_t ms);
|
||||||
void mux_signal_switch(st_mux_signal *mux_signal);
|
void mux_signal_switch(st_mux_signal *mux_signal);
|
||||||
|
void frequence_output(uint32_t freq, uint8_t pulse, uint32_t chan);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -40,15 +40,15 @@ extern "C" {
|
||||||
__HAL_TIM_SET_PRESCALER(&htim1, 1500-1); \
|
__HAL_TIM_SET_PRESCALER(&htim1, 1500-1); \
|
||||||
__HAL_TIM_SET_AUTORELOAD(&htim1, 55-1); \
|
__HAL_TIM_SET_AUTORELOAD(&htim1, 55-1); \
|
||||||
__HAL_TIM_SET_COMPARE(&htim1, CHAN, 28-1); \
|
__HAL_TIM_SET_COMPARE(&htim1, CHAN, 28-1); \
|
||||||
return; \
|
break; \
|
||||||
} \
|
} \
|
||||||
int fre_duty = 0; \
|
int fre_duty = 0; \
|
||||||
if(FREQ <= 650) \
|
if( (0 < FREQ )&&(FREQ <= 650) ) \
|
||||||
{ \
|
{ \
|
||||||
__HAL_TIM_SET_PRESCALER(&htim1, 1500-1); \
|
__HAL_TIM_SET_PRESCALER(&htim1, 1500-1); \
|
||||||
fre_duty = ( (float32)FREQ_SYS / (float32)1500.0 / (float32)FREQ + (float32)0.5 ); \
|
fre_duty = ( (float32)FREQ_SYS / (float32)1500.0 / (float32)FREQ + (float32)0.5 ); \
|
||||||
} \
|
} \
|
||||||
else \
|
else if(FREQ > 650) \
|
||||||
{ \
|
{ \
|
||||||
__HAL_TIM_SET_PRESCALER(&htim1, 2-1); \
|
__HAL_TIM_SET_PRESCALER(&htim1, 2-1); \
|
||||||
fre_duty = ( (float32)FREQ_SYS / (float32)2.0 / (float32)FREQ + (float32)0.5 ); \
|
fre_duty = ( (float32)FREQ_SYS / (float32)2.0 / (float32)FREQ + (float32)0.5 ); \
|
||||||
|
|
|
@ -216,7 +216,8 @@ void start_task_hart(void const * argument)
|
||||||
{
|
{
|
||||||
if(fre_set != 460800)
|
if(fre_set != 460800)
|
||||||
{
|
{
|
||||||
freq_operation(460800, 50, TIM_CHANNEL_3);
|
//freq_operation(460800, 50, TIM_CHANNEL_3);
|
||||||
|
frequence_output(460800, 50, TIM_CHANNEL_3);
|
||||||
fre_set = 460800;
|
fre_set = 460800;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -228,9 +229,15 @@ void start_task_hart(void const * argument)
|
||||||
scom1_hart.tx_flag = TRUE;
|
scom1_hart.tx_flag = TRUE;
|
||||||
hart_communicate(&scom1_hart);
|
hart_communicate(&scom1_hart);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
// sig_trans = TRANS_HART;
|
else
|
||||||
// transparent_hart(&scom1_hart);
|
{
|
||||||
|
if(fre_set != 0)
|
||||||
|
{
|
||||||
|
//freq_operation(0, 50, TIM_CHANNEL_3);
|
||||||
|
frequence_output(0, 50, TIM_CHANNEL_3);
|
||||||
|
fre_set = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
osDelay(HART_TASK_PERIOD);
|
osDelay(HART_TASK_PERIOD);
|
||||||
|
@ -265,8 +272,6 @@ void start_task_ble(void const * argument)
|
||||||
ble_send(&huart6, scom6_ble.tx_buff);
|
ble_send(&huart6, scom6_ble.tx_buff);
|
||||||
}
|
}
|
||||||
|
|
||||||
// sig_trans = TRANS_BLUETOOTH;
|
|
||||||
// transparent_bluetooth(&scom6_ble);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -288,18 +293,11 @@ void start_rs485(void const * argument)
|
||||||
/* Infinite loop */
|
/* Infinite loop */
|
||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
// if(tabdata.modbus_enable == 1)
|
|
||||||
// {
|
|
||||||
// sig_trans = TRANS_MODBUS;
|
|
||||||
// }
|
|
||||||
|
|
||||||
if( !(tabdata.bluetooth_enable||tabdata.hart_enable||tabdata.modbus_enable) )
|
if( !(tabdata.bluetooth_enable||tabdata.hart_enable||tabdata.modbus_enable) )
|
||||||
{
|
{
|
||||||
sig_trans = TRANS_NONE;
|
sig_trans = TRANS_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// transparent_485(&scom2_rs485);
|
|
||||||
|
|
||||||
osDelay(RS485_TASK_PERIOD);
|
osDelay(RS485_TASK_PERIOD);
|
||||||
}
|
}
|
||||||
/* USER CODE END start_rs485 */
|
/* USER CODE END start_rs485 */
|
||||||
|
|
|
@ -442,19 +442,19 @@ void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
|
||||||
//HART重新使能接收
|
//HART重新使能接收
|
||||||
HART_RTS(RTS_OFF);
|
HART_RTS(RTS_OFF);
|
||||||
|
|
||||||
memset(scom1_hart.tx_buff, 0, sizeof(scom1_hart.tx_buff));
|
memset(scom1_hart.tx_buff, 0, scom1_hart.tx_len);
|
||||||
scom1_hart.tx_len = 0;
|
scom1_hart.tx_len = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(huart == &huart2)
|
if(huart == &huart2)
|
||||||
{
|
{
|
||||||
memset(scom2_rs485.tx_buff, 0, sizeof(scom2_rs485.tx_buff));
|
memset(scom2_rs485.tx_buff, 0, scom2_rs485.tx_len);
|
||||||
scom2_rs485.tx_len = 0;
|
scom2_rs485.tx_len = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(huart == &huart6)
|
if(huart == &huart6)
|
||||||
{
|
{
|
||||||
memset(scom6_ble.tx_buff, 0, sizeof(scom6_ble.tx_buff));
|
memset(scom6_ble.tx_buff, 0, scom6_ble.tx_len);
|
||||||
scom6_ble.tx_len = 0;
|
scom6_ble.tx_len = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -94,7 +94,7 @@ void MX_USART2_UART_Init(void)
|
||||||
|
|
||||||
/* USER CODE END USART2_Init 1 */
|
/* USER CODE END USART2_Init 1 */
|
||||||
huart2.Instance = USART2;
|
huart2.Instance = USART2;
|
||||||
huart2.Init.BaudRate = 9600;
|
huart2.Init.BaudRate = 115200;
|
||||||
huart2.Init.WordLength = UART_WORDLENGTH_8B;
|
huart2.Init.WordLength = UART_WORDLENGTH_8B;
|
||||||
huart2.Init.StopBits = UART_STOPBITS_1;
|
huart2.Init.StopBits = UART_STOPBITS_1;
|
||||||
huart2.Init.Parity = UART_PARITY_NONE;
|
huart2.Init.Parity = UART_PARITY_NONE;
|
||||||
|
@ -644,6 +644,7 @@ void proc_huart_it(UART_HandleTypeDef *huart)
|
||||||
//DMA绕过CPU,因此可以不用挂起显示任务
|
//DMA绕过CPU,因此可以不用挂起显示任务
|
||||||
void proc_huart_it_dma(UART_HandleTypeDef *huart)
|
void proc_huart_it_dma(UART_HandleTypeDef *huart)
|
||||||
{
|
{
|
||||||
|
//不对发送中断进行处理
|
||||||
if(st_flag == 3)
|
if(st_flag == 3)
|
||||||
{
|
{
|
||||||
st_flag = 0;
|
st_flag = 0;
|
||||||
|
@ -728,6 +729,7 @@ void proc_huart_it_dma(UART_HandleTypeDef *huart)
|
||||||
|
|
||||||
if (!scom) return;
|
if (!scom) return;
|
||||||
|
|
||||||
|
//进入此处说明DMA接收已经完成
|
||||||
if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE) != RESET)
|
if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE) != RESET)
|
||||||
{
|
{
|
||||||
__HAL_UART_CLEAR_IDLEFLAG(huart);
|
__HAL_UART_CLEAR_IDLEFLAG(huart);
|
||||||
|
@ -748,6 +750,7 @@ void proc_huart_it_dma(UART_HandleTypeDef *huart)
|
||||||
|
|
||||||
tick_middle = xTaskGetTickCountFromISR();
|
tick_middle = xTaskGetTickCountFromISR();
|
||||||
|
|
||||||
|
//等待下一次接收
|
||||||
HAL_UART_Receive_DMA(huart, scom->rx_buff, BUFFER_SIZE);
|
HAL_UART_Receive_DMA(huart, scom->rx_buff, BUFFER_SIZE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -699,7 +699,7 @@ USART1.IPParameters=VirtualMode,Parity,WordLength,BaudRate
|
||||||
USART1.Parity=PARITY_ODD
|
USART1.Parity=PARITY_ODD
|
||||||
USART1.VirtualMode=VM_ASYNC
|
USART1.VirtualMode=VM_ASYNC
|
||||||
USART1.WordLength=WORDLENGTH_9B
|
USART1.WordLength=WORDLENGTH_9B
|
||||||
USART2.BaudRate=9600
|
USART2.BaudRate=115200
|
||||||
USART2.IPParameters=VirtualMode,BaudRate
|
USART2.IPParameters=VirtualMode,BaudRate
|
||||||
USART2.VirtualMode=VM_ASYNC
|
USART2.VirtualMode=VM_ASYNC
|
||||||
USART3.IPParameters=VirtualMode
|
USART3.IPParameters=VirtualMode
|
||||||
|
|
Loading…
Reference in New Issue