This commit is contained in:
parent
d8f30dcd94
commit
e186b23d28
|
@ -305,8 +305,8 @@ void start_lcd_task(void const *argument)
|
|||
/* Infinite loop */
|
||||
for (;;)
|
||||
{
|
||||
uart_lcd_makecurve_test();
|
||||
vTaskDelay(30);
|
||||
uart_lcd_refresh_screen();
|
||||
vTaskDelay(100);
|
||||
}
|
||||
/* USER CODE END start_lcd_task */
|
||||
}
|
||||
|
|
|
@ -99,6 +99,7 @@ int main(void)
|
|||
/* MCU Configuration--------------------------------------------------------*/
|
||||
|
||||
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
|
||||
|
||||
HAL_Init();
|
||||
|
||||
/* USER CODE BEGIN Init */
|
||||
|
|
|
@ -145,7 +145,7 @@
|
|||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ST-LINKIII-KEIL_SWO</Key>
|
||||
<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>
|
||||
<Name>-UB -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>
|
||||
</TargetDriverDllRegistry>
|
||||
<Breakpoint/>
|
||||
|
|
|
@ -138,7 +138,7 @@
|
|||
</Flash1>
|
||||
<bUseTDR>1</bUseTDR>
|
||||
<Flash2>BIN\UL2V8M.DLL</Flash2>
|
||||
<Flash3></Flash3>
|
||||
<Flash3>"" ()</Flash3>
|
||||
<Flash4></Flash4>
|
||||
<pFcarmOut></pFcarmOut>
|
||||
<pFcarmGrp></pFcarmGrp>
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -2,7 +2,7 @@
|
|||
* @Author: wangxujie wangxujie@wuxismart.com
|
||||
* @Date: 2025-03-10 15:05:20
|
||||
* @LastEditors: wangxujie wangxujie@wuxismart.com
|
||||
* @LastEditTime: 2025-07-31 14:39:12
|
||||
* @LastEditTime: 2025-07-31 18:36:56
|
||||
* @FilePath: \signal_generator\User\driver\uart_lcd.c
|
||||
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||
*/
|
||||
|
@ -10,6 +10,7 @@
|
|||
#include "usart.h"
|
||||
#include "lwip.h"
|
||||
#include "tim.h"
|
||||
#include "ad7124.h"
|
||||
extern ip4_addr_t ipaddr;
|
||||
uart_lcd_t uart_lcd_state = {0};
|
||||
lcd_makecurve_t lcd_makecurve_data = {0}; // 绘制曲线数据,界面ID 1,控件ID 14
|
||||
|
@ -26,7 +27,7 @@ lcd_set_slidervalue_t lcd_set_slidervalue1_data = {0}; // 进度条设置数据
|
|||
lcd_set_slidervalue_t lcd_set_slidervalue2_data = {0}; // 进度条设置数据,界面ID 0,控件ID 5
|
||||
lcd_switchscreen_t lcd_switchscreen_data = {0}; // 切换画面数据
|
||||
extern float current_buff[2];
|
||||
|
||||
extern ad7124_analog_t ad7124_analog[AD7124_CHANNEL_EN_MAX];
|
||||
static void uart_lcd_page_init(lcd_switchscreen_t *screen_data)
|
||||
{
|
||||
screen_data->cmd_head = LCD_CMD_HEAD;
|
||||
|
@ -67,7 +68,7 @@ static void uart_lcd_markcurve_init(lcd_makecurve_t *curve_data, uint16_t screen
|
|||
curve_data->cmd_screen_id = screen_id;
|
||||
curve_data->cmd_ctrl_id = ctrl_id;
|
||||
curve_data->cmd_curve_channel = 0; // 曲线通道
|
||||
curve_data->cmd_data_len = 0; // 数据长度
|
||||
curve_data->cmd_data_len = 1; // 数据长度
|
||||
memset(curve_data->cmd_data, 0, sizeof(curve_data->cmd_data)); // 清空数据内容
|
||||
curve_data->cmd_tail = LCD_CMD_TAIL;
|
||||
}
|
||||
|
@ -245,14 +246,14 @@ void uart_lcd_draw_ipaddr(void)
|
|||
void uart_lcd_init(void)
|
||||
{
|
||||
// 初始化屏幕
|
||||
uart_lcd_state.page_num = 1;
|
||||
uart_lcd_state.page_num = LCD_SCREEN_ID_CRUUENT;
|
||||
uart_lcd_page_init(&lcd_switchscreen_data); // 初始化页面数据
|
||||
uart_lcd_page_switch(uart_lcd_state.page_num); // 切换到第一个页面
|
||||
|
||||
// 初始化按钮
|
||||
uart_lcd_button_init(&lcd_set_button1_data, 0, 1);
|
||||
uart_lcd_button_init(&lcd_set_button2_data, 0, 2);
|
||||
uart_lcd_button_init(&lcd_set_button3_data, 0, 3);
|
||||
uart_lcd_button_init(&lcd_set_button1_data, LCD_SCREEN_ID_CRUUENT, 1);
|
||||
uart_lcd_button_init(&lcd_set_button2_data, LCD_SCREEN_ID_CRUUENT, 2);
|
||||
uart_lcd_button_init(&lcd_set_button3_data, LCD_SCREEN_ID_CRUUENT, 3);
|
||||
uart_lcd_button_init(&lcd_set_button4_data, 1, 1);
|
||||
uart_lcd_button_init(&lcd_set_button5_data, 1, 2);
|
||||
uart_lcd_state.current_out_channel = 0;
|
||||
|
@ -462,6 +463,33 @@ void uart_lcd_makecurvet(lcd_makecurve_t *makecurve_data)
|
|||
dma_usart_send(&huart4, uart_makecurve_data, makecurve_data->cmd_data_len + 14);
|
||||
}
|
||||
|
||||
void uart_lcd_refresh_screen(void)
|
||||
{
|
||||
// 刷新屏幕数据
|
||||
uart_lcd_set_txt(&lcd_set_txt1_data, ad7124_analog[P1_DI1_ADC].current); // 刷新文本内容
|
||||
if (ad7124_analog[P1_DI1_ADC].current > 2.1f)
|
||||
{
|
||||
uart_lcd_set_button_status(&lcd_set_button4_data, 0); // 设置按钮状态
|
||||
}
|
||||
else if (ad7124_analog[P1_DI1_ADC].current < 1.2f)
|
||||
{
|
||||
uart_lcd_set_button_status(&lcd_set_button4_data, 1); // 设置按钮状态
|
||||
}
|
||||
uart_lcd_set_txt(&lcd_set_txt2_data, ad7124_analog[P1_DI2_ADC].current); // 刷新文本内容
|
||||
if (ad7124_analog[P1_DI2_ADC].current > 2.1f)
|
||||
{
|
||||
uart_lcd_set_button_status(&lcd_set_button5_data, 0); // 设置按钮状态
|
||||
}
|
||||
else if (ad7124_analog[P1_DI2_ADC].current < 1.2f)
|
||||
{
|
||||
uart_lcd_set_button_status(&lcd_set_button5_data, 1); // 设置按钮状态
|
||||
}
|
||||
|
||||
lcd_makecurve_data.cmd_data[0] = (ad7124_analog[P1_AI_ADC].current - 4) * 100 / 16; // 填充数据内容
|
||||
uart_lcd_makecurvet(&lcd_makecurve_data); // 调用函数发送数据
|
||||
uart_lcd_set_txt(&lcd_set_txt3_data, ad7124_analog[P1_AI_ADC].current); // 设置文本内容
|
||||
}
|
||||
|
||||
void uart_lcd_makecurve_test(void)
|
||||
{
|
||||
lcd_makecurve_data.cmd_data_len = 1; // 假设数据长度为1
|
||||
|
|
|
@ -134,5 +134,6 @@ void uart_lcd_page_switch(uint8_t page);
|
|||
void uart_lcd_ecll_control_current_out(void);
|
||||
void uart_lcd_ec11_control_current(void);
|
||||
void uart_lcd_makecurvet(lcd_makecurve_t *makecurve_data);
|
||||
void uart_lcd_refresh_screen(void);
|
||||
void uart_lcd_makecurve_test(void);
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue