按键功能备份
This commit is contained in:
parent
b399ccf974
commit
b23d90952a
|
@ -42,6 +42,7 @@
|
||||||
"communication_protocol.h": "c",
|
"communication_protocol.h": "c",
|
||||||
"user_gpio.h": "c",
|
"user_gpio.h": "c",
|
||||||
"user_lib.h": "c",
|
"user_lib.h": "c",
|
||||||
"init.h": "c"
|
"init.h": "c",
|
||||||
|
"uart_lcd.h": "c"
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -67,24 +67,25 @@ osThreadId ec11_taskHandle;
|
||||||
extern float current_buff[2];
|
extern float current_buff[2];
|
||||||
extern uint8_t tcp_echo_flags_control;
|
extern uint8_t tcp_echo_flags_control;
|
||||||
extern uint8_t send_data_flag_cmd;
|
extern uint8_t send_data_flag_cmd;
|
||||||
int direction = 0;
|
|
||||||
int encode_num = 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};
|
||||||
/* USER CODE END FunctionPrototypes */
|
/* USER CODE END FunctionPrototypes */
|
||||||
|
|
||||||
void start_tcp_task(void const * argument);
|
void start_tcp_task(void const *argument);
|
||||||
void start_led_toggle_task(void const * argument);
|
void start_led_toggle_task(void const *argument);
|
||||||
void start_dac_task(void const * argument);
|
void start_dac_task(void const *argument);
|
||||||
void start_adc_task(void const * argument);
|
void start_adc_task(void const *argument);
|
||||||
void start_gpio_di_do_task(void const * argument);
|
void start_gpio_di_do_task(void const *argument);
|
||||||
void start_ec11_task(void const * argument);
|
void start_ec11_task(void const *argument);
|
||||||
|
|
||||||
extern void MX_LWIP_Init(void);
|
extern void MX_LWIP_Init(void);
|
||||||
void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
|
void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
|
||||||
|
|
||||||
/* GetIdleTaskMemory prototype (linked to static allocation support) */
|
/* 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 */
|
/* USER CODE BEGIN GET_IDLE_TASK_MEMORY */
|
||||||
static StaticTask_t xIdleTaskTCBBuffer;
|
static StaticTask_t xIdleTaskTCBBuffer;
|
||||||
|
@ -104,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 */
|
||||||
|
@ -153,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 */
|
||||||
|
@ -163,7 +164,7 @@ void MX_FREERTOS_Init(void) {
|
||||||
* @retval None
|
* @retval None
|
||||||
*/
|
*/
|
||||||
/* USER CODE END Header_start_tcp_task */
|
/* 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 */
|
/* init code for LWIP */
|
||||||
MX_LWIP_Init();
|
MX_LWIP_Init();
|
||||||
|
@ -185,14 +186,34 @@ void start_tcp_task(void const * argument)
|
||||||
* @retval None
|
* @retval None
|
||||||
*/
|
*/
|
||||||
/* USER CODE END Header_start_led_toggle_task */
|
/* 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 */
|
/* USER CODE BEGIN start_led_toggle_task */
|
||||||
/* Infinite loop */
|
/* Infinite loop */
|
||||||
for (;;)
|
for (;;)
|
||||||
|
{
|
||||||
|
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)
|
||||||
|
{
|
||||||
|
ec11_data.confirm_key_flag_last++;
|
||||||
|
if (ec11_data.confirm_key_flag_last > 3)
|
||||||
{
|
{
|
||||||
HAL_GPIO_TogglePin(LED2_G_GPIO_Port, LED2_G_Pin);
|
HAL_GPIO_TogglePin(LED2_G_GPIO_Port, LED2_G_Pin);
|
||||||
vTaskDelay(500);
|
ec11_data.confirm_key_flag_last = 0;
|
||||||
|
ec11_data.confirm_key_flag = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (ec11_data.confirm_key_flag == 2)
|
||||||
|
{
|
||||||
|
ec11_data.confirm_key_flag_last = 0;
|
||||||
|
HAL_GPIO_TogglePin(LED2_R_GPIO_Port, LED2_R_Pin);
|
||||||
|
ec11_data.confirm_key_flag = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
vTaskDelay(1000);
|
||||||
}
|
}
|
||||||
/* USER CODE END start_led_toggle_task */
|
/* USER CODE END start_led_toggle_task */
|
||||||
}
|
}
|
||||||
|
@ -204,7 +225,7 @@ void start_led_toggle_task(void const * argument)
|
||||||
* @retval None
|
* @retval None
|
||||||
*/
|
*/
|
||||||
/* USER CODE END Header_start_dac_task */
|
/* 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 */
|
/* USER CODE BEGIN start_dac_task */
|
||||||
dac161s997_init();
|
dac161s997_init();
|
||||||
|
@ -227,7 +248,7 @@ void start_dac_task(void const * argument)
|
||||||
* @retval None
|
* @retval None
|
||||||
*/
|
*/
|
||||||
/* USER CODE END Header_start_adc_task */
|
/* 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 */
|
/* USER CODE BEGIN start_adc_task */
|
||||||
ad7124_setup();
|
ad7124_setup();
|
||||||
|
@ -262,7 +283,7 @@ void start_adc_task(void const * argument)
|
||||||
* @retval None
|
* @retval None
|
||||||
*/
|
*/
|
||||||
/* USER CODE END Header_start_gpio_di_do_task */
|
/* 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 */
|
/* USER CODE BEGIN start_gpio_di_do_task */
|
||||||
/* Infinite loop */
|
/* Infinite loop */
|
||||||
|
@ -273,9 +294,9 @@ void start_gpio_di_do_task(void const * argument)
|
||||||
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; // 状æ?<3F>ç <C3A7>
|
tx_data[1] = COM_OK; // 状<EFBFBD>?<3F>码
|
||||||
tx_data[2] = DEVICE_NUM; // 设备å<EFBFBD>?
|
tx_data[2] = DEVICE_NUM; // 设备<EFBFBD>?
|
||||||
tx_data[3] = SEND_STATE_CMD; // 命令å<EFBFBD>?
|
tx_data[3] = SEND_STATE_CMD; // 命令<EFBFBD>?
|
||||||
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++)
|
||||||
{
|
{
|
||||||
|
@ -310,14 +331,14 @@ void start_gpio_di_do_task(void const * argument)
|
||||||
* @retval None
|
* @retval None
|
||||||
*/
|
*/
|
||||||
/* USER CODE END Header_start_ec11_task */
|
/* 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 */
|
/* USER CODE BEGIN start_ec11_task */
|
||||||
/* Infinite loop */
|
/* Infinite loop */
|
||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
direction = __HAL_TIM_IS_TIM_COUNTING_DOWN(&htim1);
|
ec11_data.direction = __HAL_TIM_IS_TIM_COUNTING_DOWN(&htim1);
|
||||||
encode_num = (short)__HAL_TIM_GET_COUNTER(&htim1);
|
ec11_data.encode_num = (short)__HAL_TIM_GET_COUNTER(&htim1);
|
||||||
vTaskDelay(10);
|
vTaskDelay(10);
|
||||||
}
|
}
|
||||||
/* USER CODE END start_ec11_task */
|
/* USER CODE END start_ec11_task */
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
#include "usart.h"
|
#include "usart.h"
|
||||||
#include "tcpserverc.h"
|
#include "tcpserverc.h"
|
||||||
#include "ht1200m.h"
|
#include "ht1200m.h"
|
||||||
|
#include "uart_lcd.h"
|
||||||
/* USER CODE END Includes */
|
/* USER CODE END Includes */
|
||||||
|
|
||||||
/* Private typedef -----------------------------------------------------------*/
|
/* Private typedef -----------------------------------------------------------*/
|
||||||
|
@ -58,7 +59,7 @@ uint8_t buzzer_flag = 0;
|
||||||
|
|
||||||
/* Private user code ---------------------------------------------------------*/
|
/* Private user code ---------------------------------------------------------*/
|
||||||
/* USER CODE BEGIN 0 */
|
/* USER CODE BEGIN 0 */
|
||||||
|
// extern ec11_t ec11_data;
|
||||||
/* USER CODE END 0 */
|
/* USER CODE END 0 */
|
||||||
|
|
||||||
/* External variables --------------------------------------------------------*/
|
/* External variables --------------------------------------------------------*/
|
||||||
|
@ -321,15 +322,13 @@ void EXTI9_5_IRQHandler(void)
|
||||||
/* USER CODE END EXTI9_5_IRQn 0 */
|
/* USER CODE END EXTI9_5_IRQn 0 */
|
||||||
HAL_GPIO_EXTI_IRQHandler(EC11_KEY_Pin);
|
HAL_GPIO_EXTI_IRQHandler(EC11_KEY_Pin);
|
||||||
/* USER CODE BEGIN EXTI9_5_IRQn 1 */
|
/* USER CODE BEGIN EXTI9_5_IRQn 1 */
|
||||||
if (buzzer_flag == 1)
|
if (ec11_data.confirm_key_flag == 1)
|
||||||
{
|
{
|
||||||
HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_3); // 蜂鸣器PWM输出,用于蜂鸣器发声
|
ec11_data.confirm_key_flag = 2;
|
||||||
buzzer_flag = 0;
|
|
||||||
}
|
}
|
||||||
else if (buzzer_flag == 0)
|
else if (ec11_data.confirm_key_flag == 0)
|
||||||
{
|
{
|
||||||
HAL_TIM_PWM_Stop(&htim3, TIM_CHANNEL_3); // 停止蜂鸣器PWM输出,用于关闭蜂鸣器发声
|
ec11_data.confirm_key_flag = 1;
|
||||||
buzzer_flag = 1;
|
|
||||||
}
|
}
|
||||||
/* USER CODE END EXTI9_5_IRQn 1 */
|
/* USER CODE END EXTI9_5_IRQn 1 */
|
||||||
}
|
}
|
||||||
|
|
|
@ -117,6 +117,26 @@
|
||||||
<pMon>STLink\ST-LINKIII-KEIL_SWO.dll</pMon>
|
<pMon>STLink\ST-LINKIII-KEIL_SWO.dll</pMon>
|
||||||
</DebugOpt>
|
</DebugOpt>
|
||||||
<TargetDriverDllRegistry>
|
<TargetDriverDllRegistry>
|
||||||
|
<SetRegEntry>
|
||||||
|
<Number>0</Number>
|
||||||
|
<Key>ARMRTXEVENTFLAGS</Key>
|
||||||
|
<Name>-L70 -Z18 -C0 -M0 -T1</Name>
|
||||||
|
</SetRegEntry>
|
||||||
|
<SetRegEntry>
|
||||||
|
<Number>0</Number>
|
||||||
|
<Key>DLGTARM</Key>
|
||||||
|
<Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>
|
||||||
|
</SetRegEntry>
|
||||||
|
<SetRegEntry>
|
||||||
|
<Number>0</Number>
|
||||||
|
<Key>ARMDBGFLAGS</Key>
|
||||||
|
<Name></Name>
|
||||||
|
</SetRegEntry>
|
||||||
|
<SetRegEntry>
|
||||||
|
<Number>0</Number>
|
||||||
|
<Key>DLGUARM</Key>
|
||||||
|
<Name>(105=-1,-1,-1,-1,0)</Name>
|
||||||
|
</SetRegEntry>
|
||||||
<SetRegEntry>
|
<SetRegEntry>
|
||||||
<Number>0</Number>
|
<Number>0</Number>
|
||||||
<Key>UL2CM3</Key>
|
<Key>UL2CM3</Key>
|
||||||
|
@ -125,10 +145,17 @@
|
||||||
<SetRegEntry>
|
<SetRegEntry>
|
||||||
<Number>0</Number>
|
<Number>0</Number>
|
||||||
<Key>ST-LINKIII-KEIL_SWO</Key>
|
<Key>ST-LINKIII-KEIL_SWO</Key>
|
||||||
<Name>-U090F00028316303030303032 -O2254 -SF10000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("") -D00(00000000) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8000 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC800 -FN1 -FF0STM32F4xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F407VGTx$CMSIS\Flash\STM32F4xx_1024.FLM)</Name>
|
<Name>-U090F00028316303030303032 -O2254 -SF10000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP (ARM Core") -D00(2BA01477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8000 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC800 -FN1 -FF0STM32F4xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F407VGTx$CMSIS\Flash\STM32F4xx_1024.FLM)</Name>
|
||||||
</SetRegEntry>
|
</SetRegEntry>
|
||||||
</TargetDriverDllRegistry>
|
</TargetDriverDllRegistry>
|
||||||
<Breakpoint/>
|
<Breakpoint/>
|
||||||
|
<WatchWindow1>
|
||||||
|
<Ww>
|
||||||
|
<count>0</count>
|
||||||
|
<WinNumber>1</WinNumber>
|
||||||
|
<ItemText>ec11_data,0x0A</ItemText>
|
||||||
|
</Ww>
|
||||||
|
</WatchWindow1>
|
||||||
<Tracepoint>
|
<Tracepoint>
|
||||||
<THDelay>0</THDelay>
|
<THDelay>0</THDelay>
|
||||||
</Tracepoint>
|
</Tracepoint>
|
||||||
|
@ -183,7 +210,7 @@
|
||||||
|
|
||||||
<Group>
|
<Group>
|
||||||
<GroupName>Application/MDK-ARM</GroupName>
|
<GroupName>Application/MDK-ARM</GroupName>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>1</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
<cbSel>0</cbSel>
|
<cbSel>0</cbSel>
|
||||||
<RteFlg>0</RteFlg>
|
<RteFlg>0</RteFlg>
|
||||||
|
@ -203,7 +230,7 @@
|
||||||
|
|
||||||
<Group>
|
<Group>
|
||||||
<GroupName>Application/User/Core</GroupName>
|
<GroupName>Application/User/Core</GroupName>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>1</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
<cbSel>0</cbSel>
|
<cbSel>0</cbSel>
|
||||||
<RteFlg>0</RteFlg>
|
<RteFlg>0</RteFlg>
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -2,6 +2,14 @@
|
||||||
#define __UART_LCD_H__
|
#define __UART_LCD_H__
|
||||||
|
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
uint8_t confirm_key_flag;
|
||||||
|
uint8_t confirm_key_flag_last;
|
||||||
|
int direction;
|
||||||
|
int encode_num;
|
||||||
|
} ec11_t;
|
||||||
|
extern ec11_t ec11_data;
|
||||||
|
|
||||||
void uart_lcd_draw_ipaddr(void);
|
void uart_lcd_draw_ipaddr(void);
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue