parent
d99585f28a
commit
365eef3122
|
@ -1153,12 +1153,16 @@ void set_working_mode(SIG_FUNCTIONS mode, SIG_FUNCTIONS_TYPE type)
|
||||||
m5data.io_on2off = IO_OFF;
|
m5data.io_on2off = IO_OFF;
|
||||||
io_on2off_status(); //更新ON/OFF/IN/OUT状态指示
|
io_on2off_status(); //更新ON/OFF/IN/OUT状态指示
|
||||||
|
|
||||||
|
|
||||||
//数码管输入显示置零
|
//数码管输入显示置零
|
||||||
set_nixie_cube(IO_INPUT, 99, 0);
|
set_nixie_cube(IO_INPUT, 99, 0);
|
||||||
|
|
||||||
//数码管输出值置零
|
//数码管输出值置零
|
||||||
set_output(0);
|
set_output(0);
|
||||||
|
|
||||||
|
//当前输出清零
|
||||||
|
sig_sv_update();
|
||||||
|
|
||||||
//游标恢复至小数点前1位,个位
|
//游标恢复至小数点前1位,个位
|
||||||
m5data.io_cursor = 3;
|
m5data.io_cursor = 3;
|
||||||
m5data.io_cursor_prv = 3;
|
m5data.io_cursor_prv = 3;
|
||||||
|
|
|
@ -119,6 +119,7 @@ static void fun_pwr12_ctrl(uint8_t ch)
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t pulse = 50;
|
uint8_t pulse = 50;
|
||||||
|
float32 fre_set = 0;
|
||||||
void mux_signal_switch(st_mux_signal *mux_signal)
|
void mux_signal_switch(st_mux_signal *mux_signal)
|
||||||
{
|
{
|
||||||
CHANNEL ch;
|
CHANNEL ch;
|
||||||
|
@ -143,7 +144,8 @@ void mux_signal_switch(st_mux_signal *mux_signal)
|
||||||
// ads1220_operation(CH2_OUT_CUR, &mux_signal->data_pv);
|
// ads1220_operation(CH2_OUT_CUR, &mux_signal->data_pv);
|
||||||
break;
|
break;
|
||||||
case CH3_OUT_FRE:
|
case CH3_OUT_FRE:
|
||||||
freq_operation(mux_signal->data_sv, pulse);
|
freq_operation(mux_signal->data_sv, pulse, TIM_CHANNEL_2);
|
||||||
|
fre_set = mux_signal->data_sv;
|
||||||
fun_get_freq(&freq_signal, &mux_signal->data_pv);
|
fun_get_freq(&freq_signal, &mux_signal->data_pv);
|
||||||
break;
|
break;
|
||||||
case CH4_OUT_RES:
|
case CH4_OUT_RES:
|
||||||
|
|
|
@ -51,6 +51,7 @@ typedef struct
|
||||||
|
|
||||||
extern st_freq_signal freq_signal;
|
extern st_freq_signal freq_signal;
|
||||||
extern st_mux_signal mux_signal;
|
extern st_mux_signal mux_signal;
|
||||||
|
extern float32 fre_set;
|
||||||
|
|
||||||
void pwr_cosume(BOOL rst, uint32_t ms);
|
void pwr_cosume(BOOL rst, uint32_t ms);
|
||||||
void mux_signal_switch(st_mux_signal *mux_signal);
|
void mux_signal_switch(st_mux_signal *mux_signal);
|
||||||
|
|
|
@ -29,19 +29,29 @@ extern "C" {
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
|
|
||||||
/* USER CODE BEGIN Includes */
|
/* USER CODE BEGIN Includes */
|
||||||
#define FREQ_SYS 921600
|
#define FREQ_SYS 82944000
|
||||||
#define freq_operation(FREQ, PULSE) \
|
#define freq_operation(FREQ, PULSE, CHAN) \
|
||||||
do \
|
do \
|
||||||
{ \
|
{ \
|
||||||
if (FREQ <= 0 || FREQ >= FREQ_SYS || PULSE <= 0 || PULSE >= 100) \
|
if (FREQ <= 0 || FREQ >= 500000 || PULSE <= 0 || PULSE >= 100) \
|
||||||
{ \
|
{ \
|
||||||
HAL_TIMEx_PWMN_Stop(&htim1, TIM_CHANNEL_2); \
|
HAL_TIMEx_PWMN_Stop(&htim1, CHAN); \
|
||||||
return; \
|
return; \
|
||||||
} \
|
} \
|
||||||
int32_t duty = ( (float32)FREQ_SYS / (float32)FREQ + (float32)0.5 ); \
|
int fre_duty = 0; \
|
||||||
__HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_2, duty *PULSE / 100 - 1); \
|
if(FREQ <= 50000) \
|
||||||
__HAL_TIM_SET_AUTORELOAD(&htim1, duty -1); \
|
{ \
|
||||||
HAL_TIMEx_PWMN_Start(&htim1, TIM_CHANNEL_2); \
|
__HAL_TIM_SET_PRESCALER(&htim1, 1600-1); \
|
||||||
|
fre_duty = ( (float32)FREQ_SYS / (float32)1600.0 / (float32)FREQ + (float32)0.5 ); \
|
||||||
|
} \
|
||||||
|
else \
|
||||||
|
{ \
|
||||||
|
__HAL_TIM_SET_PRESCALER(&htim1, 2-1); \
|
||||||
|
fre_duty = ( (float32)FREQ_SYS / (float32)2.0 / (float32)FREQ + (float32)0.5 ); \
|
||||||
|
} \
|
||||||
|
__HAL_TIM_SET_AUTORELOAD(&htim1, fre_duty -1); \
|
||||||
|
__HAL_TIM_SET_COMPARE(&htim1, CHAN, fre_duty *PULSE / 100 - 1); \
|
||||||
|
HAL_TIMEx_PWMN_Start(&htim1, CHAN); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
/* USER CODE END Includes */
|
/* USER CODE END Includes */
|
||||||
|
|
|
@ -204,6 +204,7 @@ void start_task_lcd(void const * argument)
|
||||||
* @retval None
|
* @retval None
|
||||||
*/
|
*/
|
||||||
uint8_t hart_test = 0;
|
uint8_t hart_test = 0;
|
||||||
|
uint8_t hart_cnt = 0;
|
||||||
/* USER CODE END Header_start_task_hart */
|
/* USER CODE END Header_start_task_hart */
|
||||||
void start_task_hart(void const * argument)
|
void start_task_hart(void const * argument)
|
||||||
{
|
{
|
||||||
|
@ -215,13 +216,26 @@ void start_task_hart(void const * argument)
|
||||||
|
|
||||||
if(hart_test == 1)
|
if(hart_test == 1)
|
||||||
{
|
{
|
||||||
hart_test = 0;
|
hart_test = 2;
|
||||||
|
|
||||||
scom1_hart.tx_flag = TRUE;
|
scom1_hart.tx_flag = TRUE;
|
||||||
freq_operation(460800, 50);
|
|
||||||
delay_cnt(1000);
|
|
||||||
|
|
||||||
hart_communicate(&scom1_hart);
|
if(fre_set != 460800)
|
||||||
|
{
|
||||||
|
freq_operation(460800, 50, TIM_CHANNEL_3);
|
||||||
|
fre_set = 460800;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(hart_test == 2)
|
||||||
|
{
|
||||||
|
hart_cnt++;
|
||||||
|
if(hart_cnt > 50)
|
||||||
|
{
|
||||||
|
hart_communicate(&scom1_hart);
|
||||||
|
hart_test = 0;
|
||||||
|
hart_cnt = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//transparent_hart(&scom1_hart);
|
//transparent_hart(&scom1_hart);
|
||||||
|
|
|
@ -153,24 +153,7 @@
|
||||||
<Name>-U53FF6B064884525650271587 -O2254 -SF5000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP (ARM Core") -D00(2BA01477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F4xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F407VGTx$CMSIS\Flash\STM32F4xx_1024.FLM) -WA0 -WE0 -WVCE4 -WS2710 -WM0 -WP2 -WK0</Name>
|
<Name>-U53FF6B064884525650271587 -O2254 -SF5000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP (ARM Core") -D00(2BA01477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F4xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F407VGTx$CMSIS\Flash\STM32F4xx_1024.FLM) -WA0 -WE0 -WVCE4 -WS2710 -WM0 -WP2 -WK0</Name>
|
||||||
</SetRegEntry>
|
</SetRegEntry>
|
||||||
</TargetDriverDllRegistry>
|
</TargetDriverDllRegistry>
|
||||||
<Breakpoint>
|
<Breakpoint/>
|
||||||
<Bp>
|
|
||||||
<Number>0</Number>
|
|
||||||
<Type>0</Type>
|
|
||||||
<LineNumber>47</LineNumber>
|
|
||||||
<EnabledFlag>1</EnabledFlag>
|
|
||||||
<Address>134288218</Address>
|
|
||||||
<ByteObject>0</ByteObject>
|
|
||||||
<HtxType>0</HtxType>
|
|
||||||
<ManyObjects>0</ManyObjects>
|
|
||||||
<SizeOfObject>0</SizeOfObject>
|
|
||||||
<BreakByAccess>0</BreakByAccess>
|
|
||||||
<BreakIfRCount>1</BreakIfRCount>
|
|
||||||
<Filename>..\App\HART\hart.c</Filename>
|
|
||||||
<ExecCommand></ExecCommand>
|
|
||||||
<Expression>\\signal_generator\../App/HART/hart.c\47</Expression>
|
|
||||||
</Bp>
|
|
||||||
</Breakpoint>
|
|
||||||
<WatchWindow1>
|
<WatchWindow1>
|
||||||
<Ww>
|
<Ww>
|
||||||
<count>0</count>
|
<count>0</count>
|
||||||
|
@ -257,6 +240,11 @@
|
||||||
<WinNumber>1</WinNumber>
|
<WinNumber>1</WinNumber>
|
||||||
<ItemText>hart_test,0x0A</ItemText>
|
<ItemText>hart_test,0x0A</ItemText>
|
||||||
</Ww>
|
</Ww>
|
||||||
|
<Ww>
|
||||||
|
<count>17</count>
|
||||||
|
<WinNumber>1</WinNumber>
|
||||||
|
<ItemText>fre_set</ItemText>
|
||||||
|
</Ww>
|
||||||
</WatchWindow1>
|
</WatchWindow1>
|
||||||
<WatchWindow2>
|
<WatchWindow2>
|
||||||
<Ww>
|
<Ww>
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue