编码器备份
This commit is contained in:
parent
cd1850ef7e
commit
dd006921d7
|
@ -23,8 +23,7 @@
|
||||||
#define __MAIN_H
|
#define __MAIN_H
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C"
|
extern "C" {
|
||||||
{
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Includes ------------------------------------------------------------------*/
|
/* Includes ------------------------------------------------------------------*/
|
||||||
|
|
|
@ -22,8 +22,7 @@
|
||||||
#define __TIM_H__
|
#define __TIM_H__
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C"
|
extern "C" {
|
||||||
{
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Includes ------------------------------------------------------------------*/
|
/* Includes ------------------------------------------------------------------*/
|
||||||
|
@ -105,3 +104,4 @@ extern "C"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* __TIM_H__ */
|
#endif /* __TIM_H__ */
|
||||||
|
|
||||||
|
|
|
@ -70,6 +70,8 @@ extern uint8_t send_data_flag_cmd;
|
||||||
ec11_t ec11_data = {0};
|
ec11_t ec11_data = {0};
|
||||||
uint8_t di_state_last[DI_MAX] = {0};
|
uint8_t di_state_last[DI_MAX] = {0};
|
||||||
uint8_t di_state_now[DI_MAX] = {0};
|
uint8_t di_state_now[DI_MAX] = {0};
|
||||||
|
int encode_direction = 0;
|
||||||
|
int encode_num = 0;
|
||||||
/* USER CODE END FunctionPrototypes */
|
/* USER CODE END FunctionPrototypes */
|
||||||
|
|
||||||
void start_tcp_task(void const *argument);
|
void start_tcp_task(void const *argument);
|
||||||
|
@ -103,7 +105,8 @@ void vApplicationGetIdleTaskMemory(StaticTask_t **ppxIdleTaskTCBBuffer, StackTyp
|
||||||
* @param None
|
* @param None
|
||||||
* @retval None
|
* @retval None
|
||||||
*/
|
*/
|
||||||
void MX_FREERTOS_Init(void) {
|
void MX_FREERTOS_Init(void)
|
||||||
|
{
|
||||||
/* USER CODE BEGIN Init */
|
/* USER CODE BEGIN Init */
|
||||||
|
|
||||||
/* USER CODE END Init */
|
/* USER CODE END Init */
|
||||||
|
@ -152,7 +155,6 @@ void MX_FREERTOS_Init(void) {
|
||||||
/* USER CODE BEGIN RTOS_THREADS */
|
/* USER CODE BEGIN RTOS_THREADS */
|
||||||
/* add threads, ... */
|
/* add threads, ... */
|
||||||
/* USER CODE END RTOS_THREADS */
|
/* USER CODE END RTOS_THREADS */
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* USER CODE BEGIN Header_start_tcp_task */
|
/* USER CODE BEGIN Header_start_tcp_task */
|
||||||
|
@ -192,7 +194,7 @@ void start_led_toggle_task(void const * argument)
|
||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
HAL_GPIO_TogglePin(LED3_G_GPIO_Port, LED3_G_Pin);
|
HAL_GPIO_TogglePin(LED3_G_GPIO_Port, LED3_G_Pin);
|
||||||
// 旋转编码器确认按键状态,并切换<E58887>?<3F>道和确认电流<E794B5>?<3F>输<EFBFBD><EFBFBD>???
|
// 旋转编码器确认按键状态,并切换<E58887>?<3F>道和确认电流<E794B5>?<3F>输<EFBFBD>?????
|
||||||
// if (uart_lcd_state.page_num == 0)
|
// if (uart_lcd_state.page_num == 0)
|
||||||
{
|
{
|
||||||
if (ec11_data.confirm_key_flag == 0)
|
if (ec11_data.confirm_key_flag == 0)
|
||||||
|
@ -266,7 +268,7 @@ void start_dac_task(void const * argument)
|
||||||
/* Infinite loop */
|
/* Infinite loop */
|
||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
osThreadSuspend(adc_taskHandle); // 暂停ADC任务,防止DAC采集时产生干<E7949F><EFBFBD>???,因为ADC和DAC采用的是同一路SPI,但是时序不<E5BA8F><E4B88D>???
|
osThreadSuspend(adc_taskHandle); // 暂停ADC任务,防止DAC采集时产生干<E7949F>?????,因为ADC和DAC采用的是同一路SPI,但是时序不<E5BA8F>?????
|
||||||
dac161s997_output(DAC161S997_1, current_buff[0]);
|
dac161s997_output(DAC161S997_1, current_buff[0]);
|
||||||
dac161s997_output(DAC161S997_2, current_buff[1]);
|
dac161s997_output(DAC161S997_2, current_buff[1]);
|
||||||
osThreadResume(adc_taskHandle);
|
osThreadResume(adc_taskHandle);
|
||||||
|
@ -289,7 +291,7 @@ void start_adc_task(void const * argument)
|
||||||
/* Infinite loop */
|
/* Infinite loop */
|
||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
osThreadSuspend(dac_taskHandle); // 暂停DAC任务,防止ADC采集时产生干<E7949F><EFBFBD>???,因为ADC和DAC采用的是同一路SPI,但是时序不<E5BA8F><E4B88D>???
|
osThreadSuspend(dac_taskHandle); // 暂停DAC任务,防止ADC采集时产生干<E7949F>?????,因为ADC和DAC采用的是同一路SPI,但是时序不<E5BA8F>?????
|
||||||
uint8_t ch = 0;
|
uint8_t ch = 0;
|
||||||
for (ch = STOP_NC_ADC; ch < AD7124_CHANNEL_EN_MAX; ch++)
|
for (ch = STOP_NC_ADC; ch < AD7124_CHANNEL_EN_MAX; ch++)
|
||||||
{
|
{
|
||||||
|
@ -329,11 +331,11 @@ void start_gpio_di_do_task(void const * argument)
|
||||||
uint8_t di_ch = 0;
|
uint8_t di_ch = 0;
|
||||||
uint8_t tx_data_len = 7 + DI_MAX;
|
uint8_t tx_data_len = 7 + DI_MAX;
|
||||||
uint8_t tx_data[32] = {0};
|
uint8_t tx_data[32] = {0};
|
||||||
tx_data[0] = FRAME_HEAD; // 甯уご
|
tx_data[0] = FRAME_HEAD;
|
||||||
tx_data[1] = COM_OK; // 鐘讹<E99098><E8AEB9>????锟界<E9949F><E7958C>???
|
tx_data[1] = COM_OK;
|
||||||
tx_data[2] = DEVICE_NUM; // 璁惧锟??
|
tx_data[2] = DEVICE_NUM;
|
||||||
tx_data[3] = SEND_STATE_CMD; // 鍛戒护锟??
|
tx_data[3] = SEND_STATE_CMD;
|
||||||
tx_data[4] = DI_MAX; // 鏁版嵁闀垮害
|
tx_data[4] = DI_MAX;
|
||||||
for (di_ch = 0; di_ch < DI_MAX; di_ch++)
|
for (di_ch = 0; di_ch < DI_MAX; di_ch++)
|
||||||
{
|
{
|
||||||
di_state_now[di_ch] = gpio_di_test(di_ch);
|
di_state_now[di_ch] = gpio_di_test(di_ch);
|
||||||
|
@ -373,12 +375,14 @@ void start_ec11_task(void const * argument)
|
||||||
/* Infinite loop */
|
/* Infinite loop */
|
||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
|
encode_direction = __HAL_TIM_IS_TIM_COUNTING_DOWN(&htim8);
|
||||||
// 旋转编码器调节电流<E794B5>?<3F>画面显<E99DA2><E698BE>???
|
encode_num = (short)__HAL_TIM_GET_COUNTER(&htim8);
|
||||||
|
// 旋转编码器调节电流<E794B5>?<3F>画面显<E99DA2>?????
|
||||||
if (uart_lcd_state.page_num == 0)
|
if (uart_lcd_state.page_num == 0)
|
||||||
{
|
{
|
||||||
ec11_data.direction = __HAL_TIM_IS_TIM_COUNTING_DOWN(&htim1);
|
ec11_data.direction = __HAL_TIM_IS_TIM_COUNTING_DOWN(&htim1);
|
||||||
ec11_data.encode_num = (short)__HAL_TIM_GET_COUNTER(&htim1);
|
ec11_data.encode_num = (short)__HAL_TIM_GET_COUNTER(&htim1);
|
||||||
|
|
||||||
if ((ec11_data.direction == 0) && (ec11_data.encode_num > ec11_data.encode_num_last))
|
if ((ec11_data.direction == 0) && (ec11_data.encode_num > ec11_data.encode_num_last))
|
||||||
{
|
{
|
||||||
if (uart_lcd_state.key_state[0] == 0)
|
if (uart_lcd_state.key_state[0] == 0)
|
||||||
|
|
|
@ -195,7 +195,8 @@ void SystemClock_Config(void)
|
||||||
|
|
||||||
/** Initializes the CPU, AHB and APB buses clocks
|
/** Initializes the CPU, AHB and APB buses clocks
|
||||||
*/
|
*/
|
||||||
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2;
|
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|
||||||
|
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
|
||||||
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
|
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
|
||||||
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
|
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
|
||||||
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4;
|
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4;
|
||||||
|
@ -219,7 +220,7 @@ void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)
|
||||||
memcpy(usb_uart1.rx_data, usb_uart1.rx_data_temp, Size);
|
memcpy(usb_uart1.rx_data, usb_uart1.rx_data_temp, Size);
|
||||||
HAL_UARTEx_ReceiveToIdle_DMA(&huart1, usb_uart1.rx_data_temp, ARRAY_LEN(usb_uart1.rx_data_temp));
|
HAL_UARTEx_ReceiveToIdle_DMA(&huart1, usb_uart1.rx_data_temp, ARRAY_LEN(usb_uart1.rx_data_temp));
|
||||||
// dma_usart_send(&huart4, usb_uart1.rx_data_temp, usb_uart1.rx_num);
|
// dma_usart_send(&huart4, usb_uart1.rx_data_temp, usb_uart1.rx_num);
|
||||||
// ip地址更新
|
// IP address assignment
|
||||||
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]);
|
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;
|
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戝功,更新ip地址显示
|
||||||
|
@ -234,7 +235,6 @@ void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)
|
||||||
memset(lcd_uart4.rx_data, 0, ARRAY_LEN(lcd_uart4.rx_data));
|
memset(lcd_uart4.rx_data, 0, ARRAY_LEN(lcd_uart4.rx_data));
|
||||||
memcpy(lcd_uart4.rx_data, lcd_uart4.rx_data_temp, Size);
|
memcpy(lcd_uart4.rx_data, lcd_uart4.rx_data_temp, Size);
|
||||||
HAL_UARTEx_ReceiveToIdle_DMA(&huart4, lcd_uart4.rx_data_temp, ARRAY_LEN(lcd_uart4.rx_data_temp));
|
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 (BLE2_USART6 == 1)
|
||||||
if (huart == &huart6)
|
if (huart == &huart6)
|
||||||
|
@ -340,8 +340,7 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
|
||||||
/* USER CODE BEGIN Callback 0 */
|
/* USER CODE BEGIN Callback 0 */
|
||||||
|
|
||||||
/* USER CODE END Callback 0 */
|
/* USER CODE END Callback 0 */
|
||||||
if (htim->Instance == TIM4)
|
if (htim->Instance == TIM4) {
|
||||||
{
|
|
||||||
HAL_IncTick();
|
HAL_IncTick();
|
||||||
}
|
}
|
||||||
/* USER CODE BEGIN Callback 1 */
|
/* USER CODE BEGIN Callback 1 */
|
||||||
|
|
|
@ -44,7 +44,7 @@ void MX_TIM1_Init(void)
|
||||||
|
|
||||||
/* USER CODE END TIM1_Init 1 */
|
/* USER CODE END TIM1_Init 1 */
|
||||||
htim1.Instance = TIM1;
|
htim1.Instance = TIM1;
|
||||||
htim1.Init.Prescaler = 2;
|
htim1.Init.Prescaler = 0;
|
||||||
htim1.Init.CounterMode = TIM_COUNTERMODE_UP;
|
htim1.Init.CounterMode = TIM_COUNTERMODE_UP;
|
||||||
htim1.Init.Period = 65535;
|
htim1.Init.Period = 65535;
|
||||||
htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
|
htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
|
||||||
|
@ -197,7 +197,7 @@ void MX_TIM8_Init(void)
|
||||||
|
|
||||||
/* USER CODE END TIM8_Init 1 */
|
/* USER CODE END TIM8_Init 1 */
|
||||||
htim8.Instance = TIM8;
|
htim8.Instance = TIM8;
|
||||||
htim8.Init.Prescaler = 2;
|
htim8.Init.Prescaler = 0;
|
||||||
htim8.Init.CounterMode = TIM_COUNTERMODE_UP;
|
htim8.Init.CounterMode = TIM_COUNTERMODE_UP;
|
||||||
htim8.Init.Period = 65535;
|
htim8.Init.Period = 65535;
|
||||||
htim8.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
|
htim8.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
|
||||||
|
|
|
@ -66,6 +66,7 @@ void MX_UART4_Init(void)
|
||||||
/* USER CODE BEGIN UART4_Init 2 */
|
/* USER CODE BEGIN UART4_Init 2 */
|
||||||
//__HAL_UART_ENABLE_IT(&huart4, UART_IT_IDLE); // 使能IDLE中断
|
//__HAL_UART_ENABLE_IT(&huart4, UART_IT_IDLE); // 使能IDLE中断
|
||||||
/* USER CODE END UART4_Init 2 */
|
/* USER CODE END UART4_Init 2 */
|
||||||
|
|
||||||
}
|
}
|
||||||
/* UART5 init function */
|
/* UART5 init function */
|
||||||
void MX_UART5_Init(void)
|
void MX_UART5_Init(void)
|
||||||
|
@ -94,6 +95,7 @@ void MX_UART5_Init(void)
|
||||||
// __HAL_UART_ENABLE_IT(&huart5, UART_IT_RXNE); // 接收中断
|
// __HAL_UART_ENABLE_IT(&huart5, UART_IT_RXNE); // 接收中断
|
||||||
// __HAL_UART_ENABLE_IT(&huart5, UART_IT_IDLE); // 空闲中断
|
// __HAL_UART_ENABLE_IT(&huart5, UART_IT_IDLE); // 空闲中断
|
||||||
/* USER CODE END UART5_Init 2 */
|
/* USER CODE END UART5_Init 2 */
|
||||||
|
|
||||||
}
|
}
|
||||||
/* USART1 init function */
|
/* USART1 init function */
|
||||||
|
|
||||||
|
@ -122,6 +124,7 @@ void MX_USART1_UART_Init(void)
|
||||||
/* USER CODE BEGIN USART1_Init 2 */
|
/* USER CODE BEGIN USART1_Init 2 */
|
||||||
|
|
||||||
/* USER CODE END USART1_Init 2 */
|
/* USER CODE END USART1_Init 2 */
|
||||||
|
|
||||||
}
|
}
|
||||||
/* USART2 init function */
|
/* USART2 init function */
|
||||||
|
|
||||||
|
@ -151,6 +154,7 @@ void MX_USART2_UART_Init(void)
|
||||||
// __HAL_UART_ENABLE_IT(&huart2, UART_IT_RXNE); // 接收中断
|
// __HAL_UART_ENABLE_IT(&huart2, UART_IT_RXNE); // 接收中断
|
||||||
// __HAL_UART_ENABLE_IT(&huart2, UART_IT_IDLE); // 使能IDLE中断
|
// __HAL_UART_ENABLE_IT(&huart2, UART_IT_IDLE); // 使能IDLE中断
|
||||||
/* USER CODE END USART2_Init 2 */
|
/* USER CODE END USART2_Init 2 */
|
||||||
|
|
||||||
}
|
}
|
||||||
/* USART3 init function */
|
/* USART3 init function */
|
||||||
|
|
||||||
|
@ -179,6 +183,7 @@ void MX_USART3_UART_Init(void)
|
||||||
/* USER CODE BEGIN USART3_Init 2 */
|
/* USER CODE BEGIN USART3_Init 2 */
|
||||||
|
|
||||||
/* USER CODE END USART3_Init 2 */
|
/* USER CODE END USART3_Init 2 */
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
|
void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
|
||||||
|
|
|
@ -293,7 +293,7 @@
|
||||||
<Ww>
|
<Ww>
|
||||||
<count>28</count>
|
<count>28</count>
|
||||||
<WinNumber>1</WinNumber>
|
<WinNumber>1</WinNumber>
|
||||||
<ItemText>ec11_data</ItemText>
|
<ItemText>ec11_data,0x0A</ItemText>
|
||||||
</Ww>
|
</Ww>
|
||||||
<Ww>
|
<Ww>
|
||||||
<count>29</count>
|
<count>29</count>
|
||||||
|
@ -310,6 +310,16 @@
|
||||||
<WinNumber>1</WinNumber>
|
<WinNumber>1</WinNumber>
|
||||||
<ItemText>huart->pTxBuffPtr</ItemText>
|
<ItemText>huart->pTxBuffPtr</ItemText>
|
||||||
</Ww>
|
</Ww>
|
||||||
|
<Ww>
|
||||||
|
<count>32</count>
|
||||||
|
<WinNumber>1</WinNumber>
|
||||||
|
<ItemText>encode_direction,0x0A</ItemText>
|
||||||
|
</Ww>
|
||||||
|
<Ww>
|
||||||
|
<count>33</count>
|
||||||
|
<WinNumber>1</WinNumber>
|
||||||
|
<ItemText>encode_num,0x0A</ItemText>
|
||||||
|
</Ww>
|
||||||
</WatchWindow1>
|
</WatchWindow1>
|
||||||
<MemoryWindow1>
|
<MemoryWindow1>
|
||||||
<Mm>
|
<Mm>
|
||||||
|
@ -327,7 +337,7 @@
|
||||||
<periodic>1</periodic>
|
<periodic>1</periodic>
|
||||||
<aLwin>1</aLwin>
|
<aLwin>1</aLwin>
|
||||||
<aCover>0</aCover>
|
<aCover>0</aCover>
|
||||||
<aSer1>1</aSer1>
|
<aSer1>0</aSer1>
|
||||||
<aSer2>0</aSer2>
|
<aSer2>0</aSer2>
|
||||||
<aPa>0</aPa>
|
<aPa>0</aPa>
|
||||||
<viewmode>1</viewmode>
|
<viewmode>1</viewmode>
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -669,7 +669,7 @@ SPI1.Mode=SPI_MODE_MASTER
|
||||||
SPI1.VirtualType=VM_MASTER
|
SPI1.VirtualType=VM_MASTER
|
||||||
TIM1.EncoderMode=TIM_ENCODERMODE_TI12
|
TIM1.EncoderMode=TIM_ENCODERMODE_TI12
|
||||||
TIM1.IPParameters=EncoderMode,Prescaler
|
TIM1.IPParameters=EncoderMode,Prescaler
|
||||||
TIM1.Prescaler=2
|
TIM1.Prescaler=0
|
||||||
TIM2.Channel-PWM\ Generation1\ CH1=TIM_CHANNEL_1
|
TIM2.Channel-PWM\ Generation1\ CH1=TIM_CHANNEL_1
|
||||||
TIM2.IPParameters=Channel-PWM Generation1 CH1,Period,Pulse-PWM Generation1 CH1
|
TIM2.IPParameters=Channel-PWM Generation1 CH1,Period,Pulse-PWM Generation1 CH1
|
||||||
TIM2.Period=119
|
TIM2.Period=119
|
||||||
|
@ -681,7 +681,7 @@ TIM3.Prescaler=54
|
||||||
TIM3.Pulse-PWM\ Generation3\ CH3=92
|
TIM3.Pulse-PWM\ Generation3\ CH3=92
|
||||||
TIM8.EncoderMode=TIM_ENCODERMODE_TI12
|
TIM8.EncoderMode=TIM_ENCODERMODE_TI12
|
||||||
TIM8.IPParameters=Prescaler,EncoderMode
|
TIM8.IPParameters=Prescaler,EncoderMode
|
||||||
TIM8.Prescaler=2
|
TIM8.Prescaler=0
|
||||||
UART4.IPParameters=VirtualMode
|
UART4.IPParameters=VirtualMode
|
||||||
UART4.VirtualMode=Asynchronous
|
UART4.VirtualMode=Asynchronous
|
||||||
UART5.BaudRate=1200
|
UART5.BaudRate=1200
|
||||||
|
|
Loading…
Reference in New Issue