第二路蓝牙修改为ENCODE

This commit is contained in:
王绪洁 2025-03-17 11:48:15 +08:00
parent 0565ff757c
commit 27686f4f1f
17 changed files with 6247 additions and 6369 deletions

View File

@ -23,7 +23,8 @@
#define __MAIN_H
#ifdef __cplusplus
extern "C" {
extern "C"
{
#endif
/* Includes ------------------------------------------------------------------*/
@ -36,10 +37,10 @@ extern "C" {
#include "tcpserverc.h"
#include "leds.h"
#include <string.h>
/* USER CODE END Includes */
/* USER CODE END Includes */
/* Exported types ------------------------------------------------------------*/
/* USER CODE BEGIN ET */
/* Exported types ------------------------------------------------------------*/
/* USER CODE BEGIN ET */
extern uint8_t tcp_echo_flags_hart1;
extern uint8_t tcp_echo_flags_hart2;
extern uint8_t tcp_echo_flags_ble1;
@ -73,22 +74,24 @@ extern "C" {
#define LOCAL_PORT 5001
/* USER CODE END ET */
/* USER CODE END ET */
/* Exported constants --------------------------------------------------------*/
/* USER CODE BEGIN EC */
/* Exported constants --------------------------------------------------------*/
/* USER CODE BEGIN EC */
/* USER CODE END EC */
/* USER CODE END EC */
/* Exported macro ------------------------------------------------------------*/
/* USER CODE BEGIN EM */
/* Exported macro ------------------------------------------------------------*/
/* USER CODE BEGIN EM */
/* USER CODE END EM */
/* USER CODE END EM */
/* Exported functions prototypes ---------------------------------------------*/
void Error_Handler(void);
/* Exported functions prototypes ---------------------------------------------*/
void Error_Handler(void);
/* USER CODE BEGIN EFP */
#define ENCODE_TIM8 1
#define BLE2_USART6 0
/* USER CODE END EFP */
@ -120,6 +123,8 @@ void Error_Handler(void);
#define LED2_G_GPIO_Port GPIOE
#define LED2_Y_Pin GPIO_PIN_14
#define LED2_Y_GPIO_Port GPIOE
#define ENCODE_Z_Pin GPIO_PIN_14
#define ENCODE_Z_GPIO_Port GPIOB
#define BLE2_TX_Pin GPIO_PIN_8
#define BLE2_TX_GPIO_Port GPIOD
#define BLE2_RX_Pin GPIO_PIN_9
@ -134,10 +139,6 @@ void Error_Handler(void);
#define DO_CH2_GPIO_Port GPIOD
#define DO_EN_Pin GPIO_PIN_15
#define DO_EN_GPIO_Port GPIOD
#define BLE1_TX_Pin GPIO_PIN_6
#define BLE1_TX_GPIO_Port GPIOC
#define BLE1_RX_Pin GPIO_PIN_7
#define BLE1_RX_GPIO_Port GPIOC
#define DI_CH1_Pin GPIO_PIN_8
#define DI_CH1_GPIO_Port GPIOC
#define DI_CH2_Pin GPIO_PIN_9
@ -190,7 +191,7 @@ void Error_Handler(void);
/* USER CODE BEGIN Private defines */
#define TRUE 0
#define FAIL -1
/* USER CODE END Private defines */
/* USER CODE END Private defines */
#ifdef __cplusplus
}

View File

@ -69,12 +69,9 @@ void USART3_IRQHandler(void);
void DMA1_Stream7_IRQHandler(void);
void UART4_IRQHandler(void);
void UART5_IRQHandler(void);
void DMA2_Stream1_IRQHandler(void);
void DMA2_Stream2_IRQHandler(void);
void ETH_IRQHandler(void);
void DMA2_Stream6_IRQHandler(void);
void DMA2_Stream7_IRQHandler(void);
void USART6_IRQHandler(void);
/* USER CODE BEGIN EFP */
/* USER CODE END EFP */

View File

@ -22,21 +22,24 @@
#define __TIM_H__
#ifdef __cplusplus
extern "C" {
extern "C"
{
#endif
/* Includes ------------------------------------------------------------------*/
#include "main.h"
/* USER CODE BEGIN Includes */
/* USER CODE BEGIN Includes */
/* USER CODE END Includes */
/* USER CODE END Includes */
extern TIM_HandleTypeDef htim1;
extern TIM_HandleTypeDef htim1;
extern TIM_HandleTypeDef htim2;
extern TIM_HandleTypeDef htim2;
extern TIM_HandleTypeDef htim3;
extern TIM_HandleTypeDef htim3;
extern TIM_HandleTypeDef htim8;
/* USER CODE BEGIN Private defines */
#define IS_TIM_IT_FLAG(TIMx) (LL_TIM_IsActiveFlag_UPDATE(TIMx) == 1)
@ -84,21 +87,21 @@ extern TIM_HandleTypeDef htim3;
} \
} \
} while (__LINE__ == -1)
/* USER CODE END Private defines */
/* USER CODE END Private defines */
void MX_TIM1_Init(void);
void MX_TIM2_Init(void);
void MX_TIM3_Init(void);
void MX_TIM1_Init(void);
void MX_TIM2_Init(void);
void MX_TIM3_Init(void);
void MX_TIM8_Init(void);
void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);
void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);
/* USER CODE BEGIN Prototypes */
/* USER CODE END Prototypes */
/* USER CODE END Prototypes */
#ifdef __cplusplus
}
#endif
#endif /* __TIM_H__ */

View File

@ -42,8 +42,6 @@ extern UART_HandleTypeDef huart2;
extern UART_HandleTypeDef huart3;
extern UART_HandleTypeDef huart6;
/* USER CODE BEGIN Private defines */
// #define BUFFER_SIZE 100
@ -58,10 +56,10 @@ void MX_UART5_Init(void);
void MX_USART1_UART_Init(void);
void MX_USART2_UART_Init(void);
void MX_USART3_UART_Init(void);
void MX_USART6_UART_Init(void);
/* USER CODE BEGIN Prototypes */
void dma_usart_send(UART_HandleTypeDef *huart, uint8_t *buf, uint8_t len); // 串å<C2B2>£å<C2A3>é?<3F>å°<C3A5>è£?
void dma_usart_send(UART_HandleTypeDef *huart, uint8_t *buf, uint8_t len); // DMA??
/* USER CODE END Prototypes */
#ifdef __cplusplus

View File

@ -40,8 +40,8 @@ void MX_DMA_Init(void)
{
/* DMA controller clock enable */
__HAL_RCC_DMA2_CLK_ENABLE();
__HAL_RCC_DMA1_CLK_ENABLE();
__HAL_RCC_DMA2_CLK_ENABLE();
/* DMA interrupt init */
/* DMA1_Stream0_IRQn interrupt configuration */
@ -68,15 +68,9 @@ void MX_DMA_Init(void)
/* DMA1_Stream7_IRQn interrupt configuration */
HAL_NVIC_SetPriority(DMA1_Stream7_IRQn, 5, 0);
HAL_NVIC_EnableIRQ(DMA1_Stream7_IRQn);
/* DMA2_Stream1_IRQn interrupt configuration */
HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 5, 0);
HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn);
/* DMA2_Stream2_IRQn interrupt configuration */
HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 5, 0);
HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn);
/* DMA2_Stream6_IRQn interrupt configuration */
HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 5, 0);
HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn);
/* DMA2_Stream7_IRQn interrupt configuration */
HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 5, 0);
HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn);

View File

@ -72,18 +72,18 @@ uint8_t di_state_last[DI_MAX] = {0};
uint8_t di_state_now[DI_MAX] = {0};
/* USER CODE END FunctionPrototypes */
void start_tcp_task(void const *argument);
void start_led_toggle_task(void const *argument);
void start_dac_task(void const *argument);
void start_adc_task(void const *argument);
void start_gpio_di_do_task(void const *argument);
void start_ec11_task(void const *argument);
void start_tcp_task(void const * argument);
void start_led_toggle_task(void const * argument);
void start_dac_task(void const * argument);
void start_adc_task(void const * argument);
void start_gpio_di_do_task(void const * argument);
void start_ec11_task(void const * argument);
extern void MX_LWIP_Init(void);
void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
/* GetIdleTaskMemory prototype (linked to static allocation support) */
void vApplicationGetIdleTaskMemory(StaticTask_t **ppxIdleTaskTCBBuffer, StackType_t **ppxIdleTaskStackBuffer, uint32_t *pulIdleTaskStackSize);
void vApplicationGetIdleTaskMemory( StaticTask_t **ppxIdleTaskTCBBuffer, StackType_t **ppxIdleTaskStackBuffer, uint32_t *pulIdleTaskStackSize );
/* USER CODE BEGIN GET_IDLE_TASK_MEMORY */
static StaticTask_t xIdleTaskTCBBuffer;
@ -103,8 +103,7 @@ void vApplicationGetIdleTaskMemory(StaticTask_t **ppxIdleTaskTCBBuffer, StackTyp
* @param None
* @retval None
*/
void MX_FREERTOS_Init(void)
{
void MX_FREERTOS_Init(void) {
/* USER CODE BEGIN Init */
/* USER CODE END Init */
@ -153,6 +152,7 @@ void MX_FREERTOS_Init(void)
/* USER CODE BEGIN RTOS_THREADS */
/* add threads, ... */
/* USER CODE END RTOS_THREADS */
}
/* USER CODE BEGIN Header_start_tcp_task */
@ -162,7 +162,7 @@ void MX_FREERTOS_Init(void)
* @retval None
*/
/* USER CODE END Header_start_tcp_task */
void start_tcp_task(void const *argument)
void start_tcp_task(void const * argument)
{
/* init code for LWIP */
MX_LWIP_Init();
@ -185,19 +185,18 @@ void start_tcp_task(void const *argument)
* @retval None
*/
/* USER CODE END Header_start_led_toggle_task */
void start_led_toggle_task(void const *argument)
void start_led_toggle_task(void const * argument)
{
/* USER CODE BEGIN start_led_toggle_task */
/* Infinite loop */
for (;;)
{
HAL_GPIO_TogglePin(LED2_G_GPIO_Port, LED2_G_Pin);
// 旋转编码器确认按键状态并切换<EFBFBD>?<3F>道和确认电流<E794B5>?<3F><EFBFBD>?
HAL_GPIO_TogglePin(LED3_G_GPIO_Port, LED3_G_Pin);
// æ—转ç¼ç <EFBFBD>器确认按键状æ€<EFBFBD>,并切æ<EFBFBD>¢ï¿½?�é<C2BD>“åŒç¡®è®¤ç”µæµ<C3A6>�?�输ï¿???
// if (uart_lcd_state.page_num == 0)
{
if (ec11_data.confirm_key_flag == 0)
{
// HAL_GPIO_TogglePin(LED2_Y_GPIO_Port, LED2_Y_Pin);
}
else if (ec11_data.confirm_key_flag == 1) // 确认按键确认电流输出
{
@ -260,14 +259,14 @@ void start_led_toggle_task(void const *argument)
* @retval None
*/
/* USER CODE END Header_start_dac_task */
void start_dac_task(void const *argument)
void start_dac_task(void const * argument)
{
/* USER CODE BEGIN start_dac_task */
dac161s997_init();
/* Infinite loop */
for (;;)
{
osThreadSuspend(adc_taskHandle); // 暂停ADC任务防止DAC采集时产生干<EFBFBD>?,因为ADC和DAC采用的是同一路SPI但是时序不<E5BA8F>?
osThreadSuspend(adc_taskHandle); // æšå<EFBFBD>œADC任务,防止DAC采醿—¶äº§ç”Ÿå¹²ï¿???,å ä¸ºADCåŒDAC采用的是å<C2AF>Œä¸€è·¯SPI,但是时åº<C3A5>ä¸<C3A4>ï¿???
dac161s997_output(DAC161S997_1, current_buff[0]);
dac161s997_output(DAC161S997_2, current_buff[1]);
osThreadResume(adc_taskHandle);
@ -283,14 +282,14 @@ void start_dac_task(void const *argument)
* @retval None
*/
/* USER CODE END Header_start_adc_task */
void start_adc_task(void const *argument)
void start_adc_task(void const * argument)
{
/* USER CODE BEGIN start_adc_task */
ad7124_setup();
/* Infinite loop */
for (;;)
{
osThreadSuspend(dac_taskHandle); // 暂停DAC任务防止ADC采集时产生干<EFBFBD>?,因为ADC和DAC采用的是同一路SPI但是时序不<E5BA8F>?
osThreadSuspend(dac_taskHandle); // æšå<EFBFBD>œDAC任务,防止ADC采醿—¶äº§ç”Ÿå¹²ï¿???,å ä¸ºADCåŒDAC采用的是å<C2AF>Œä¸€è·¯SPI,但是时åº<C3A5>ä¸<C3A4>ï¿???
uint8_t ch = 0;
for (ch = STOP_NC_ADC; ch < AD7124_CHANNEL_EN_MAX; ch++)
{
@ -320,7 +319,7 @@ void start_adc_task(void const *argument)
* @retval None
*/
/* USER CODE END Header_start_gpio_di_do_task */
void start_gpio_di_do_task(void const *argument)
void start_gpio_di_do_task(void const * argument)
{
/* USER CODE BEGIN start_gpio_di_do_task */
/* Infinite loop */
@ -331,7 +330,7 @@ void start_gpio_di_do_task(void const *argument)
uint8_t tx_data_len = 7 + DI_MAX;
uint8_t tx_data[32] = {0};
tx_data[0] = FRAME_HEAD; // 甯уご
tx_data[1] = COM_OK; // 鐘讹<EFBFBD>??锟界<E9949F>?
tx_data[1] = COM_OK; // é<EFBFBD>˜è®¹ï¿????锟界ï¿???
tx_data[2] = DEVICE_NUM; // 璁惧锟??
tx_data[3] = SEND_STATE_CMD; // 鍛戒护锟??
tx_data[4] = DI_MAX; // 鏁版嵁闀垮害
@ -368,14 +367,14 @@ void start_gpio_di_do_task(void const *argument)
* @retval None
*/
/* USER CODE END Header_start_ec11_task */
void start_ec11_task(void const *argument)
void start_ec11_task(void const * argument)
{
/* USER CODE BEGIN start_ec11_task */
/* Infinite loop */
for (;;)
{
// 旋转编码器调节电流<EFBFBD>?<3F>画面显<E99DA2>?
// æ—转ç¼ç <EFBFBD>器调èŠç”µæµ<EFBFBD>�?�画é<C2BB>¢æ˜¾ï¿???
if (uart_lcd_state.page_num == 0)
{
ec11_data.direction = __HAL_TIM_IS_TIM_COUNTING_DOWN(&htim1);

View File

@ -105,6 +105,12 @@ void MX_GPIO_Init(void)
GPIO_InitStruct.Pull = GPIO_PULLUP;
HAL_GPIO_Init(EC11_KEY_GPIO_Port, &GPIO_InitStruct);
/*Configure GPIO pin : PtPin */
GPIO_InitStruct.Pin = ENCODE_Z_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
GPIO_InitStruct.Pull = GPIO_PULLUP;
HAL_GPIO_Init(ENCODE_Z_GPIO_Port, &GPIO_InitStruct);
/*Configure GPIO pins : PDPin PDPin PDPin PDPin */
GPIO_InitStruct.Pin = DO_CH4_Pin|DO_CH3_Pin|DO_CH1_Pin|DO_CH2_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;

View File

@ -117,7 +117,6 @@ int main(void)
MX_DMA_Init();
MX_TIM3_Init();
MX_SPI1_Init();
MX_USART6_UART_Init();
MX_UART4_Init();
MX_TIM2_Init();
MX_UART5_Init();
@ -125,19 +124,26 @@ int main(void)
MX_USART3_UART_Init();
MX_TIM1_Init();
MX_USART1_UART_Init();
MX_TIM8_Init();
/* USER CODE BEGIN 2 */
// 串口DMA接收中断
/*串å<C2B2>£DMA接收中æ­*/
// start
HAL_UARTEx_ReceiveToIdle_DMA(&huart4, lcd_uart4.rx_data_temp, ARRAY_LEN(lcd_uart4.rx_data_temp));
#if (BLE2_USART6 == 1)
HAL_UARTEx_ReceiveToIdle_DMA(&huart6, ble1_uart6.rx_data_temp, ARRAY_LEN(ble1_uart6.rx_data_temp));
#endif
HAL_UARTEx_ReceiveToIdle_DMA(&huart3, ble2_uart3.rx_data_temp, ARRAY_LEN(ble2_uart3.rx_data_temp));
HAL_UARTEx_ReceiveToIdle_DMA(&huart5, hart1_uart5.rx_data_temp, ARRAY_LEN(hart1_uart5.rx_data_temp));
HAL_UARTEx_ReceiveToIdle_DMA(&huart2, hart2_uart2.rx_data_temp, ARRAY_LEN(hart2_uart2.rx_data_temp));
HAL_UARTEx_ReceiveToIdle_DMA(&huart1, usb_uart1.rx_data_temp, ARRAY_LEN(usb_uart1.rx_data_temp));
// end
hart_ht1200m_reset(); // HART模块复位
HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1); // HART时钟信号
HAL_TIM_Encoder_Start(&htim1, TIM_CHANNEL_ALL); //  旋转编码器信号采集
hart_ht1200m_reset(); // HART模å<C2A1>—å¤<C3A5>ä½<C3A4>
HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1); // HARTæ—¶éŸä¿¡å<C2A1>·
HAL_TIM_Encoder_Start(&htim1, TIM_CHANNEL_ALL); // æ—转ç¼ç <C3A7>器信å<C2A1>?
#if (ENCODE_TIM8 == 1)
HAL_TIM_Encoder_Start(&htim8, TIM_CHANNEL_ALL); // ç¼ç <C3A7>å™?
#endif
/* USER CODE END 2 */
/* Call init function for freertos objects (in freertos.c) */
@ -216,7 +222,7 @@ void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)
// ip地址更新
IP4_ADDR(&ipaddr, usb_uart1.rx_data_temp[0], usb_uart1.rx_data_temp[1], usb_uart1.rx_data_temp[2], usb_uart1.rx_data_temp[3]);
gnetif.ip_addr = ipaddr;
if (flash_write_data(FLASH_USER_START_ADDR, usb_uart1.rx_data_temp, Size) == HAL_OK) // 写入flash成功更新ip地址显示
if (flash_write_data(FLASH_USER_START_ADDR, usb_uart1.rx_data_temp, Size) == HAL_OK) // 写入flashæˆ<EFBFBD>åŠŸï¼Œæ´æ°ip地å<EFBFBD>€æ˜¾ç¤º
{
uart_lcd_draw_ipaddr();
}
@ -230,6 +236,7 @@ void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)
HAL_UARTEx_ReceiveToIdle_DMA(&huart4, lcd_uart4.rx_data_temp, ARRAY_LEN(lcd_uart4.rx_data_temp));
// dma_usart_send(&huart4, lcd_uart4.rx_data_temp, lcd_uart4.rx_num);
}
#if (BLE2_USART6 == 1)
if (huart == &huart6)
{
__HAL_UNLOCK(huart);
@ -242,6 +249,7 @@ void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)
}
HAL_UARTEx_ReceiveToIdle_DMA(&huart6, ble1_uart6.rx_data_temp, ARRAY_LEN(ble1_uart6.rx_data_temp));
}
#endif
if (huart == &huart3)
{
__HAL_UNLOCK(huart);

View File

@ -74,14 +74,11 @@ extern DMA_HandleTypeDef hdma_usart2_rx;
extern DMA_HandleTypeDef hdma_usart2_tx;
extern DMA_HandleTypeDef hdma_usart3_rx;
extern DMA_HandleTypeDef hdma_usart3_tx;
extern DMA_HandleTypeDef hdma_usart6_rx;
extern DMA_HandleTypeDef hdma_usart6_tx;
extern UART_HandleTypeDef huart4;
extern UART_HandleTypeDef huart5;
extern UART_HandleTypeDef huart1;
extern UART_HandleTypeDef huart2;
extern UART_HandleTypeDef huart3;
extern UART_HandleTypeDef huart6;
extern TIM_HandleTypeDef htim4;
/* USER CODE BEGIN EV */
@ -441,20 +438,6 @@ void UART5_IRQHandler(void)
/* USER CODE END UART5_IRQn 1 */
}
/**
* @brief This function handles DMA2 stream1 global interrupt.
*/
void DMA2_Stream1_IRQHandler(void)
{
/* USER CODE BEGIN DMA2_Stream1_IRQn 0 */
/* USER CODE END DMA2_Stream1_IRQn 0 */
HAL_DMA_IRQHandler(&hdma_usart6_rx);
/* USER CODE BEGIN DMA2_Stream1_IRQn 1 */
/* USER CODE END DMA2_Stream1_IRQn 1 */
}
/**
* @brief This function handles DMA2 stream2 global interrupt.
*/
@ -483,20 +466,6 @@ void ETH_IRQHandler(void)
/* USER CODE END ETH_IRQn 1 */
}
/**
* @brief This function handles DMA2 stream6 global interrupt.
*/
void DMA2_Stream6_IRQHandler(void)
{
/* USER CODE BEGIN DMA2_Stream6_IRQn 0 */
/* USER CODE END DMA2_Stream6_IRQn 0 */
HAL_DMA_IRQHandler(&hdma_usart6_tx);
/* USER CODE BEGIN DMA2_Stream6_IRQn 1 */
/* USER CODE END DMA2_Stream6_IRQn 1 */
}
/**
* @brief This function handles DMA2 stream7 global interrupt.
*/
@ -511,20 +480,6 @@ void DMA2_Stream7_IRQHandler(void)
/* USER CODE END DMA2_Stream7_IRQn 1 */
}
/**
* @brief This function handles USART6 global interrupt.
*/
void USART6_IRQHandler(void)
{
/* USER CODE BEGIN USART6_IRQn 0 */
/* USER CODE END USART6_IRQn 0 */
HAL_UART_IRQHandler(&huart6);
/* USER CODE BEGIN USART6_IRQn 1 */
/* USER CODE END USART6_IRQn 1 */
}
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */

View File

@ -27,6 +27,7 @@
TIM_HandleTypeDef htim1;
TIM_HandleTypeDef htim2;
TIM_HandleTypeDef htim3;
TIM_HandleTypeDef htim8;
/* TIM1 init function */
void MX_TIM1_Init(void)
@ -180,6 +181,51 @@ void MX_TIM3_Init(void)
/* USER CODE END TIM3_Init 2 */
HAL_TIM_MspPostInit(&htim3);
}
/* TIM8 init function */
void MX_TIM8_Init(void)
{
/* USER CODE BEGIN TIM8_Init 0 */
/* USER CODE END TIM8_Init 0 */
TIM_Encoder_InitTypeDef sConfig = {0};
TIM_MasterConfigTypeDef sMasterConfig = {0};
/* USER CODE BEGIN TIM8_Init 1 */
/* USER CODE END TIM8_Init 1 */
htim8.Instance = TIM8;
htim8.Init.Prescaler = 2;
htim8.Init.CounterMode = TIM_COUNTERMODE_UP;
htim8.Init.Period = 65535;
htim8.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
htim8.Init.RepetitionCounter = 0;
htim8.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
sConfig.EncoderMode = TIM_ENCODERMODE_TI12;
sConfig.IC1Polarity = TIM_ICPOLARITY_RISING;
sConfig.IC1Selection = TIM_ICSELECTION_DIRECTTI;
sConfig.IC1Prescaler = TIM_ICPSC_DIV1;
sConfig.IC1Filter = 0;
sConfig.IC2Polarity = TIM_ICPOLARITY_RISING;
sConfig.IC2Selection = TIM_ICSELECTION_DIRECTTI;
sConfig.IC2Prescaler = TIM_ICPSC_DIV1;
sConfig.IC2Filter = 0;
if (HAL_TIM_Encoder_Init(&htim8, &sConfig) != HAL_OK)
{
Error_Handler();
}
sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
if (HAL_TIMEx_MasterConfigSynchronization(&htim8, &sMasterConfig) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN TIM8_Init 2 */
/* USER CODE END TIM8_Init 2 */
}
void HAL_TIM_Encoder_MspInit(TIM_HandleTypeDef* tim_encoderHandle)
@ -210,6 +256,30 @@ void HAL_TIM_Encoder_MspInit(TIM_HandleTypeDef* tim_encoderHandle)
/* USER CODE END TIM1_MspInit 1 */
}
else if(tim_encoderHandle->Instance==TIM8)
{
/* USER CODE BEGIN TIM8_MspInit 0 */
/* USER CODE END TIM8_MspInit 0 */
/* TIM8 clock enable */
__HAL_RCC_TIM8_CLK_ENABLE();
__HAL_RCC_GPIOC_CLK_ENABLE();
/**TIM8 GPIO Configuration
PC6 ------> TIM8_CH1
PC7 ------> TIM8_CH2
*/
GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
GPIO_InitStruct.Alternate = GPIO_AF3_TIM8;
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
/* USER CODE BEGIN TIM8_MspInit 1 */
/* USER CODE END TIM8_MspInit 1 */
}
}
void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle)
@ -307,6 +377,24 @@ void HAL_TIM_Encoder_MspDeInit(TIM_HandleTypeDef* tim_encoderHandle)
/* USER CODE END TIM1_MspDeInit 1 */
}
else if(tim_encoderHandle->Instance==TIM8)
{
/* USER CODE BEGIN TIM8_MspDeInit 0 */
/* USER CODE END TIM8_MspDeInit 0 */
/* Peripheral clock disable */
__HAL_RCC_TIM8_CLK_DISABLE();
/**TIM8 GPIO Configuration
PC6 ------> TIM8_CH1
PC7 ------> TIM8_CH2
*/
HAL_GPIO_DeInit(GPIOC, GPIO_PIN_6|GPIO_PIN_7);
/* USER CODE BEGIN TIM8_MspDeInit 1 */
/* USER CODE END TIM8_MspDeInit 1 */
}
}
void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* tim_baseHandle)

View File

@ -21,6 +21,7 @@
#include "usart.h"
/* USER CODE BEGIN 0 */
/* USER CODE END 0 */
UART_HandleTypeDef huart4;
@ -28,7 +29,6 @@ UART_HandleTypeDef huart5;
UART_HandleTypeDef huart1;
UART_HandleTypeDef huart2;
UART_HandleTypeDef huart3;
UART_HandleTypeDef huart6;
DMA_HandleTypeDef hdma_uart4_rx;
DMA_HandleTypeDef hdma_uart4_tx;
DMA_HandleTypeDef hdma_uart5_tx;
@ -39,8 +39,6 @@ DMA_HandleTypeDef hdma_usart2_rx;
DMA_HandleTypeDef hdma_usart2_tx;
DMA_HandleTypeDef hdma_usart3_rx;
DMA_HandleTypeDef hdma_usart3_tx;
DMA_HandleTypeDef hdma_usart6_rx;
DMA_HandleTypeDef hdma_usart6_tx;
/* UART4 init function */
void MX_UART4_Init(void)
@ -68,7 +66,6 @@ void MX_UART4_Init(void)
/* USER CODE BEGIN UART4_Init 2 */
//__HAL_UART_ENABLE_IT(&huart4, UART_IT_IDLE); // 使能IDLE中断
/* USER CODE END UART4_Init 2 */
}
/* UART5 init function */
void MX_UART5_Init(void)
@ -97,7 +94,6 @@ void MX_UART5_Init(void)
// __HAL_UART_ENABLE_IT(&huart5, UART_IT_RXNE); // 接收中断
// __HAL_UART_ENABLE_IT(&huart5, UART_IT_IDLE); // 空闲中断
/* USER CODE END UART5_Init 2 */
}
/* USART1 init function */
@ -126,7 +122,6 @@ void MX_USART1_UART_Init(void)
/* USER CODE BEGIN USART1_Init 2 */
/* USER CODE END USART1_Init 2 */
}
/* USART2 init function */
@ -156,7 +151,6 @@ void MX_USART2_UART_Init(void)
// __HAL_UART_ENABLE_IT(&huart2, UART_IT_RXNE); // 接收中断
// __HAL_UART_ENABLE_IT(&huart2, UART_IT_IDLE); // 使能IDLE中断
/* USER CODE END USART2_Init 2 */
}
/* USART3 init function */
@ -185,43 +179,13 @@ void MX_USART3_UART_Init(void)
/* USER CODE BEGIN USART3_Init 2 */
/* USER CODE END USART3_Init 2 */
}
/* USART6 init function */
void MX_USART6_UART_Init(void)
{
/* USER CODE BEGIN USART6_Init 0 */
/* USER CODE END USART6_Init 0 */
/* USER CODE BEGIN USART6_Init 1 */
/* USER CODE END USART6_Init 1 */
huart6.Instance = USART6;
huart6.Init.BaudRate = 115200;
huart6.Init.WordLength = UART_WORDLENGTH_8B;
huart6.Init.StopBits = UART_STOPBITS_1;
huart6.Init.Parity = UART_PARITY_NONE;
huart6.Init.Mode = UART_MODE_TX_RX;
huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart6.Init.OverSampling = UART_OVERSAMPLING_16;
if (HAL_UART_Init(&huart6) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN USART6_Init 2 */
/* USER CODE END USART6_Init 2 */
}
void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
void HAL_UART_MspInit(UART_HandleTypeDef *uartHandle)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
if(uartHandle->Instance==UART4)
if (uartHandle->Instance == UART4)
{
/* USER CODE BEGIN UART4_MspInit 0 */
@ -234,7 +198,7 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
PC10 ------> UART4_TX
PC11 ------> UART4_RX
*/
GPIO_InitStruct.Pin = LCD_TX_Pin|LCD_RX_Pin;
GPIO_InitStruct.Pin = LCD_TX_Pin | LCD_RX_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
@ -258,7 +222,7 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
Error_Handler();
}
__HAL_LINKDMA(uartHandle,hdmarx,hdma_uart4_rx);
__HAL_LINKDMA(uartHandle, hdmarx, hdma_uart4_rx);
/* UART4_TX Init */
hdma_uart4_tx.Instance = DMA1_Stream4;
@ -276,7 +240,7 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
Error_Handler();
}
__HAL_LINKDMA(uartHandle,hdmatx,hdma_uart4_tx);
__HAL_LINKDMA(uartHandle, hdmatx, hdma_uart4_tx);
/* UART4 interrupt Init */
HAL_NVIC_SetPriority(UART4_IRQn, 5, 0);
@ -285,7 +249,7 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
/* USER CODE END UART4_MspInit 1 */
}
else if(uartHandle->Instance==UART5)
else if (uartHandle->Instance == UART5)
{
/* USER CODE BEGIN UART5_MspInit 0 */
@ -330,7 +294,7 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
Error_Handler();
}
__HAL_LINKDMA(uartHandle,hdmatx,hdma_uart5_tx);
__HAL_LINKDMA(uartHandle, hdmatx, hdma_uart5_tx);
/* UART5_RX Init */
hdma_uart5_rx.Instance = DMA1_Stream0;
@ -348,7 +312,7 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
Error_Handler();
}
__HAL_LINKDMA(uartHandle,hdmarx,hdma_uart5_rx);
__HAL_LINKDMA(uartHandle, hdmarx, hdma_uart5_rx);
/* UART5 interrupt Init */
HAL_NVIC_SetPriority(UART5_IRQn, 5, 0);
@ -357,7 +321,7 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
/* USER CODE END UART5_MspInit 1 */
}
else if(uartHandle->Instance==USART1)
else if (uartHandle->Instance == USART1)
{
/* USER CODE BEGIN USART1_MspInit 0 */
@ -370,7 +334,7 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
PA9 ------> USART1_TX
PA10 ------> USART1_RX
*/
GPIO_InitStruct.Pin = USB_TX_Pin|USB_RX_Pin;
GPIO_InitStruct.Pin = USB_TX_Pin | USB_RX_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
@ -394,7 +358,7 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
Error_Handler();
}
__HAL_LINKDMA(uartHandle,hdmarx,hdma_usart1_rx);
__HAL_LINKDMA(uartHandle, hdmarx, hdma_usart1_rx);
/* USART1_TX Init */
hdma_usart1_tx.Instance = DMA2_Stream7;
@ -412,7 +376,7 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
Error_Handler();
}
__HAL_LINKDMA(uartHandle,hdmatx,hdma_usart1_tx);
__HAL_LINKDMA(uartHandle, hdmatx, hdma_usart1_tx);
/* USART1 interrupt Init */
HAL_NVIC_SetPriority(USART1_IRQn, 5, 0);
@ -421,7 +385,7 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
/* USER CODE END USART1_MspInit 1 */
}
else if(uartHandle->Instance==USART2)
else if (uartHandle->Instance == USART2)
{
/* USER CODE BEGIN USART2_MspInit 0 */
@ -434,7 +398,7 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
PD5 ------> USART2_TX
PD6 ------> USART2_RX
*/
GPIO_InitStruct.Pin = HART2_TX_Pin|HART2_RX_Pin;
GPIO_InitStruct.Pin = HART2_TX_Pin | HART2_RX_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
@ -458,7 +422,7 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
Error_Handler();
}
__HAL_LINKDMA(uartHandle,hdmarx,hdma_usart2_rx);
__HAL_LINKDMA(uartHandle, hdmarx, hdma_usart2_rx);
/* USART2_TX Init */
hdma_usart2_tx.Instance = DMA1_Stream6;
@ -476,7 +440,7 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
Error_Handler();
}
__HAL_LINKDMA(uartHandle,hdmatx,hdma_usart2_tx);
__HAL_LINKDMA(uartHandle, hdmatx, hdma_usart2_tx);
/* USART2 interrupt Init */
HAL_NVIC_SetPriority(USART2_IRQn, 5, 0);
@ -485,7 +449,7 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
/* USER CODE END USART2_MspInit 1 */
}
else if(uartHandle->Instance==USART3)
else if (uartHandle->Instance == USART3)
{
/* USER CODE BEGIN USART3_MspInit 0 */
@ -498,7 +462,7 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
PD8 ------> USART3_TX
PD9 ------> USART3_RX
*/
GPIO_InitStruct.Pin = BLE2_TX_Pin|BLE2_RX_Pin;
GPIO_InitStruct.Pin = BLE2_TX_Pin | BLE2_RX_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_PULLUP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
@ -522,7 +486,7 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
Error_Handler();
}
__HAL_LINKDMA(uartHandle,hdmarx,hdma_usart3_rx);
__HAL_LINKDMA(uartHandle, hdmarx, hdma_usart3_rx);
/* USART3_TX Init */
hdma_usart3_tx.Instance = DMA1_Stream3;
@ -540,7 +504,7 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
Error_Handler();
}
__HAL_LINKDMA(uartHandle,hdmatx,hdma_usart3_tx);
__HAL_LINKDMA(uartHandle, hdmatx, hdma_usart3_tx);
/* USART3 interrupt Init */
HAL_NVIC_SetPriority(USART3_IRQn, 5, 0);
@ -549,76 +513,12 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
/* USER CODE END USART3_MspInit 1 */
}
else if(uartHandle->Instance==USART6)
{
/* USER CODE BEGIN USART6_MspInit 0 */
/* USER CODE END USART6_MspInit 0 */
/* USART6 clock enable */
__HAL_RCC_USART6_CLK_ENABLE();
__HAL_RCC_GPIOC_CLK_ENABLE();
/**USART6 GPIO Configuration
PC6 ------> USART6_TX
PC7 ------> USART6_RX
*/
GPIO_InitStruct.Pin = BLE1_TX_Pin|BLE1_RX_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_PULLUP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF8_USART6;
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
/* USART6 DMA Init */
/* USART6_RX Init */
hdma_usart6_rx.Instance = DMA2_Stream1;
hdma_usart6_rx.Init.Channel = DMA_CHANNEL_5;
hdma_usart6_rx.Init.Direction = DMA_PERIPH_TO_MEMORY;
hdma_usart6_rx.Init.PeriphInc = DMA_PINC_DISABLE;
hdma_usart6_rx.Init.MemInc = DMA_MINC_ENABLE;
hdma_usart6_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;
hdma_usart6_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;
hdma_usart6_rx.Init.Mode = DMA_NORMAL;
hdma_usart6_rx.Init.Priority = DMA_PRIORITY_LOW;
hdma_usart6_rx.Init.FIFOMode = DMA_FIFOMODE_DISABLE;
if (HAL_DMA_Init(&hdma_usart6_rx) != HAL_OK)
{
Error_Handler();
}
__HAL_LINKDMA(uartHandle,hdmarx,hdma_usart6_rx);
/* USART6_TX Init */
hdma_usart6_tx.Instance = DMA2_Stream6;
hdma_usart6_tx.Init.Channel = DMA_CHANNEL_5;
hdma_usart6_tx.Init.Direction = DMA_MEMORY_TO_PERIPH;
hdma_usart6_tx.Init.PeriphInc = DMA_PINC_DISABLE;
hdma_usart6_tx.Init.MemInc = DMA_MINC_ENABLE;
hdma_usart6_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;
hdma_usart6_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;
hdma_usart6_tx.Init.Mode = DMA_NORMAL;
hdma_usart6_tx.Init.Priority = DMA_PRIORITY_LOW;
hdma_usart6_tx.Init.FIFOMode = DMA_FIFOMODE_DISABLE;
if (HAL_DMA_Init(&hdma_usart6_tx) != HAL_OK)
{
Error_Handler();
}
__HAL_LINKDMA(uartHandle,hdmatx,hdma_usart6_tx);
/* USART6 interrupt Init */
HAL_NVIC_SetPriority(USART6_IRQn, 5, 0);
HAL_NVIC_EnableIRQ(USART6_IRQn);
/* USER CODE BEGIN USART6_MspInit 1 */
/* USER CODE END USART6_MspInit 1 */
}
}
void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
void HAL_UART_MspDeInit(UART_HandleTypeDef *uartHandle)
{
if(uartHandle->Instance==UART4)
if (uartHandle->Instance == UART4)
{
/* USER CODE BEGIN UART4_MspDeInit 0 */
@ -630,7 +530,7 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
PC10 ------> UART4_TX
PC11 ------> UART4_RX
*/
HAL_GPIO_DeInit(GPIOC, LCD_TX_Pin|LCD_RX_Pin);
HAL_GPIO_DeInit(GPIOC, LCD_TX_Pin | LCD_RX_Pin);
/* UART4 DMA DeInit */
HAL_DMA_DeInit(uartHandle->hdmarx);
@ -642,7 +542,7 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
/* USER CODE END UART4_MspDeInit 1 */
}
else if(uartHandle->Instance==UART5)
else if (uartHandle->Instance == UART5)
{
/* USER CODE BEGIN UART5_MspDeInit 0 */
@ -668,7 +568,7 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
/* USER CODE END UART5_MspDeInit 1 */
}
else if(uartHandle->Instance==USART1)
else if (uartHandle->Instance == USART1)
{
/* USER CODE BEGIN USART1_MspDeInit 0 */
@ -680,7 +580,7 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
PA9 ------> USART1_TX
PA10 ------> USART1_RX
*/
HAL_GPIO_DeInit(GPIOA, USB_TX_Pin|USB_RX_Pin);
HAL_GPIO_DeInit(GPIOA, USB_TX_Pin | USB_RX_Pin);
/* USART1 DMA DeInit */
HAL_DMA_DeInit(uartHandle->hdmarx);
@ -692,7 +592,7 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
/* USER CODE END USART1_MspDeInit 1 */
}
else if(uartHandle->Instance==USART2)
else if (uartHandle->Instance == USART2)
{
/* USER CODE BEGIN USART2_MspDeInit 0 */
@ -704,7 +604,7 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
PD5 ------> USART2_TX
PD6 ------> USART2_RX
*/
HAL_GPIO_DeInit(GPIOD, HART2_TX_Pin|HART2_RX_Pin);
HAL_GPIO_DeInit(GPIOD, HART2_TX_Pin | HART2_RX_Pin);
/* USART2 DMA DeInit */
HAL_DMA_DeInit(uartHandle->hdmarx);
@ -716,7 +616,7 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
/* USER CODE END USART2_MspDeInit 1 */
}
else if(uartHandle->Instance==USART3)
else if (uartHandle->Instance == USART3)
{
/* USER CODE BEGIN USART3_MspDeInit 0 */
@ -728,7 +628,7 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
PD8 ------> USART3_TX
PD9 ------> USART3_RX
*/
HAL_GPIO_DeInit(GPIOD, BLE2_TX_Pin|BLE2_RX_Pin);
HAL_GPIO_DeInit(GPIOD, BLE2_TX_Pin | BLE2_RX_Pin);
/* USART3 DMA DeInit */
HAL_DMA_DeInit(uartHandle->hdmarx);
@ -740,46 +640,18 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
/* USER CODE END USART3_MspDeInit 1 */
}
else if(uartHandle->Instance==USART6)
{
/* USER CODE BEGIN USART6_MspDeInit 0 */
/* USER CODE END USART6_MspDeInit 0 */
/* Peripheral clock disable */
__HAL_RCC_USART6_CLK_DISABLE();
/**USART6 GPIO Configuration
PC6 ------> USART6_TX
PC7 ------> USART6_RX
*/
HAL_GPIO_DeInit(GPIOC, BLE1_TX_Pin|BLE1_RX_Pin);
/* USART6 DMA DeInit */
HAL_DMA_DeInit(uartHandle->hdmarx);
HAL_DMA_DeInit(uartHandle->hdmatx);
/* USART6 interrupt Deinit */
HAL_NVIC_DisableIRQ(USART6_IRQn);
/* USER CODE BEGIN USART6_MspDeInit 1 */
/* USER CODE END USART6_MspDeInit 1 */
}
}
/* USER CODE BEGIN 1 */
/**
* @brief 使ç¨DMAæ¹å¼<EFBFBD>éšè¿ä¸²å<EFBFBD>£å<EFBFBD>é?<EFBFBD>æ°æ<EFBFBD>?
* @brief ??DMA????USART????
*
* è¯¥å½æ°ä½¿ç¨DMAæ¹å¼<EFBFBD>éšè¿æŒå®šçšä¸²å<EFBFBD>£å<EFBFBD>é<EFBFBD>æŒå®šé¿åº¦çšæ°æ<EFBFBD>®ã?
* ?????USART????DMA???????
*
* @param huart UART_HandleTypeDefç»æžä½æŒéˆï¼ŒæŒå<EFBFBD>éœ?è¦<EFBFBD>使ç¨çšä¸²å<EFBFBD>£å<EFBFBD>¥æŸ
* @param buf æŒå<EFBFBD>éœ?è¦<EFBFBD>å<EFBFBD>é<EFBFBD>çšæ°æ<EFBFBD>®ç¼å²åŒºçšæŒéˆ
* @param len éœ?è¦<EFBFBD>å<EFBFBD>é<EFBFBD>çšæ°æ<EFBFBD>®é¿åº¦
*
* @return æ è¿åžå??
*
* @note 妿žœå<EFBFBD>é?<EFBFBD>è¿ç¨ä¸­åºçްé误,会调ç¨Error_Handler彿°å¤ç<EFBFBD>é误
* @param huart USART?????UART_HandleTypeDef??????
* @param buf ???????????
* @param len ????????
*/
void dma_usart_send(UART_HandleTypeDef *huart, uint8_t *buf, uint8_t len)
{

View File

@ -327,7 +327,7 @@
<periodic>1</periodic>
<aLwin>1</aLwin>
<aCover>0</aCover>
<aSer1>0</aSer1>
<aSer1>1</aSer1>
<aSer2>0</aSer2>
<aPa>0</aPa>
<viewmode>1</viewmode>

View File

@ -5,8 +5,8 @@
#define TCP_PORT_HART1 5001
#define TCP_PORT_HART2 5002
#define TCP_PORT_BLE1 6001
#define TCP_PORT_BLE2 6002
#define TCP_PORT_BLE1 6002
#define TCP_PORT_BLE2 6001
#define TCP_PORT_CONTROL 5003
extern void tcp_echo_init(void);

View File

@ -80,7 +80,7 @@ static err_t tcpecho_recv_hart2(void *arg, struct tcp_pcb *tpcb, struct pbuf *p,
}
return ERR_OK;
}
#if (BLE2_USART6 == 1)
static err_t tcpecho_recv_ble1(void *arg, struct tcp_pcb *tpcb, struct pbuf *p, err_t err)
{ // 对应接收数据连接的控制块 接收到的数据
if (p != NULL)
@ -104,6 +104,7 @@ static err_t tcpecho_recv_ble1(void *arg, struct tcp_pcb *tpcb, struct pbuf *p,
}
return ERR_OK;
}
#endif
static err_t tcpecho_recv_ble2(void *arg, struct tcp_pcb *tpcb, struct pbuf *p, err_t err)
{ // 对应接收数据连接的控制块 接收到的数据
@ -208,8 +209,6 @@ static err_t tcpecho_recv_control(void *arg, struct tcp_pcb *tpcb, struct pbuf *
/*2. 判断所要执行的操作 读或写指令*/
/*3. 对要发送的数据进行校验,组包,返回数据*/
}
pbuf_free(p);
}
@ -234,13 +233,14 @@ static err_t tcpecho_accept_hart2(void *arg, struct tcp_pcb *newpcb, err_t err)
return ERR_OK;
}
#if (BLE2_USART6 == 1)
static err_t tcpecho_accept_ble1(void *arg, struct tcp_pcb *newpcb, err_t err) // 由于这个函数是*tcp_accept_fn类型的
{
tcp_recv(newpcb, tcpecho_recv_ble1); // 当收到数据时回调用户自己写的tcpecho_recv
return ERR_OK;
}
#endif
static err_t tcpecho_accept_ble2(void *arg, struct tcp_pcb *newpcb, err_t err) // 由于这个函数是*tcp_accept_fn类型的
{
tcp_recv(newpcb, tcpecho_recv_ble2); // 当收到数据时回调用户自己写的tcpecho_recv
@ -257,7 +257,9 @@ void tcp_echo_init(void)
{
struct tcp_pcb *server_hart1 = NULL;
struct tcp_pcb *server_hart2 = NULL;
#if (BLE2_USART6 == 1)
struct tcp_pcb *server_ble1 = NULL;
#endif
struct tcp_pcb *server_ble2 = NULL;
struct tcp_pcb *server_control = NULL;
@ -284,7 +286,7 @@ void tcp_echo_init(void)
/* 处理连接 注册函数,侦听到连接时被注册的函数被回调 */
tcp_accept(server_hart2, tcpecho_accept_hart2); // 侦听到连接后回调用户编写的tcpecho_accept
#if (BLE2_USART6 == 1)
/* 创建一路蓝牙 */
server_ble1 = tcp_new();
@ -296,7 +298,7 @@ void tcp_echo_init(void)
/* 处理连接 注册函数,侦听到连接时被注册的函数被回调 */
tcp_accept(server_ble1, tcpecho_accept_ble1); // 侦听到连接后回调用户编写的tcpecho_accept
#endif
/* 创建二路蓝牙 */
server_ble2 = tcp_new();
@ -332,12 +334,13 @@ void user_send_data_hart2(uint8_t *data, uint16_t len)
tcp_write(server_pcb_hart2, data, len, 1);
}
#if (BLE2_USART6 == 1)
void user_send_data_ble1(uint8_t *data, uint16_t len)
{
tcp_write(server_pcb_ble1, data, len, 1);
}
#endif
void user_send_data_ble2(uint8_t *data, uint16_t len)
{

View File

@ -62,6 +62,7 @@ void uart_lcd_draw_ipaddr(void)
ip_addr[10 + strlen(ip_addr_str)] = 0xFF;
// uart_lcd_page2();
// HAL_Delay(100);
uart_lcd_state.page_num = 1;
dma_usart_send(&huart4, ip_addr, ARRAY_LEN(ip_addr));
// HAL_Delay(100);
}

View File

@ -2,139 +2,117 @@
CAD.formats=
CAD.pinconfig=
CAD.provider=
Dma.Request0=USART6_RX
Dma.Request1=USART6_TX
Dma.Request10=USART1_RX
Dma.Request11=USART1_TX
Dma.Request2=UART4_RX
Dma.Request3=UART4_TX
Dma.Request4=USART3_RX
Dma.Request5=USART3_TX
Dma.Request6=UART5_TX
Dma.Request7=UART5_RX
Dma.Request8=USART2_RX
Dma.Request9=USART2_TX
Dma.RequestsNb=12
Dma.UART4_RX.2.Direction=DMA_PERIPH_TO_MEMORY
Dma.UART4_RX.2.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.UART4_RX.2.Instance=DMA1_Stream2
Dma.UART4_RX.2.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.UART4_RX.2.MemInc=DMA_MINC_ENABLE
Dma.UART4_RX.2.Mode=DMA_NORMAL
Dma.UART4_RX.2.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.UART4_RX.2.PeriphInc=DMA_PINC_DISABLE
Dma.UART4_RX.2.Priority=DMA_PRIORITY_VERY_HIGH
Dma.UART4_RX.2.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode
Dma.UART4_TX.3.Direction=DMA_MEMORY_TO_PERIPH
Dma.UART4_TX.3.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.UART4_TX.3.Instance=DMA1_Stream4
Dma.UART4_TX.3.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.UART4_TX.3.MemInc=DMA_MINC_ENABLE
Dma.UART4_TX.3.Mode=DMA_NORMAL
Dma.UART4_TX.3.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.UART4_TX.3.PeriphInc=DMA_PINC_DISABLE
Dma.UART4_TX.3.Priority=DMA_PRIORITY_VERY_HIGH
Dma.UART4_TX.3.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode
Dma.UART5_RX.7.Direction=DMA_PERIPH_TO_MEMORY
Dma.UART5_RX.7.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.UART5_RX.7.Instance=DMA1_Stream0
Dma.UART5_RX.7.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.UART5_RX.7.MemInc=DMA_MINC_ENABLE
Dma.UART5_RX.7.Mode=DMA_NORMAL
Dma.UART5_RX.7.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.UART5_RX.7.PeriphInc=DMA_PINC_DISABLE
Dma.UART5_RX.7.Priority=DMA_PRIORITY_VERY_HIGH
Dma.UART5_RX.7.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode
Dma.UART5_TX.6.Direction=DMA_MEMORY_TO_PERIPH
Dma.UART5_TX.6.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.UART5_TX.6.Instance=DMA1_Stream7
Dma.UART5_TX.6.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.UART5_TX.6.MemInc=DMA_MINC_ENABLE
Dma.UART5_TX.6.Mode=DMA_NORMAL
Dma.UART5_TX.6.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.UART5_TX.6.PeriphInc=DMA_PINC_DISABLE
Dma.UART5_TX.6.Priority=DMA_PRIORITY_VERY_HIGH
Dma.UART5_TX.6.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode
Dma.USART1_RX.10.Direction=DMA_PERIPH_TO_MEMORY
Dma.USART1_RX.10.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.USART1_RX.10.Instance=DMA2_Stream2
Dma.USART1_RX.10.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.USART1_RX.10.MemInc=DMA_MINC_ENABLE
Dma.USART1_RX.10.Mode=DMA_NORMAL
Dma.USART1_RX.10.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.USART1_RX.10.PeriphInc=DMA_PINC_DISABLE
Dma.USART1_RX.10.Priority=DMA_PRIORITY_LOW
Dma.USART1_RX.10.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode
Dma.USART1_TX.11.Direction=DMA_MEMORY_TO_PERIPH
Dma.USART1_TX.11.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.USART1_TX.11.Instance=DMA2_Stream7
Dma.USART1_TX.11.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.USART1_TX.11.MemInc=DMA_MINC_ENABLE
Dma.USART1_TX.11.Mode=DMA_NORMAL
Dma.USART1_TX.11.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.USART1_TX.11.PeriphInc=DMA_PINC_DISABLE
Dma.USART1_TX.11.Priority=DMA_PRIORITY_LOW
Dma.USART1_TX.11.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode
Dma.USART2_RX.8.Direction=DMA_PERIPH_TO_MEMORY
Dma.USART2_RX.8.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.USART2_RX.8.Instance=DMA1_Stream5
Dma.USART2_RX.8.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.USART2_RX.8.MemInc=DMA_MINC_ENABLE
Dma.USART2_RX.8.Mode=DMA_NORMAL
Dma.USART2_RX.8.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.USART2_RX.8.PeriphInc=DMA_PINC_DISABLE
Dma.USART2_RX.8.Priority=DMA_PRIORITY_VERY_HIGH
Dma.USART2_RX.8.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode
Dma.USART2_TX.9.Direction=DMA_MEMORY_TO_PERIPH
Dma.USART2_TX.9.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.USART2_TX.9.Instance=DMA1_Stream6
Dma.USART2_TX.9.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.USART2_TX.9.MemInc=DMA_MINC_ENABLE
Dma.USART2_TX.9.Mode=DMA_NORMAL
Dma.USART2_TX.9.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.USART2_TX.9.PeriphInc=DMA_PINC_DISABLE
Dma.USART2_TX.9.Priority=DMA_PRIORITY_VERY_HIGH
Dma.USART2_TX.9.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode
Dma.USART3_RX.4.Direction=DMA_PERIPH_TO_MEMORY
Dma.USART3_RX.4.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.USART3_RX.4.Instance=DMA1_Stream1
Dma.USART3_RX.4.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.USART3_RX.4.MemInc=DMA_MINC_ENABLE
Dma.USART3_RX.4.Mode=DMA_NORMAL
Dma.USART3_RX.4.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.USART3_RX.4.PeriphInc=DMA_PINC_DISABLE
Dma.USART3_RX.4.Priority=DMA_PRIORITY_LOW
Dma.USART3_RX.4.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode
Dma.USART3_TX.5.Direction=DMA_MEMORY_TO_PERIPH
Dma.USART3_TX.5.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.USART3_TX.5.Instance=DMA1_Stream3
Dma.USART3_TX.5.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.USART3_TX.5.MemInc=DMA_MINC_ENABLE
Dma.USART3_TX.5.Mode=DMA_NORMAL
Dma.USART3_TX.5.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.USART3_TX.5.PeriphInc=DMA_PINC_DISABLE
Dma.USART3_TX.5.Priority=DMA_PRIORITY_LOW
Dma.USART3_TX.5.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode
Dma.USART6_RX.0.Direction=DMA_PERIPH_TO_MEMORY
Dma.USART6_RX.0.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.USART6_RX.0.Instance=DMA2_Stream1
Dma.USART6_RX.0.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.USART6_RX.0.MemInc=DMA_MINC_ENABLE
Dma.USART6_RX.0.Mode=DMA_NORMAL
Dma.USART6_RX.0.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.USART6_RX.0.PeriphInc=DMA_PINC_DISABLE
Dma.USART6_RX.0.Priority=DMA_PRIORITY_LOW
Dma.USART6_RX.0.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode
Dma.USART6_TX.1.Direction=DMA_MEMORY_TO_PERIPH
Dma.USART6_TX.1.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.USART6_TX.1.Instance=DMA2_Stream6
Dma.USART6_TX.1.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.USART6_TX.1.MemInc=DMA_MINC_ENABLE
Dma.USART6_TX.1.Mode=DMA_NORMAL
Dma.USART6_TX.1.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.USART6_TX.1.PeriphInc=DMA_PINC_DISABLE
Dma.USART6_TX.1.Priority=DMA_PRIORITY_LOW
Dma.USART6_TX.1.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode
Dma.Request0=UART4_RX
Dma.Request1=UART4_TX
Dma.Request2=USART3_RX
Dma.Request3=USART3_TX
Dma.Request4=UART5_TX
Dma.Request5=UART5_RX
Dma.Request6=USART2_RX
Dma.Request7=USART2_TX
Dma.Request8=USART1_RX
Dma.Request9=USART1_TX
Dma.RequestsNb=10
Dma.UART4_RX.0.Direction=DMA_PERIPH_TO_MEMORY
Dma.UART4_RX.0.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.UART4_RX.0.Instance=DMA1_Stream2
Dma.UART4_RX.0.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.UART4_RX.0.MemInc=DMA_MINC_ENABLE
Dma.UART4_RX.0.Mode=DMA_NORMAL
Dma.UART4_RX.0.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.UART4_RX.0.PeriphInc=DMA_PINC_DISABLE
Dma.UART4_RX.0.Priority=DMA_PRIORITY_VERY_HIGH
Dma.UART4_RX.0.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode
Dma.UART4_TX.1.Direction=DMA_MEMORY_TO_PERIPH
Dma.UART4_TX.1.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.UART4_TX.1.Instance=DMA1_Stream4
Dma.UART4_TX.1.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.UART4_TX.1.MemInc=DMA_MINC_ENABLE
Dma.UART4_TX.1.Mode=DMA_NORMAL
Dma.UART4_TX.1.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.UART4_TX.1.PeriphInc=DMA_PINC_DISABLE
Dma.UART4_TX.1.Priority=DMA_PRIORITY_VERY_HIGH
Dma.UART4_TX.1.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode
Dma.UART5_RX.5.Direction=DMA_PERIPH_TO_MEMORY
Dma.UART5_RX.5.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.UART5_RX.5.Instance=DMA1_Stream0
Dma.UART5_RX.5.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.UART5_RX.5.MemInc=DMA_MINC_ENABLE
Dma.UART5_RX.5.Mode=DMA_NORMAL
Dma.UART5_RX.5.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.UART5_RX.5.PeriphInc=DMA_PINC_DISABLE
Dma.UART5_RX.5.Priority=DMA_PRIORITY_VERY_HIGH
Dma.UART5_RX.5.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode
Dma.UART5_TX.4.Direction=DMA_MEMORY_TO_PERIPH
Dma.UART5_TX.4.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.UART5_TX.4.Instance=DMA1_Stream7
Dma.UART5_TX.4.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.UART5_TX.4.MemInc=DMA_MINC_ENABLE
Dma.UART5_TX.4.Mode=DMA_NORMAL
Dma.UART5_TX.4.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.UART5_TX.4.PeriphInc=DMA_PINC_DISABLE
Dma.UART5_TX.4.Priority=DMA_PRIORITY_VERY_HIGH
Dma.UART5_TX.4.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode
Dma.USART1_RX.8.Direction=DMA_PERIPH_TO_MEMORY
Dma.USART1_RX.8.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.USART1_RX.8.Instance=DMA2_Stream2
Dma.USART1_RX.8.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.USART1_RX.8.MemInc=DMA_MINC_ENABLE
Dma.USART1_RX.8.Mode=DMA_NORMAL
Dma.USART1_RX.8.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.USART1_RX.8.PeriphInc=DMA_PINC_DISABLE
Dma.USART1_RX.8.Priority=DMA_PRIORITY_LOW
Dma.USART1_RX.8.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode
Dma.USART1_TX.9.Direction=DMA_MEMORY_TO_PERIPH
Dma.USART1_TX.9.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.USART1_TX.9.Instance=DMA2_Stream7
Dma.USART1_TX.9.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.USART1_TX.9.MemInc=DMA_MINC_ENABLE
Dma.USART1_TX.9.Mode=DMA_NORMAL
Dma.USART1_TX.9.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.USART1_TX.9.PeriphInc=DMA_PINC_DISABLE
Dma.USART1_TX.9.Priority=DMA_PRIORITY_LOW
Dma.USART1_TX.9.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode
Dma.USART2_RX.6.Direction=DMA_PERIPH_TO_MEMORY
Dma.USART2_RX.6.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.USART2_RX.6.Instance=DMA1_Stream5
Dma.USART2_RX.6.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.USART2_RX.6.MemInc=DMA_MINC_ENABLE
Dma.USART2_RX.6.Mode=DMA_NORMAL
Dma.USART2_RX.6.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.USART2_RX.6.PeriphInc=DMA_PINC_DISABLE
Dma.USART2_RX.6.Priority=DMA_PRIORITY_VERY_HIGH
Dma.USART2_RX.6.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode
Dma.USART2_TX.7.Direction=DMA_MEMORY_TO_PERIPH
Dma.USART2_TX.7.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.USART2_TX.7.Instance=DMA1_Stream6
Dma.USART2_TX.7.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.USART2_TX.7.MemInc=DMA_MINC_ENABLE
Dma.USART2_TX.7.Mode=DMA_NORMAL
Dma.USART2_TX.7.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.USART2_TX.7.PeriphInc=DMA_PINC_DISABLE
Dma.USART2_TX.7.Priority=DMA_PRIORITY_VERY_HIGH
Dma.USART2_TX.7.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode
Dma.USART3_RX.2.Direction=DMA_PERIPH_TO_MEMORY
Dma.USART3_RX.2.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.USART3_RX.2.Instance=DMA1_Stream1
Dma.USART3_RX.2.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.USART3_RX.2.MemInc=DMA_MINC_ENABLE
Dma.USART3_RX.2.Mode=DMA_NORMAL
Dma.USART3_RX.2.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.USART3_RX.2.PeriphInc=DMA_PINC_DISABLE
Dma.USART3_RX.2.Priority=DMA_PRIORITY_LOW
Dma.USART3_RX.2.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode
Dma.USART3_TX.3.Direction=DMA_MEMORY_TO_PERIPH
Dma.USART3_TX.3.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.USART3_TX.3.Instance=DMA1_Stream3
Dma.USART3_TX.3.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.USART3_TX.3.MemInc=DMA_MINC_ENABLE
Dma.USART3_TX.3.Mode=DMA_NORMAL
Dma.USART3_TX.3.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.USART3_TX.3.PeriphInc=DMA_PINC_DISABLE
Dma.USART3_TX.3.Priority=DMA_PRIORITY_LOW
Dma.USART3_TX.3.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode
ETH.IPParameters=MediaInterface
ETH.MediaInterface=HAL_ETH_RMII_MODE
FREERTOS.FootprintOK=true
@ -170,12 +148,12 @@ Mcu.Family=STM32F4
Mcu.IP0=DMA
Mcu.IP1=ETH
Mcu.IP10=TIM3
Mcu.IP11=UART4
Mcu.IP12=UART5
Mcu.IP13=USART1
Mcu.IP14=USART2
Mcu.IP15=USART3
Mcu.IP16=USART6
Mcu.IP11=TIM8
Mcu.IP12=UART4
Mcu.IP13=UART5
Mcu.IP14=USART1
Mcu.IP15=USART2
Mcu.IP16=USART3
Mcu.IP2=FREERTOS
Mcu.IP3=LWIP
Mcu.IP4=NVIC
@ -204,56 +182,57 @@ Mcu.Pin20=PE14
Mcu.Pin21=PB11
Mcu.Pin22=PB12
Mcu.Pin23=PB13
Mcu.Pin24=PD8
Mcu.Pin25=PD9
Mcu.Pin26=PD11
Mcu.Pin27=PD12
Mcu.Pin28=PD13
Mcu.Pin29=PD14
Mcu.Pin24=PB14
Mcu.Pin25=PD8
Mcu.Pin26=PD9
Mcu.Pin27=PD11
Mcu.Pin28=PD12
Mcu.Pin29=PD13
Mcu.Pin3=PH1-OSC_OUT
Mcu.Pin30=PD15
Mcu.Pin31=PC6
Mcu.Pin32=PC7
Mcu.Pin33=PC8
Mcu.Pin34=PC9
Mcu.Pin35=PA8
Mcu.Pin36=PA9
Mcu.Pin37=PA10
Mcu.Pin38=PA11
Mcu.Pin39=PA12
Mcu.Pin30=PD14
Mcu.Pin31=PD15
Mcu.Pin32=PC6
Mcu.Pin33=PC7
Mcu.Pin34=PC8
Mcu.Pin35=PC9
Mcu.Pin36=PA8
Mcu.Pin37=PA9
Mcu.Pin38=PA10
Mcu.Pin39=PA11
Mcu.Pin4=PC0
Mcu.Pin40=PA13
Mcu.Pin41=PA14
Mcu.Pin42=PA15
Mcu.Pin43=PC10
Mcu.Pin44=PC11
Mcu.Pin45=PC12
Mcu.Pin46=PD0
Mcu.Pin47=PD1
Mcu.Pin48=PD2
Mcu.Pin49=PD3
Mcu.Pin40=PA12
Mcu.Pin41=PA13
Mcu.Pin42=PA14
Mcu.Pin43=PA15
Mcu.Pin44=PC10
Mcu.Pin45=PC11
Mcu.Pin46=PC12
Mcu.Pin47=PD0
Mcu.Pin48=PD1
Mcu.Pin49=PD2
Mcu.Pin5=PC1
Mcu.Pin50=PD4
Mcu.Pin51=PD5
Mcu.Pin52=PD6
Mcu.Pin53=PD7
Mcu.Pin54=PB3
Mcu.Pin55=PB4
Mcu.Pin56=PB5
Mcu.Pin57=PB6
Mcu.Pin58=PB7
Mcu.Pin59=PE0
Mcu.Pin50=PD3
Mcu.Pin51=PD4
Mcu.Pin52=PD5
Mcu.Pin53=PD6
Mcu.Pin54=PD7
Mcu.Pin55=PB3
Mcu.Pin56=PB4
Mcu.Pin57=PB5
Mcu.Pin58=PB6
Mcu.Pin59=PB7
Mcu.Pin6=PA1
Mcu.Pin60=PE1
Mcu.Pin61=VP_FREERTOS_VS_CMSIS_V1
Mcu.Pin62=VP_LWIP_VS_Enabled
Mcu.Pin63=VP_SYS_VS_tim4
Mcu.Pin64=VP_TIM2_VS_ClockSourceINT
Mcu.Pin65=VP_TIM3_VS_ClockSourceINT
Mcu.Pin60=PE0
Mcu.Pin61=PE1
Mcu.Pin62=VP_FREERTOS_VS_CMSIS_V1
Mcu.Pin63=VP_LWIP_VS_Enabled
Mcu.Pin64=VP_SYS_VS_tim4
Mcu.Pin65=VP_TIM2_VS_ClockSourceINT
Mcu.Pin66=VP_TIM3_VS_ClockSourceINT
Mcu.Pin7=PA2
Mcu.Pin8=PA7
Mcu.Pin9=PC4
Mcu.PinsNb=66
Mcu.PinsNb=67
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32F407VGTx
@ -268,9 +247,7 @@ NVIC.DMA1_Stream4_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true
NVIC.DMA1_Stream5_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true
NVIC.DMA1_Stream6_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true
NVIC.DMA1_Stream7_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true
NVIC.DMA2_Stream1_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true
NVIC.DMA2_Stream2_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true
NVIC.DMA2_Stream6_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true
NVIC.DMA2_Stream7_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
NVIC.ETH_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
@ -296,7 +273,6 @@ NVIC.UART5_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
NVIC.USART1_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
NVIC.USART2_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
NVIC.USART3_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
NVIC.USART6_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
PA1.Mode=RMII
PA1.Signal=ETH_REF_CLK
@ -356,6 +332,11 @@ PB12.Mode=RMII
PB12.Signal=ETH_TXD0
PB13.Mode=RMII
PB13.Signal=ETH_TXD1
PB14.GPIOParameters=GPIO_PuPd,GPIO_Label
PB14.GPIO_Label=ENCODE_Z
PB14.GPIO_PuPd=GPIO_PULLUP
PB14.Locked=true
PB14.Signal=GPXTI14
PB2.GPIOParameters=GPIO_Speed,PinState,GPIO_PuPd,GPIO_Label,GPIO_ModeDefaultOutputPP
PB2.GPIO_Label=LED3_G
PB2.GPIO_ModeDefaultOutputPP=GPIO_MODE_OUTPUT_PP
@ -419,16 +400,8 @@ PC4.Mode=RMII
PC4.Signal=ETH_RXD0
PC5.Mode=RMII
PC5.Signal=ETH_RXD1
PC6.GPIOParameters=GPIO_PuPd,GPIO_Label
PC6.GPIO_Label=BLE1_TX
PC6.GPIO_PuPd=GPIO_PULLUP
PC6.Mode=Asynchronous
PC6.Signal=USART6_TX
PC7.GPIOParameters=GPIO_PuPd,GPIO_Label
PC7.GPIO_Label=BLE1_RX
PC7.GPIO_PuPd=GPIO_PULLUP
PC7.Mode=Asynchronous
PC7.Signal=USART6_RX
PC6.Signal=S_TIM8_CH1
PC7.Signal=S_TIM8_CH2
PC8.GPIOParameters=GPIO_PuPd,GPIO_Label
PC8.GPIO_Label=DI_CH1
PC8.GPIO_PuPd=GPIO_PULLUP
@ -632,7 +605,7 @@ ProjectManager.StackSize=0x400
ProjectManager.TargetToolchain=MDK-ARM V5.32
ProjectManager.ToolChainLocation=
ProjectManager.UnderRoot=false
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_DMA_Init-DMA-false-HAL-true,4-MX_LWIP_Init-LWIP-false-HAL-false,5-MX_TIM3_Init-TIM3-false-HAL-true,6-MX_SPI1_Init-SPI1-false-HAL-true,7-MX_USART6_UART_Init-USART6-false-HAL-true,8-MX_UART4_Init-UART4-false-HAL-true,9-MX_TIM2_Init-TIM2-false-HAL-true,10-MX_UART5_Init-UART5-false-HAL-true,11-MX_USART2_UART_Init-USART2-false-HAL-true,12-MX_USART3_UART_Init-USART3-false-HAL-true,13-MX_TIM1_Init-TIM1-false-HAL-true,14-MX_USART1_UART_Init-USART1-false-HAL-true
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_DMA_Init-DMA-false-HAL-true,4-MX_LWIP_Init-LWIP-false-HAL-false,5-MX_TIM3_Init-TIM3-false-HAL-true,6-MX_SPI1_Init-SPI1-false-HAL-true,7-MX_UART4_Init-UART4-false-HAL-true,8-MX_TIM2_Init-TIM2-false-HAL-true,9-MX_UART5_Init-UART5-false-HAL-true,10-MX_USART2_UART_Init-USART2-false-HAL-true,11-MX_USART3_UART_Init-USART3-false-HAL-true,12-MX_TIM1_Init-TIM1-false-HAL-true,13-MX_USART1_UART_Init-USART1-false-HAL-true,14-MX_TIM8_Init-TIM8-false-HAL-true
RCC.48MHZClocksFreq_Value=55296000
RCC.AHBFreq_Value=110592000
RCC.APB1CLKDivider=RCC_HCLK_DIV4
@ -668,6 +641,8 @@ RCC.VCOOutputFreq_Value=221184000
RCC.VcooutputI2S=106168320
SH.GPXTI1.0=GPIO_EXTI1
SH.GPXTI1.ConfNb=1
SH.GPXTI14.0=GPIO_EXTI14
SH.GPXTI14.ConfNb=1
SH.GPXTI3.0=GPIO_EXTI3
SH.GPXTI3.ConfNb=1
SH.GPXTI8.0=GPIO_EXTI8
@ -680,6 +655,10 @@ SH.S_TIM2_CH1_ETR.0=TIM2_CH1,PWM Generation1 CH1
SH.S_TIM2_CH1_ETR.ConfNb=1
SH.S_TIM3_CH3.0=TIM3_CH3,PWM Generation3 CH3
SH.S_TIM3_CH3.ConfNb=1
SH.S_TIM8_CH1.0=TIM8_CH1,Encoder_Interface
SH.S_TIM8_CH1.ConfNb=1
SH.S_TIM8_CH2.0=TIM8_CH2,Encoder_Interface
SH.S_TIM8_CH2.ConfNb=1
SPI1.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_256
SPI1.CLKPhase=SPI_PHASE_2EDGE
SPI1.CLKPolarity=SPI_POLARITY_HIGH
@ -700,6 +679,9 @@ TIM3.IPParameters=Channel-PWM Generation3 CH3,Prescaler,Period,Pulse-PWM Generat
TIM3.Period=370
TIM3.Prescaler=54
TIM3.Pulse-PWM\ Generation3\ CH3=92
TIM8.EncoderMode=TIM_ENCODERMODE_TI12
TIM8.IPParameters=Prescaler,EncoderMode
TIM8.Prescaler=2
UART4.IPParameters=VirtualMode
UART4.VirtualMode=Asynchronous
UART5.BaudRate=1200
@ -716,8 +698,6 @@ USART2.VirtualMode=VM_ASYNC
USART2.WordLength=WORDLENGTH_9B
USART3.IPParameters=VirtualMode
USART3.VirtualMode=VM_ASYNC
USART6.IPParameters=VirtualMode
USART6.VirtualMode=VM_ASYNC
VP_FREERTOS_VS_CMSIS_V1.Mode=CMSIS_V1
VP_FREERTOS_VS_CMSIS_V1.Signal=FREERTOS_VS_CMSIS_V1
VP_LWIP_VS_Enabled.Mode=Enabled