首次上传-备份
|
@ -198,43 +198,10 @@ void start_led_toggle_task(void const *argument)
|
|||
/* Infinite loop */
|
||||
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)
|
||||
{
|
||||
current_buff[0] = (float)uart_lcd_state.current_value[0];
|
||||
current_buff[1] = (float)uart_lcd_state.current_value[1];
|
||||
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(LED3_G_GPIO_Port, LED3_G_Pin);
|
||||
|
||||
if (uart_lcd_state.key_state[0] == 1)
|
||||
{
|
||||
uart_lcd_state.key_state[0] = 0;
|
||||
uart_lcd_state.key_state[1] = 1;
|
||||
uart_lcd_state.key_state[2] = 0;
|
||||
}
|
||||
else if (uart_lcd_state.key_state[0] == 0)
|
||||
{
|
||||
uart_lcd_state.key_state[0] = 1;
|
||||
uart_lcd_state.key_state[1] = 0;
|
||||
uart_lcd_state.key_state[2] = 1;
|
||||
}
|
||||
|
||||
ec11_data.confirm_key_flag = 0;
|
||||
uart_lcd_channel_switch(uart_lcd_state.key_state[0]);
|
||||
}
|
||||
|
||||
vTaskDelay(400);
|
||||
uart_lcd_ecll_control_current_out();
|
||||
vTaskDelay(500);
|
||||
}
|
||||
/* USER CODE END start_led_toggle_task */
|
||||
}
|
||||
|
@ -358,56 +325,8 @@ void start_ec11_task(void const *argument)
|
|||
/* Infinite loop */
|
||||
for (;;)
|
||||
{
|
||||
ec11_data.direction = __HAL_TIM_IS_TIM_COUNTING_DOWN(&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 (uart_lcd_state.key_state[0] == 0)
|
||||
{
|
||||
uart_lcd_state.current_value[0] += 1;
|
||||
if (uart_lcd_state.current_value[0] > 20)
|
||||
{
|
||||
uart_lcd_state.current_value[0] = 20;
|
||||
}
|
||||
}
|
||||
else if (uart_lcd_state.key_state[0] == 1)
|
||||
{
|
||||
uart_lcd_state.current_value[1] += 1;
|
||||
if (uart_lcd_state.current_value[1] > 20)
|
||||
{
|
||||
uart_lcd_state.current_value[1] = 20;
|
||||
}
|
||||
}
|
||||
// current_buff[0] = (float)uart_lcd_state.current_value[0];
|
||||
}
|
||||
if ((ec11_data.direction == 1) && (ec11_data.encode_num < ec11_data.encode_num_last))
|
||||
{
|
||||
if (uart_lcd_state.key_state[0] == 0)
|
||||
{
|
||||
if (uart_lcd_state.current_value[0] < 2)
|
||||
{
|
||||
uart_lcd_state.current_value[0] = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
uart_lcd_state.current_value[0] -= 1;
|
||||
}
|
||||
}
|
||||
else if (uart_lcd_state.key_state[0] == 1)
|
||||
{
|
||||
if (uart_lcd_state.current_value[1] < 2)
|
||||
{
|
||||
uart_lcd_state.current_value[1] = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
uart_lcd_state.current_value[1] -= 1;
|
||||
}
|
||||
}
|
||||
// current_buff[1] = (float)uart_lcd_state.current_value[1];
|
||||
}
|
||||
uart_lcd_current_out(uart_lcd_state.key_state[0]);
|
||||
ec11_data.encode_num_last = ec11_data.encode_num;
|
||||
|
||||
uart_lcd_ec11_control_current();
|
||||
vTaskDelay(100);
|
||||
}
|
||||
/* USER CODE END start_ec11_task */
|
||||
|
|
|
@ -126,7 +126,7 @@ int main(void)
|
|||
MX_TIM1_Init();
|
||||
MX_USART1_UART_Init();
|
||||
/* USER CODE BEGIN 2 */
|
||||
/*閰濈疆鍧勪覆鍧g殑DMA鎺ユ敹*/
|
||||
/*閰濈疆鍧勪覆鍧g殑DMA鎺ユ敹*/
|
||||
// start
|
||||
HAL_UARTEx_ReceiveToIdle_DMA(&huart4, lcd_uart4.rx_data_temp, ARRAY_LEN(lcd_uart4.rx_data_temp));
|
||||
HAL_UARTEx_ReceiveToIdle_DMA(&huart6, ble1_uart6.rx_data_temp, ARRAY_LEN(ble1_uart6.rx_data_temp));
|
||||
|
@ -135,9 +135,9 @@ int main(void)
|
|||
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(); // 鍒濆鍖朒T1200M妯″潡
|
||||
HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1); // PWM杈撳嚭锛岀敤浜庨┍鍔℉T1200M妯″潡
|
||||
HAL_TIM_Encoder_Start(&htim1, TIM_CHANNEL_ALL); // 鏃嬭浆缂栫牆鍣ㄨ緭锟<EFBFBD>??
|
||||
hart_ht1200m_reset(); // 鍒濆?鍖朒T1200M妯″潡
|
||||
HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1); // PWM杈撳嚭锛岀敤浜庨┍鍔℉T1200M妯″潡
|
||||
HAL_TIM_Encoder_Start(&htim1, TIM_CHANNEL_ALL); // 鏃嬭浆缂栫牆鍣ㄨ緭锟???
|
||||
/* USER CODE END 2 */
|
||||
|
||||
/* Call init function for freertos objects (in freertos.c) */
|
||||
|
@ -213,7 +213,7 @@ void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t 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));
|
||||
// dma_usart_send(&huart4, usb_uart1.rx_data_temp, usb_uart1.rx_num);
|
||||
// ip鍦板潃淇敼澶勭悊
|
||||
// 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)
|
||||
|
@ -294,6 +294,25 @@ void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
|
|||
HART2_RTS_RECEIVE;
|
||||
}
|
||||
}
|
||||
|
||||
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
|
||||
{
|
||||
if (GPIO_Pin == EC11_KEY_Pin)
|
||||
{
|
||||
if (ec11_data.confirm_key_flag == 0)
|
||||
{
|
||||
ec11_data.confirm_key_flag = 1;
|
||||
}
|
||||
else if (ec11_data.confirm_key_flag == 1)
|
||||
{
|
||||
ec11_data.confirm_key_flag = 2;
|
||||
}
|
||||
else if (ec11_data.confirm_key_flag == 2)
|
||||
{
|
||||
ec11_data.confirm_key_flag = 3;
|
||||
}
|
||||
}
|
||||
}
|
||||
/* USER CODE END 4 */
|
||||
|
||||
/**
|
||||
|
@ -330,7 +349,7 @@ void Error_Handler(void)
|
|||
// while (1)
|
||||
// {
|
||||
// }
|
||||
// TODO 这里暂时注释,导致原因为DMA发送太快,导致发送失败
|
||||
// TODO 这里暂时注释,导致原因为DMA发送太快,导致发送失败
|
||||
/* USER CODE END Error_Handler_Debug */
|
||||
}
|
||||
|
||||
|
|
|
@ -322,14 +322,7 @@ void EXTI9_5_IRQHandler(void)
|
|||
/* USER CODE END EXTI9_5_IRQn 0 */
|
||||
HAL_GPIO_EXTI_IRQHandler(EC11_KEY_Pin);
|
||||
/* USER CODE BEGIN EXTI9_5_IRQn 1 */
|
||||
if (ec11_data.confirm_key_flag == 1)
|
||||
{
|
||||
ec11_data.confirm_key_flag = 2;
|
||||
}
|
||||
else if (ec11_data.confirm_key_flag == 0)
|
||||
{
|
||||
ec11_data.confirm_key_flag = 1;
|
||||
}
|
||||
|
||||
/* USER CODE END EXTI9_5_IRQn 1 */
|
||||
}
|
||||
|
||||
|
|
After Width: | Height: | Size: 7.6 KiB |
|
@ -0,0 +1 @@
|
|||
<DrawPage name="current_out" bk_transparent="0" bk_color="255;255;255" bk_image="" size_option="0" width="240" height="320"><item name="Button1" id="1" type="button" button_type="1" focus="0" notify_disable="1" key_code="a" key_type="0" init_state="0" button_style="0" longpress_delay="0" url_down="" url_up="" popup_menu_id="0" input_text_id="0" switch="" switch_effect="0" switch_area="0" switch_area_left="0" switch_area_right="0" switch_area_top="0" switch_area_bottom="0" action="" xOffset="0" yOffset="0" width="320" height="59" cut_up="0" cut_up_offset_x="0" cut_up_offset_y="0" cut_down="0" cut_down_offset_x="0" cut_down_offset_y="0" custom_data_up="" custom_data_down="" external_data_up="" external_data_down="" external_data_delay="100" child_screen="0" need_login="0" login_password="888888" show_text_state="1" font="10" font_color_up="0;0;0" font_color_down="0;0;0" text_state_up="第一路输出控制" text_state_down="第二路输出控制" bind_variant="" show_condition="0" condition_variant="" condition_value="0"/><item name="Button2" id="2" type="button" button_type="1" focus="1" notify_disable="0" key_code="a" key_type="0" init_state="1" button_style="0" longpress_delay="0" url_down="Images\780.jpg" url_up="" popup_menu_id="0" input_text_id="0" switch="" switch_effect="0" switch_area="0" switch_area_left="0" switch_area_right="0" switch_area_top="0" switch_area_bottom="0" action="" xOffset="4" yOffset="70" width="60" height="60" cut_up="0" cut_up_offset_x="0" cut_up_offset_y="0" cut_down="0" cut_down_offset_x="0" cut_down_offset_y="0" custom_data_up="" custom_data_down="" external_data_up="" external_data_down="" external_data_delay="100" child_screen="0" need_login="0" login_password="888888" show_text_state="0" font="7" font_color_up="255;255;255" font_color_down="255;255;255" text_state_up="" text_state_down="" bind_variant="" show_condition="0" condition_variant="" condition_value="0"/><item name="Button3" id="3" type="button" button_type="1" focus="1" notify_disable="0" key_code="a" key_type="0" init_state="0" button_style="0" longpress_delay="0" url_down="images\780.jpg" url_up="" popup_menu_id="0" input_text_id="0" switch="" switch_effect="0" switch_area="0" switch_area_left="0" switch_area_right="0" switch_area_top="0" switch_area_bottom="0" action="" xOffset="4" yOffset="150" width="60" height="60" cut_up="0" cut_up_offset_x="4" cut_up_offset_y="150" cut_down="0" cut_down_offset_x="0" cut_down_offset_y="0" custom_data_up="" custom_data_down="" external_data_up="" external_data_down="" external_data_delay="100" child_screen="0" need_login="0" login_password="888888" show_text_state="0" font="7" font_color_up="255;255;255" font_color_down="255;255;255" text_state_up="" text_state_down="" bind_variant="" show_condition="0" condition_variant="" condition_value="0"/><item name="Slider1" id="4" type="slider" xOffset="71" yOffset="70" width="245" height="60" value="0" start_value="0" end_value="20" input="1" notify="0" direction="0" mark_type="0" mark_count="10" mark_color="0;0;0" show_value="1" left_space="24" right_space="24" bkg_type="1" bkg_image_path="" bkg_color="255;255;255" cursor_type="0" cursor_direction="0" cursor_offset="14" cursor_width="24" cursor_height="24" cursor_image_path="" bind_variant="" show_condition="0" condition_variant="" condition_value="0"/><item name="Slider2" id="5" type="slider" xOffset="69" yOffset="150" width="245" height="60" value="0" start_value="0" end_value="20" input="1" notify="0" direction="0" mark_type="0" mark_count="10" mark_color="0;0;0" show_value="1" left_space="24" right_space="24" bkg_type="1" bkg_image_path="" bkg_color="255;255;255" cursor_type="0" cursor_direction="0" cursor_offset="14" cursor_width="24" cursor_height="24" cursor_image_path="" bind_variant="" show_condition="0" condition_variant="" condition_value="0"/></DrawPage>
|
|
@ -0,0 +1,24 @@
|
|||
[tcpip]
|
||||
dhcp=n
|
||||
ipaddr=192.168.1.100
|
||||
netmask=255.255.255.0
|
||||
gw=192.168.1.1
|
||||
dns=192.168.1.1
|
||||
server_port=5050
|
||||
remote_ip=192.168.1.200
|
||||
network_transfer=0
|
||||
network_mode=0
|
||||
|
||||
[ctrlboard]
|
||||
lcd_width=320
|
||||
lcd_height=240
|
||||
baudrate=115200
|
||||
enable_keysound=0
|
||||
audiolevel=100
|
||||
|
||||
[wifi]
|
||||
wifi_mode=0
|
||||
ssid=
|
||||
password=
|
||||
secumode=0
|
||||
|
|
@ -0,0 +1 @@
|
|||
<EFBFBD>uc<EFBFBD>
|
|
@ -0,0 +1,37 @@
|
|||
------------------------------------
|
||||
-- 提示
|
||||
-- 如果使用其他Lua编辑工具编辑此文档,请将VisualTFT软件中打开的此文件编辑器视图关闭,
|
||||
-- 因为VisualTFT具有自动保存功能,其他软件修改时不能同步到VisualTFT编辑视图,
|
||||
-- VisualTFT定时保存时,其他软件修改的内容将被恢复。
|
||||
--
|
||||
-- Attention
|
||||
-- If you use other Lua Editor to edit this file, please close the file editor view
|
||||
-- opened in the VisualTFT, Because VisualTFT has an automatic save function,
|
||||
-- other Lua Editor cannot be synchronized to the VisualTFT edit view when it is modified.
|
||||
-- When VisualTFT saves regularly, the content modified by other Lua Editor will be restored.
|
||||
------------------------------------
|
||||
|
||||
--下面列出了常用的回调函数
|
||||
--更多功能请阅读<<LUA脚本API.pdf>>
|
||||
|
||||
|
||||
--初始化函数
|
||||
--function on_init()
|
||||
--end
|
||||
|
||||
--定时回调函数,系统每隔1秒钟自动调用。
|
||||
--function on_systick()
|
||||
--end
|
||||
|
||||
--定时器超时回调函数,当设置的定时器超时时,执行此回调函数,timer_id为对应的定时器ID
|
||||
--function on_timer(timer_id)
|
||||
--end
|
||||
|
||||
--用户通过触摸修改控件后,执行此回调函数。
|
||||
--点击按钮控件,修改文本控件、修改滑动条都会触发此事件。
|
||||
--function on_control_notify(screen,control,value)
|
||||
--end
|
||||
|
||||
--当画面切换时,执行此回调函数,screen为目标画面。
|
||||
--function on_screen_change(screen)
|
||||
--end
|
|
@ -0,0 +1,2 @@
|
|||
[setting]
|
||||
font0=wqymicrohei.ttf
|
|
@ -0,0 +1,32 @@
|
|||
<fonts ttf="wqyMicroHei.ttf">
|
||||
<font id="0" type="2" name="ASC_CHS_8" width="4" height="8"/>
|
||||
<font id="1" type="2" name="ASC_CHS_10" width="5" height="10"/>
|
||||
<font id="2" type="2" name="ASC_CHS_12" width="6" height="12"/>
|
||||
<font id="3" type="2" name="ASC_CHS_14" width="7" height="14"/>
|
||||
<font id="4" type="2" name="ASC_CHS_16" width="8" height="16"/>
|
||||
<font id="5" type="2" name="ASC_CHS_18" width="9" height="18"/>
|
||||
<font id="6" type="2" name="ASC_CHS_20" width="10" height="20"/>
|
||||
<font id="7" type="2" name="ASC_CHS_22" width="11" height="22"/>
|
||||
<font id="8" type="2" name="ASC_CHS_24" width="12" height="24"/>
|
||||
<font id="9" type="2" name="ASC_CHS_26" width="13" height="26"/>
|
||||
<font id="10" type="2" name="ASC_CHS_28" width="14" height="28"/>
|
||||
<font id="11" type="2" name="ASC_CHS_30" width="15" height="30"/>
|
||||
<font id="12" type="2" name="ASC_CHS_32" width="16" height="32"/>
|
||||
<font id="13" type="2" name="ASC_CHS_36" width="18" height="36"/>
|
||||
<font id="14" type="2" name="ASC_CHS_40" width="20" height="40"/>
|
||||
<font id="15" type="2" name="ASC_CHS_44" width="22" height="44"/>
|
||||
<font id="16" type="2" name="ASC_CHS_48" width="24" height="48"/>
|
||||
<font id="17" type="2" name="ASC_CHS_52" width="26" height="52"/>
|
||||
<font id="18" type="2" name="ASC_CHS_56" width="28" height="56"/>
|
||||
<font id="19" type="2" name="ASC_CHS_60" width="30" height="60"/>
|
||||
<font id="20" type="2" name="ASC_CHS_64" width="32" height="64"/>
|
||||
<font id="21" type="2" name="ASC_CHS_80" width="40" height="80"/>
|
||||
<font id="22" type="2" name="ASC_CHS_96" width="48" height="96"/>
|
||||
<font id="23" type="2" name="ASC_CHS_112" width="56" height="112"/>
|
||||
<font id="24" type="2" name="ASC_CHS_128" width="64" height="128"/>
|
||||
<font id="25" type="2" name="ASC_CHS_144" width="72" height="144"/>
|
||||
<font id="26" type="2" name="ASC_CHS_160" width="80" height="160"/>
|
||||
<font id="27" type="2" name="ASC_CHS_176" width="88" height="176"/>
|
||||
<font id="28" type="2" name="ASC_CHS_192" width="96" height="192"/>
|
||||
<font id="29" type="2" name="ASC_CHS_200" width="100" height="200"/>
|
||||
</fonts>
|
After Width: | Height: | Size: 101 KiB |
After Width: | Height: | Size: 7.6 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 70 KiB |
After Width: | Height: | Size: 4.5 KiB |
After Width: | Height: | Size: 3.7 KiB |
|
@ -0,0 +1,37 @@
|
|||
------------------------------------
|
||||
-- 提示
|
||||
-- 如果使用其他Lua编辑工具编辑此文档,请将VisualTFT软件中打开的此文件编辑器视图关闭,
|
||||
-- 因为VisualTFT具有自动保存功能,其他软件修改时不能同步到VisualTFT编辑视图,
|
||||
-- VisualTFT定时保存时,其他软件修改的内容将被恢复。
|
||||
--
|
||||
-- Attention
|
||||
-- If you use other Lua Editor to edit this file, please close the file editor view
|
||||
-- opened in the VisualTFT, Because VisualTFT has an automatic save function,
|
||||
-- other Lua Editor cannot be synchronized to the VisualTFT edit view when it is modified.
|
||||
-- When VisualTFT saves regularly, the content modified by other Lua Editor will be restored.
|
||||
------------------------------------
|
||||
|
||||
--下面列出了常用的回调函数
|
||||
--更多功能请阅读<<LUA脚本API.pdf>>
|
||||
|
||||
|
||||
--初始化函数
|
||||
--function on_init()
|
||||
--end
|
||||
|
||||
--定时回调函数,系统每隔1秒钟自动调用。
|
||||
--function on_systick()
|
||||
--end
|
||||
|
||||
--定时器超时回调函数,当设置的定时器超时时,执行此回调函数,timer_id为对应的定时器ID
|
||||
--function on_timer(timer_id)
|
||||
--end
|
||||
|
||||
--用户通过触摸修改控件后,执行此回调函数。
|
||||
--点击按钮控件,修改文本控件、修改滑动条都会触发此事件。
|
||||
--function on_control_notify(screen,control,value)
|
||||
--end
|
||||
|
||||
--当画面切换时,执行此回调函数,screen为目标画面。
|
||||
--function on_screen_change(screen)
|
||||
--end
|
|
@ -0,0 +1,2 @@
|
|||
<DrawPage name="monitoring" bk_transparent="0" bk_color="255;255;255" bk_image="" size_option="0" width="240" height="320"><item name="Text_Display2" id="5" type="text_display" text="" tipinfo="" font="4" encode="1" show_bkg_style="0" fore_color="102;255;102" bkg_color="0;255;0" bkg_image_path="" xOffset="35" yOffset="200" width="45" height="40" input_mode="0" variant="0" text_type="0" text_len_max="255" password="0" focus_rect="0" text_align="1" text_align_v="1" value_limit="0" value_precision="0" max_value="100" min_value="0" keyboard_init="0" keyboard_position="0" keyboard_x="0" keyboard_y="0" art_digit="0" art_digit_icon="" half_width_dot="0" bind_variant="" show_condition="0" condition_variant="" condition_value="0"/><item name="Text_Display4" id="6" type="text_display" text="" tipinfo="" font="4" encode="1" show_bkg_style="0" fore_color="255;0;0" bkg_color="0;255;0" bkg_image_path="" xOffset="115" yOffset="200" width="45" height="40" input_mode="0" variant="0" text_type="0" text_len_max="255" password="0" focus_rect="0" text_align="1" text_align_v="1" value_limit="0" value_precision="0" max_value="100" min_value="0" keyboard_init="0" keyboard_position="0" keyboard_x="0" keyboard_y="0" art_digit="0" art_digit_icon="" half_width_dot="0" bind_variant="" show_condition="0" condition_variant="" condition_value="0"/><item name="Text_Display6" id="7" type="text_display" text="" tipinfo="" font="4" encode="1" show_bkg_style="0" fore_color="0;0;255" bkg_color="0;255;0" bkg_image_path="" xOffset="195" yOffset="200" width="45" height="40" input_mode="0" variant="0" text_type="0" text_len_max="255" password="0" focus_rect="0" text_align="1" text_align_v="1" value_limit="0" value_precision="0" max_value="100" min_value="0" keyboard_init="0" keyboard_position="0" keyboard_x="0" keyboard_y="0" art_digit="0" art_digit_icon="" half_width_dot="0" bind_variant="" show_condition="0" condition_variant="" condition_value="0"/><item name="Text_Display8" id="8" type="text_display" text="" tipinfo="" font="4" encode="1" show_bkg_style="0" fore_color="204;204;0" bkg_color="0;255;0" bkg_image_path="" xOffset="275" yOffset="200" width="45" height="40" input_mode="0" variant="0" text_type="0" text_len_max="255" password="0" focus_rect="0" text_align="1" text_align_v="1" value_limit="0" value_precision="0" max_value="100" min_value="0" keyboard_init="0" keyboard_position="0" keyboard_x="0" keyboard_y="0" art_digit="0" art_digit_icon="" half_width_dot="0" bind_variant="" show_condition="0" condition_variant="" condition_value="0"/><item name="Text1" id="1" type="text" multi_lang="1" text_align="1" text_align_v="1" text="SW1:
|
||||
" text1="" text2="" text3="" text4="" text5="" text6="" text7="" text8="" text9="" text10="" text11="" text12="" text13="" text14="" text15="" font="4" encode="0" show_bk="0" fore_color="0;128;0" bk_color="255;255;255" xOffset="0" yOffset="200" width="35" height="40" row_gap="0" col_gap="0"/><item name="Text2" id="2" type="text" multi_lang="1" text_align="1" text_align_v="1" text="SW2:" text1="" text2="" text3="" text4="" text5="" text6="" text7="" text8="" text9="" text10="" text11="" text12="" text13="" text14="" text15="" font="4" encode="0" show_bk="0" fore_color="255;0;0" bk_color="255;255;255" xOffset="80" yOffset="200" width="35" height="40" row_gap="0" col_gap="0"/><item name="Text3" id="3" type="text" multi_lang="1" text_align="1" text_align_v="1" text="S.P:" text1="" text2="" text3="" text4="" text5="" text6="" text7="" text8="" text9="" text10="" text11="" text12="" text13="" text14="" text15="" font="4" encode="0" show_bk="0" fore_color="0;0;255" bk_color="255;255;255" xOffset="160" yOffset="200" width="35" height="40" row_gap="0" col_gap="0"/><item name="Text4" id="4" type="text" multi_lang="1" text_align="1" text_align_v="1" text="A.P:" text1="" text2="" text3="" text4="" text5="" text6="" text7="" text8="" text9="" text10="" text11="" text12="" text13="" text14="" text15="" font="4" encode="0" show_bk="0" fore_color="204;204;0" bk_color="255;255;255" xOffset="240" yOffset="200" width="35" height="40" row_gap="0" col_gap="0"/><item name="Line1" id="9" type="line" x0="23" y0="0" x1="23" y1="190" pen_width="1" pen_color="0;0;0"/><item name="Text5" id="10" type="text" multi_lang="1" text_align="0" text_align_v="0" text="100" text1="" text2="" text3="" text4="" text5="" text6="" text7="" text8="" text9="" text10="" text11="" text12="" text13="" text14="" text15="" font="3" encode="0" show_bk="0" fore_color="0;0;0" bk_color="255;255;255" xOffset="1" yOffset="10" width="34" height="21" row_gap="0" col_gap="0"/><item name="Text6" id="11" type="text" multi_lang="1" text_align="0" text_align_v="0" text="50" text1="" text2="" text3="" text4="" text5="" text6="" text7="" text8="" text9="" text10="" text11="" text12="" text13="" text14="" text15="" font="3" encode="0" show_bk="0" fore_color="0;0;0" bk_color="255;255;255" xOffset="5" yOffset="100" width="34" height="21" row_gap="0" col_gap="0"/><item name="Text7" id="12" type="text" multi_lang="1" text_align="0" text_align_v="0" text="0" text1="" text2="" text3="" text4="" text5="" text6="" text7="" text8="" text9="" text10="" text11="" text12="" text13="" text14="" text15="" font="3" encode="0" show_bk="0" fore_color="0;0;0" bk_color="255;255;255" xOffset="1" yOffset="185" width="34" height="21" row_gap="0" col_gap="0"/><item name="Line2" id="13" type="line" x0="23" y0="190" x1="315" y1="190" pen_width="1" pen_color="0;0;0"/><item name="Graph1" id="14" type="graph" xOffset="25" yOffset="23" width="288" height="164" sample_count="260" sample_depth="1" anti_aliasing="1" direction="0" line_width="1" scale="1" start_value="0" end_value="100" channel_count="4" channel_color0="0;128;0" channel_color1="255;0;0" channel_color2="0;0;255" channel_color3="204;204;0" channel_color4="255;255;255" channel_color5="255;255;255" channel_color6="255;255;255" channel_color7="255;255;255"/></DrawPage>
|
|
@ -0,0 +1,29 @@
|
|||
//创建画面current_out的命令索引ID
|
||||
#define _SCREEN_CURRENT_OUT 0
|
||||
|
||||
//创建画面monitoring的命令索引ID
|
||||
#define _SCREEN_MONITORING 1
|
||||
|
||||
#define _BTN_CURRENT_OUT_BUTTON1 1
|
||||
|
||||
#define _BTN_CURRENT_OUT_BUTTON2 2
|
||||
|
||||
//画面current_out中按钮Button3按下时的图片
|
||||
#define _IMG_CURRENT_OUT_BUTTON3_DOWN 0
|
||||
|
||||
#define _BTN_CURRENT_OUT_BUTTON3 3
|
||||
|
||||
#define _SLIDER_CURRENT_OUT_SLIDER1 4
|
||||
|
||||
#define _SLIDER_CURRENT_OUT_SLIDER2 5
|
||||
|
||||
#define _TXT_DIS__MONITORING_TEXT_DISPLAY2 5
|
||||
|
||||
#define _TXT_DIS__MONITORING_TEXT_DISPLAY4 6
|
||||
|
||||
#define _TXT_DIS__MONITORING_TEXT_DISPLAY6 7
|
||||
|
||||
#define _TXT_DIS__MONITORING_TEXT_DISPLAY8 8
|
||||
|
||||
#define _GRAPH_MONITORING_GRAPH1 14
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`1234567890-=[];',./~!@#$%^&*()_+{}:"<>? 年月日时分秒星期一二三四五六日
|
||||
第路输出控制
|
|
@ -0,0 +1 @@
|
|||
<controls count="10"><control type="16" count="3"/><control type="17" count="4"/><control type="19" count="2"/><control type="24" count="1"/></controls>
|
|
@ -0,0 +1,13 @@
|
|||
<Resource>
|
||||
<pages>
|
||||
<page name="current_out" id="0" />
|
||||
<page name="monitoring" id="1" />
|
||||
</pages>
|
||||
<images>
|
||||
<image id="0" url="e:\work\项目资料\显示屏工程\signal generator\Images\780.jpg" effect_width="60" effect_height="60" />
|
||||
<image id="1" url="C:\Users\WANGXU~1\AppData\Local\Temp\slider_0_4.png" effect_width="60" effect_height="245" />
|
||||
<image id="2" url="C:\Users\WANGXU~1\AppData\Local\Temp\cursor_0_0.png" effect_width="24" effect_height="24" />
|
||||
<image id="3" url="C:\Users\WANGXU~1\AppData\Local\Temp\slider_0_5.png" effect_width="60" effect_height="245" />
|
||||
</images>
|
||||
<waves />
|
||||
</Resource>
|
|
@ -0,0 +1,2 @@
|
|||
[setting]
|
||||
font0=wqymicrohei.ttf
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VisualTFT Name="signal generator" OutputDirectory="output\" StartupPage="current_out" StartupAction="" StartupActionLoop="1" DeviceType="28000" DeviceEnableControl="1" DeviceEnableTouchPane="1" DeviceEnableBuzzer="2" DeviceEnableCRC="0" DeviceBaudRate="7" DeviceCoordinateUpdateMode="4" DeviceControlNotify="3" DeviceScreenNotify="1" DeviceScreenRvs="1" DeviceBacklightAutoControl="0" DeviceBacklightTime="10" DeviceBacklightOn="200" DeviceBacklightOff="50" DeviceBacklightNotify="0" DeviceLockConfig="1" DeviceStartupVoice="0" DeviceVoiceVolume="100" DeviceEnableSlidingScreen="0" BeginSlidingScreen="" EndSlidingScreen="" CompatibleScreenRotate="1" AddResourceFloder="1" FastRefreshScreen="0" DelayInitScreen="0" ImageDithering="1" ImageFormat="1" JPEGQuality="95" StartupLogo="" DHCP="0" IPAddress="192.168.1.100" NetMask="255.255.255.0" Gateway="192.168.1.1" DNS="192.168.1.1" NetworkMode="0" ServerAddress="192.168.1.200" ServicePort="5050" NetworkTransfer="0" WifiMode="0" WifiSSID="" WifiPassword="" FlashType="1" PartitionSize0="100" PartitionSize1="10" PartitionSize2="0" Repartition="1" FormatPartition="1" UartDownloadSpeed="0" PKGSetting="0" PKGControl="1" PKGImage="1" PKGFont="1" PKGOther="1" Version="1.0" EnableSlidingRange="0" EnableKeysound="0" BacklightAutoControl="0" BacklightNotify="0" StandbyPage="" ServerPort="5050" WifiSSI="">
|
||||
<Pages><Page RelativePath="current_out.tft"/><Page RelativePath="monitoring.tft"/></Pages>
|
||||
<Images/>
|
||||
<Waves/>
|
||||
</VisualTFT>
|
After Width: | Height: | Size: 4.5 KiB |
|
@ -154,14 +154,14 @@
|
|||
<Type>0</Type>
|
||||
<LineNumber>1404</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>134235956</Address>
|
||||
<Address>134235972</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
<HtxType>0</HtxType>
|
||||
<ManyObjects>0</ManyObjects>
|
||||
<SizeOfObject>0</SizeOfObject>
|
||||
<BreakByAccess>0</BreakByAccess>
|
||||
<BreakIfRCount>1</BreakIfRCount>
|
||||
<Filename>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c</Filename>
|
||||
<Filename>E:\WORK\浠g爜-椤圭洰\positioner_testing\signal_generator\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_uart.c</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression>\\signal_generator\../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c\1404</Expression>
|
||||
</Bp>
|
||||
|
@ -450,7 +450,7 @@
|
|||
|
||||
<Group>
|
||||
<GroupName>Drivers/STM32F4xx_HAL_Driver</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
|
|
|
@ -16,8 +16,8 @@
|
|||
<TargetCommonOption>
|
||||
<Device>STM32F407VGTx</Device>
|
||||
<Vendor>STMicroelectronics</Vendor>
|
||||
<PackID>Keil.STM32F4xx_DFP.2.17.1</PackID>
|
||||
<PackURL>https://www.keil.com/pack/</PackURL>
|
||||
<PackID>Keil.STM32F4xx_DFP.2.12.0</PackID>
|
||||
<PackURL>http://www.keil.com/pack</PackURL>
|
||||
<Cpu>IRAM(0x20000000-0x2001BFFF) IRAM2(0x2001C000-0x2001FFFF) IROM(0x8000000-0x80FFFFF) CLOCK(25000000) FPU2 CPUTYPE("Cortex-M4") TZ</Cpu>
|
||||
<FlashUtilSpec></FlashUtilSpec>
|
||||
<StartupFile></StartupFile>
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
#include "uart_lcd.h"
|
||||
#include "usart.h"
|
||||
#include "lwip.h"
|
||||
|
||||
#include "tim.h"
|
||||
extern ip4_addr_t ipaddr;
|
||||
uart_lcd_t uart_lcd_state = {0};
|
||||
extern float current_buff[2];
|
||||
uint8_t uart_lcd_data[24] = {0xEE, 0xB1, 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x02, 0x00, 0x01, 0x01, 0x00, 0x03, 0x00, 0x01, 0x00, 0xFF, 0xFC, 0xFF, 0xFF};
|
||||
|
||||
static void uart_lcd_current_channel1(void);
|
||||
|
@ -20,7 +21,18 @@ static void uart_lcd_current_channel2(void)
|
|||
{
|
||||
dma_usart_send(&huart4, uart_lcd_data2, ARRAY_LEN(uart_lcd_data2));
|
||||
}
|
||||
|
||||
uint8_t uart_lcd_data3[9] = {0xEE, 0xB1, 0x00, 0x00, 0x00, 0xFF, 0xFC, 0xFF, 0xFF};
|
||||
static void uart_lcd_page1(void)
|
||||
{
|
||||
uart_lcd_state.page_num = 0;
|
||||
dma_usart_send(&huart4, uart_lcd_data3, ARRAY_LEN(uart_lcd_data3));
|
||||
}
|
||||
uint8_t uart_lcd_data4[9] = {0xEE, 0xB1, 0x00, 0x00, 0x01, 0xFF, 0xFC, 0xFF, 0xFF};
|
||||
static void uart_lcd_page2(void)
|
||||
{
|
||||
uart_lcd_state.page_num = 1;
|
||||
dma_usart_send(&huart4, uart_lcd_data4, ARRAY_LEN(uart_lcd_data4));
|
||||
}
|
||||
/**
|
||||
* @brief 通过UART向LCD屏幕绘制IP地址
|
||||
*
|
||||
|
@ -96,3 +108,133 @@ void uart_lcd_channel_switch(uint8_t channel)
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void uart_lcd_page_switch(uint8_t page)
|
||||
{
|
||||
|
||||
switch (page)
|
||||
{
|
||||
case 0:
|
||||
uart_lcd_page1();
|
||||
break;
|
||||
case 1:
|
||||
uart_lcd_page2();
|
||||
break;
|
||||
default:
|
||||
uart_lcd_page1();
|
||||
break;
|
||||
}
|
||||
// HAL_Delay(100);
|
||||
}
|
||||
void uart_lcd_ecll_control_current_out(void)
|
||||
{
|
||||
if (ec11_data.confirm_key_flag == 0)
|
||||
{
|
||||
}
|
||||
else if (ec11_data.confirm_key_flag == 1) // 确认按键确认电流输出
|
||||
{
|
||||
ec11_data.confirm_key_flag_last++;
|
||||
if (ec11_data.confirm_key_flag_last > 2)
|
||||
{
|
||||
current_buff[0] = (float)uart_lcd_state.current_value[0];
|
||||
current_buff[1] = (float)uart_lcd_state.current_value[1];
|
||||
ec11_data.confirm_key_flag_last = 0;
|
||||
ec11_data.confirm_key_flag = 0;
|
||||
}
|
||||
}
|
||||
else if (ec11_data.confirm_key_flag == 2) // 切换通道按键确认状<E8AEA4>??
|
||||
{
|
||||
ec11_data.confirm_key_flag_last++;
|
||||
if (ec11_data.confirm_key_flag_last > 2)
|
||||
{
|
||||
if (uart_lcd_state.key_state[0] == 1)
|
||||
{
|
||||
uart_lcd_state.key_state[0] = 0;
|
||||
uart_lcd_state.key_state[1] = 1;
|
||||
uart_lcd_state.key_state[2] = 0;
|
||||
}
|
||||
else if (uart_lcd_state.key_state[0] == 0)
|
||||
{
|
||||
uart_lcd_state.key_state[0] = 1;
|
||||
uart_lcd_state.key_state[1] = 0;
|
||||
uart_lcd_state.key_state[2] = 1;
|
||||
}
|
||||
ec11_data.confirm_key_flag_last = 0;
|
||||
ec11_data.confirm_key_flag = 0;
|
||||
uart_lcd_channel_switch(uart_lcd_state.key_state[0]);
|
||||
}
|
||||
}
|
||||
else if (ec11_data.confirm_key_flag == 3) // 切换界面
|
||||
{
|
||||
|
||||
if (uart_lcd_state.page_num == 0)
|
||||
{
|
||||
uart_lcd_state.page_num = 1;
|
||||
}
|
||||
else if (uart_lcd_state.page_num == 1)
|
||||
{
|
||||
uart_lcd_state.page_num = 0;
|
||||
}
|
||||
ec11_data.confirm_key_flag_last = 0;
|
||||
ec11_data.confirm_key_flag = 0;
|
||||
uart_lcd_page_switch(uart_lcd_state.page_num);
|
||||
}
|
||||
}
|
||||
|
||||
void uart_lcd_ec11_control_current(void)
|
||||
{
|
||||
if (uart_lcd_state.page_num == 0) // 当前页面为电流调节页面时,才对EC11编码器进行计数处理
|
||||
{
|
||||
ec11_data.direction = __HAL_TIM_IS_TIM_COUNTING_DOWN(&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 (uart_lcd_state.key_state[0] == 0)
|
||||
{
|
||||
uart_lcd_state.current_value[0] += 1;
|
||||
if (uart_lcd_state.current_value[0] > 20)
|
||||
{
|
||||
uart_lcd_state.current_value[0] = 20;
|
||||
}
|
||||
}
|
||||
else if (uart_lcd_state.key_state[0] == 1)
|
||||
{
|
||||
uart_lcd_state.current_value[1] += 1;
|
||||
if (uart_lcd_state.current_value[1] > 20)
|
||||
{
|
||||
uart_lcd_state.current_value[1] = 20;
|
||||
}
|
||||
}
|
||||
uart_lcd_current_out(uart_lcd_state.key_state[0]);
|
||||
}
|
||||
if ((ec11_data.direction == 1) && (ec11_data.encode_num < ec11_data.encode_num_last))
|
||||
{
|
||||
if (uart_lcd_state.key_state[0] == 0)
|
||||
{
|
||||
if (uart_lcd_state.current_value[0] < 2)
|
||||
{
|
||||
uart_lcd_state.current_value[0] = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
uart_lcd_state.current_value[0] -= 1;
|
||||
}
|
||||
}
|
||||
else if (uart_lcd_state.key_state[0] == 1)
|
||||
{
|
||||
if (uart_lcd_state.current_value[1] < 2)
|
||||
{
|
||||
uart_lcd_state.current_value[1] = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
uart_lcd_state.current_value[1] -= 1;
|
||||
}
|
||||
}
|
||||
uart_lcd_current_out(uart_lcd_state.key_state[0]);
|
||||
}
|
||||
|
||||
ec11_data.encode_num_last = ec11_data.encode_num;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,3 +1,11 @@
|
|||
/*
|
||||
* @Author: wangxujie wangxujie@wuxismart.com
|
||||
* @Date: 2025-03-10 15:05:20
|
||||
* @LastEditors: wangxujie wangxujie@wuxismart.com
|
||||
* @LastEditTime: 2025-07-28 16:17:11
|
||||
* @FilePath: \signal_generator\User\driver\uart_lcd.h
|
||||
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||
*/
|
||||
#ifndef __UART_LCD_H__
|
||||
#define __UART_LCD_H__
|
||||
|
||||
|
@ -25,4 +33,7 @@ void uart_lcd_draw_ipaddr(void);
|
|||
void uart_lcd_init(void);
|
||||
void uart_lcd_current_out(uint8_t channel);
|
||||
void uart_lcd_channel_switch(uint8_t channel);
|
||||
void uart_lcd_page_switch(uint8_t page);
|
||||
void uart_lcd_ecll_control_current_out(void);
|
||||
void uart_lcd_ec11_control_current(void);
|
||||
#endif
|
||||
|
|