Commit eb02050a authored by 何锐's avatar 何锐

feat:完成转速PWM输出,修改规范变动的指示灯

parent bdac6f2b
......@@ -62,6 +62,7 @@
"display_info.h": "c",
"can_communication_matrix.h": "c",
"analog_signals.h": "c",
"key.h": "c"
"key.h": "c",
"timerb.h": "c"
}
}
\ No newline at end of file
......@@ -277,6 +277,9 @@ void can_submit(void)
CAN_Frame_st_t m_msg8;
uint8_t data8[8] = {0, 0, 0, 0, 0, 0, 0, 0};//0x0C50FFD2
CAN_Frame_st_t m_msg9;
uint8_t data9[8] = {0, 0, 0, 0, 0, 0, 0, 0};//0x0C50FFD2
if(MENU_CHECK_STEP == 0)
{
/* N档 */
......@@ -312,8 +315,7 @@ void can_submit(void)
init_CAN_Frame(&m_msg4, 0x322, 8, 1, data4);
/* 故障码TCU指示灯 */
data5[0] = 0x00;
data5[1] = 0x00;
data5[2] = 0x00;
init_CAN_Frame(&m_msg5, 0x323, 8, 1, data5);
/* D档 */
......@@ -321,11 +323,15 @@ void can_submit(void)
/* S档 */
data6[4] = 0x00;
init_CAN_Frame(&m_msg6, 0x321, 8, 1, data6);
/* 水温指示灯 */
data9[7] = 0x01;
init_CAN_Frame(&m_msg9, 0x240, 8, 1, data9);
break;
case 2:
/* 车速 */
data1[0] = 0x0D;
data1[1] = 0x58;
data1[1] = 0xE0;
init_CAN_Frame(&m_msg1, 0x141, 8, 1, data1);
/* 转速 */
......@@ -346,8 +352,7 @@ void can_submit(void)
init_CAN_Frame(&m_msg4, 0x322, 8, 1, data4);
/* 故障码TCU指示灯 */
data5[0] = 0x00;
data5[1] = 0x00;
data5[2] = 0x00;
init_CAN_Frame(&m_msg5, 0x323, 8, 1, data5);
/* D档 */
......@@ -355,11 +360,15 @@ void can_submit(void)
/* S档 */
data6[4] = 0x00;
init_CAN_Frame(&m_msg6, 0x321, 8, 1, data6);
/* 水温指示灯 */
data9[7] = 0x28;
init_CAN_Frame(&m_msg9, 0x240, 8, 1, data9);
break;
case 3:
/* 车速 */
data1[0] = 0x14;
data1[1] = 0xD8;
data1[0] = 0x16;
data1[1] = 0x38;
init_CAN_Frame(&m_msg1, 0x141, 8, 1, data1);
/* 转速 */
......@@ -380,8 +389,7 @@ void can_submit(void)
init_CAN_Frame(&m_msg4, 0x322, 8, 1, data4);
/* 故障码TCU指示灯 */
data5[0] = 0x00;
data5[1] = 0x00;
data5[2] = 0x00;
init_CAN_Frame(&m_msg5, 0x323, 8, 1, data5);
/* D档 */
......@@ -389,11 +397,15 @@ void can_submit(void)
/* S档 */
data6[4] = 0x00;
init_CAN_Frame(&m_msg6, 0x321, 8, 1, data6);
/* 水温指示灯 */
data9[7] = 0xA0;
init_CAN_Frame(&m_msg9, 0x240, 8, 1, data9);
break;
case 4:
/* 车速 */
data1[0] = 0x24;
data1[1] = 0x20;
data1[0] = 0x26;
data1[1] = 0xE0;
init_CAN_Frame(&m_msg1, 0x141, 8, 1, data1);
/* 转速 */
......@@ -414,8 +426,7 @@ void can_submit(void)
init_CAN_Frame(&m_msg4, 0x322, 8, 1, data4);
/* 故障码TCU指示灯 */
data5[0] = 0x00;
data5[1] = 0x00;
data5[2] = 0x00;
init_CAN_Frame(&m_msg5, 0x323, 8, 1, data5);
/* D档 */
......@@ -423,11 +434,15 @@ void can_submit(void)
/* S档 */
data6[4] = 0x00;
init_CAN_Frame(&m_msg6, 0x321, 8, 1, data6);
/* 水温指示灯 */
data9[7] = 0xC4;
init_CAN_Frame(&m_msg9, 0x240, 8, 1, data9);
break;
case 5:
/* 车速 */
data1[0] = 0x33;
data1[1] = 0xA8;
data1[0] = 0x37;
data1[1] = 0x90;
init_CAN_Frame(&m_msg1, 0x141, 8, 1, data1);
/* 转速 */
......@@ -448,8 +463,7 @@ void can_submit(void)
init_CAN_Frame(&m_msg4, 0x322, 8, 1, data4);
/* 故障码TCU指示灯 */
data5[0] = 0x00;
data5[1] = 0x00;
data5[2] = 0x00;
init_CAN_Frame(&m_msg5, 0x323, 8, 1, data5);
/* D档 */
......@@ -457,11 +471,15 @@ void can_submit(void)
/* S档 */
data6[4] = 0x00;
init_CAN_Frame(&m_msg6, 0x321, 8, 1, data6);
/* 水温指示灯 */
data9[7] = 0xD0;
init_CAN_Frame(&m_msg9, 0x240, 8, 1, data9);
break;
case 6:
/* 车速 */
data1[0] = 0x3D;
data1[1] = 0xC8;
data1[0] = 0x42;
data1[1] = 0xA8;
init_CAN_Frame(&m_msg1, 0x141, 8, 1, data1);
/* 转速 */
......@@ -482,8 +500,7 @@ void can_submit(void)
init_CAN_Frame(&m_msg4, 0x322, 8, 1, data4);
/* 故障码TCU指示灯 */
data5[0] = 0x00;
data5[1] = 0x00;
data5[2] = 0x00;
init_CAN_Frame(&m_msg5, 0x323, 8, 1, data5);
/* D档 */
......@@ -491,11 +508,15 @@ void can_submit(void)
/* S档 */
data6[4] = 0x00;
init_CAN_Frame(&m_msg6, 0x321, 8, 1, data6);
/* 水温指示灯 */
data9[7] = 0xDA;
init_CAN_Frame(&m_msg9, 0x240, 8, 1, data9);
break;
case 7:
/* 车速 */
data1[0] = 0x52;
data1[1] = 0x64;
data1[0] = 0x58;
data1[1] = 0xE0;
init_CAN_Frame(&m_msg1, 0x141, 8, 1, data1);
/* 转速 */
......@@ -516,8 +537,7 @@ void can_submit(void)
init_CAN_Frame(&m_msg4, 0x322, 8, 1, data4);
/* 故障码TCU指示灯 */
data5[0] = 0x00;
data5[1] = 0x00;
data5[2] = 0x00;
init_CAN_Frame(&m_msg5, 0x323, 8, 1, data5);
/* D档 */
......@@ -525,6 +545,10 @@ void can_submit(void)
/* S档 */
data6[4] = 0x00;
init_CAN_Frame(&m_msg6, 0x321, 8, 1, data6);
/* 水温指示灯 */
data9[7] = 0xDA;
init_CAN_Frame(&m_msg9, 0x240, 8, 1, data9);
break;
case 8:
/* 车速 */
......@@ -550,8 +574,7 @@ void can_submit(void)
init_CAN_Frame(&m_msg4, 0x322, 8, 1, data4);
/* 故障码TCU指示灯 */
data5[0] = 0x00;
data5[1] = 0x00;
data5[2] = 0x00;
init_CAN_Frame(&m_msg5, 0x323, 8, 1, data5);
/* D档 */
......@@ -559,6 +582,10 @@ void can_submit(void)
/* S档 */
data6[4] = 0x00;
init_CAN_Frame(&m_msg6, 0x321, 8, 1, data6);
/* 水温指示灯 */
data9[7] = 0xDA;
init_CAN_Frame(&m_msg9, 0x240, 8, 1, data9);
break;
case 9:
/* 车速 */
......@@ -584,8 +611,7 @@ void can_submit(void)
init_CAN_Frame(&m_msg4, 0x322, 8, 1, data4);
/* 故障码TCU指示灯 */
data5[0] = 0x00;
data5[1] = 0x00;
data5[2] = 0x00;
init_CAN_Frame(&m_msg5, 0x323, 8, 1, data5);
/* D档 */
......@@ -593,6 +619,10 @@ void can_submit(void)
/* S档 */
data6[4] = 0x00;
init_CAN_Frame(&m_msg6, 0x321, 8, 1, data6);
/* 水温指示灯 */
data9[7] = 0xDA;
init_CAN_Frame(&m_msg9, 0x240, 8, 1, data9);
break;
case 10:
/* 车速 */
......@@ -618,8 +648,7 @@ void can_submit(void)
init_CAN_Frame(&m_msg4, 0x322, 8, 1, data4);
/* 故障码TCU指示灯 */
data5[0] = 0x00;
data5[1] = 0x00;
data5[2] = 0x00;
init_CAN_Frame(&m_msg5, 0x323, 8, 1, data5);
/* D档 */
......@@ -627,6 +656,10 @@ void can_submit(void)
/* S档 */
data6[4] = 0x00;
init_CAN_Frame(&m_msg6, 0x321, 8, 1, data6);
/* 水温指示灯 */
data9[7] = 0xDA;
init_CAN_Frame(&m_msg9, 0x240, 8, 1, data9);
break;
case 11:
/* 车速 */
......@@ -652,8 +685,7 @@ void can_submit(void)
init_CAN_Frame(&m_msg4, 0x322, 8, 1, data4);
/* 故障码TCU指示灯 */
data5[0] = 0x0F;
data5[1] = 0xA1;
data5[2] = 0x01;
init_CAN_Frame(&m_msg5, 0x323, 8, 1, data5);
/* D档 */
......@@ -661,6 +693,10 @@ void can_submit(void)
/* S档 */
data6[4] = 0x00;
init_CAN_Frame(&m_msg6, 0x321, 8, 1, data6);
/* 水温指示灯 */
data9[7] = 0xDA;
init_CAN_Frame(&m_msg9, 0x240, 8, 1, data9);
break;
case 12:
/* 车速 */
......@@ -686,8 +722,7 @@ void can_submit(void)
init_CAN_Frame(&m_msg4, 0x322, 8, 1, data4);
/* 故障码TCU指示灯 */
data5[0] = 0x00;
data5[1] = 0x00;
data5[2] = 0x00;
init_CAN_Frame(&m_msg5, 0x323, 8, 1, data5);
/* D档 */
......@@ -695,6 +730,10 @@ void can_submit(void)
/* S档 */
data6[4] = 0x02;
init_CAN_Frame(&m_msg6, 0x321, 8, 1, data6);
/* 水温指示灯 */
data9[7] = 0xDA;
init_CAN_Frame(&m_msg9, 0x240, 8, 1, data9);
break;
case 13:
/* 车速 */
......@@ -721,7 +760,7 @@ void can_submit(void)
init_CAN_Frame(&m_msg4, 0x322, 8, 1, data4);
/* 故障码TCU指示灯 */
data5[1] = 0x00;
data5[2] = 0x00;
init_CAN_Frame(&m_msg5, 0x323, 8, 1, data5);
/* D档 */
......@@ -729,6 +768,10 @@ void can_submit(void)
/* S档 */
data6[4] = 0x00;
init_CAN_Frame(&m_msg6, 0x321, 8, 1, data6);
/* 水温指示灯 */
data9[7] = 0xDA;
init_CAN_Frame(&m_msg9, 0x240, 8, 1, data9);
break;
case 14:
/* 车速 */
......@@ -754,8 +797,7 @@ void can_submit(void)
init_CAN_Frame(&m_msg4, 0x322, 8, 1, data4);
/* 故障码TCU指示灯 */
data5[0] = 0x00;
data5[1] = 0x00;
data5[2] = 0x00;
init_CAN_Frame(&m_msg5, 0x323, 8, 1, data5);
/* D档 */
......@@ -763,6 +805,10 @@ void can_submit(void)
/* S档 */
data6[4] = 0x00;
init_CAN_Frame(&m_msg6, 0x321, 8, 1, data6);
/* 水温指示灯 */
data9[7] = 0xDA;
init_CAN_Frame(&m_msg9, 0x240, 8, 1, data9);
break;
case 15:
/* 车速 */
......@@ -788,8 +834,7 @@ void can_submit(void)
init_CAN_Frame(&m_msg4, 0x322, 8, 1, data4);
/* 故障码TCU指示灯 */
data5[0] = 0x0F;
data5[1] = 0xA1;
data5[2] = 0x01;
init_CAN_Frame(&m_msg5, 0x323, 8, 1, data5);
/* D档 */
......@@ -797,6 +842,10 @@ void can_submit(void)
/* S档 */
data6[4] = 0x02;
init_CAN_Frame(&m_msg6, 0x321, 8, 1, data6);
/* 水温指示灯 */
data9[7] = 0xDA;
init_CAN_Frame(&m_msg9, 0x240, 8, 1, data9);
break;
default:
break;
......@@ -809,6 +858,7 @@ void can_submit(void)
can_mid(m_msg4);
can_mid(m_msg5);
can_mid(m_msg6);
can_mid(m_msg9);
}
else if(MENU_CHECK_STEP == 0)
{
......
......@@ -584,6 +584,7 @@ void Function_Check_Ctrl(uint32_t cmd)
LINE_OUT_POS_05 = 0;
LINE_OUT_POS_06 = 1;
LINE_OUT_POS_07 = 0;
LINE_OUT_POS_08 = 0;
/*燃油*/
FUEL_RES_1 = 0;
FUEL_RES_2 = 0;
......@@ -600,6 +601,7 @@ void Function_Check_Ctrl(uint32_t cmd)
LINE_OUT_POS_05 = 0;
LINE_OUT_POS_06 = 1;
LINE_OUT_POS_07 = 0;
LINE_OUT_POS_08 = 0;
/*燃油*/
FUEL_RES_1 = 1;
FUEL_RES_2 = 0;
......@@ -617,6 +619,7 @@ void Function_Check_Ctrl(uint32_t cmd)
LINE_OUT_POS_05 = 0;
LINE_OUT_POS_06 = 1;
LINE_OUT_POS_07 = 0;
LINE_OUT_POS_08 = 0;
/*燃油*/
FUEL_RES_1 = 0;
FUEL_RES_2 = 1;
......@@ -634,6 +637,7 @@ void Function_Check_Ctrl(uint32_t cmd)
LINE_OUT_POS_05 = 0;
LINE_OUT_POS_06 = 1;
LINE_OUT_POS_07 = 0;
LINE_OUT_POS_08 = 0;
// /*燃油*/
FUEL_RES_1 = 0;
FUEL_RES_2 = 1;
......@@ -650,6 +654,7 @@ void Function_Check_Ctrl(uint32_t cmd)
LINE_OUT_POS_05 = 0;
LINE_OUT_POS_06 = 1;
LINE_OUT_POS_07 = 0;
LINE_OUT_POS_08 = 0;
/*燃油*/
FUEL_RES_1 = 0;
FUEL_RES_2 = 0;
......@@ -667,6 +672,7 @@ void Function_Check_Ctrl(uint32_t cmd)
LINE_OUT_POS_05 = 0;
LINE_OUT_POS_06 = 1;
LINE_OUT_POS_07 = 0;
LINE_OUT_POS_08 = 0;
/*燃油*/
FUEL_RES_1 = 0;
FUEL_RES_2 = 2;
......@@ -684,6 +690,7 @@ void Function_Check_Ctrl(uint32_t cmd)
LINE_OUT_POS_05 = 1;
LINE_OUT_POS_06 = 1;
LINE_OUT_POS_07 = 0;
LINE_OUT_POS_08 = 0;
/*燃油*/
FUEL_RES_1 = 0;
FUEL_RES_2 = 2;
......@@ -700,6 +707,7 @@ void Function_Check_Ctrl(uint32_t cmd)
LINE_OUT_POS_05 = 0;
LINE_OUT_POS_06 = 0;
LINE_OUT_POS_07 = 0;
LINE_OUT_POS_08 = 0;
/*燃油*/
FUEL_RES_1 = 0;
FUEL_RES_2 = 2;
......@@ -716,6 +724,7 @@ void Function_Check_Ctrl(uint32_t cmd)
LINE_OUT_POS_05 = 0;
LINE_OUT_POS_06 = 1;
LINE_OUT_POS_07 = 0;
LINE_OUT_POS_08 = 0;
/*燃油*/
FUEL_RES_1 = 0;
FUEL_RES_2 = 2;
......@@ -732,6 +741,7 @@ void Function_Check_Ctrl(uint32_t cmd)
LINE_OUT_POS_05 = 0;
LINE_OUT_POS_06 = 1;
LINE_OUT_POS_07 = 0;
LINE_OUT_POS_08 = 0;
/*燃油*/
FUEL_RES_1 = 0;
FUEL_RES_2 = 2;
......@@ -748,6 +758,7 @@ void Function_Check_Ctrl(uint32_t cmd)
LINE_OUT_POS_05 = 0;
LINE_OUT_POS_06 = 1;
LINE_OUT_POS_07 = 0;
LINE_OUT_POS_08 = 0;
/*燃油*/
FUEL_RES_1 = 0;
FUEL_RES_2 = 2;
......@@ -764,6 +775,7 @@ void Function_Check_Ctrl(uint32_t cmd)
LINE_OUT_POS_05 = 0;
LINE_OUT_POS_06 = 1;
LINE_OUT_POS_07 = 0;
LINE_OUT_POS_08 = 1;
/*燃油*/
FUEL_RES_1 = 0;
FUEL_RES_2 = 2;
......@@ -780,6 +792,7 @@ void Function_Check_Ctrl(uint32_t cmd)
LINE_OUT_POS_05 = 0;
LINE_OUT_POS_06 = 1;
LINE_OUT_POS_07 = 0;
LINE_OUT_POS_08 = 0;
/*燃油*/
FUEL_RES_1 = 0;
FUEL_RES_2 = 2;
......@@ -796,6 +809,7 @@ void Function_Check_Ctrl(uint32_t cmd)
LINE_OUT_POS_05 = 0;
LINE_OUT_POS_06 = 1;
LINE_OUT_POS_07 = 0;
LINE_OUT_POS_08 = 0;
/*燃油*/
FUEL_RES_1 = 0;
FUEL_RES_2 = 2;
......@@ -812,6 +826,7 @@ void Function_Check_Ctrl(uint32_t cmd)
LINE_OUT_POS_05 = 0;
LINE_OUT_POS_06 = 1;
LINE_OUT_POS_07 = 1;
LINE_OUT_POS_08 = 0;
/*燃油*/
FUEL_RES_1 = 0;
FUEL_RES_2 = 2;
......@@ -828,6 +843,7 @@ void Function_Check_Ctrl(uint32_t cmd)
LINE_OUT_POS_05 = 1;
LINE_OUT_POS_06 = 0;
LINE_OUT_POS_07 = 1;
LINE_OUT_POS_08 = 1;
/*燃油*/
FUEL_RES_1 = 0;
FUEL_RES_2 = 2;
......
......@@ -5148,60 +5148,58 @@ void Display_Send_Vspead(uint8_t menu)
199km/h 700*/
void Buzzer_Start(void)
{
PWM_Channel_Init(9,0,0,0,0);
switch (MENU_CHECK_STEP)
{
case 0:
// PWM_Channel_Set_Freq(11,0);
PWM_Channel_Set_Duty(9, 1000);
PWM_Channel_Set_Freq(1,1);
break;
case 1:
PWM_Channel_Set_Freq(9,35);
PWM_Channel_Set_Freq(1,19);
break;
case 2:
PWM_Channel_Set_Freq(9,68);
PWM_Channel_Set_Freq(1,50);
break;
case 3:
PWM_Channel_Set_Freq(9,101);
PWM_Channel_Set_Freq(1,84);
break;
case 4:
PWM_Channel_Set_Freq(9,137);
PWM_Channel_Set_Freq(1,117);
break;
case 5:
PWM_Channel_Set_Freq(9,170);
PWM_Channel_Set_Freq(1,150);
break;
case 6:
PWM_Channel_Set_Freq(9,205);
PWM_Channel_Set_Freq(1,183);
break;
case 7:
PWM_Channel_Set_Freq(9,237);
PWM_Channel_Set_Freq(1,200);
break;
case 8:
PWM_Channel_Set_Freq(9,271);
PWM_Channel_Set_Freq(1,200);
break;
case 9:
PWM_Channel_Set_Freq(9,304);
PWM_Channel_Set_Freq(1,200);
break;
case 10:
PWM_Channel_Set_Freq(9,390);
PWM_Channel_Set_Freq(1,200);
break;
case 11:
PWM_Channel_Set_Freq(9,453);
PWM_Channel_Set_Freq(1,200);
break;
case 12:
PWM_Channel_Set_Freq(9,518);
PWM_Channel_Set_Freq(1,200);
break;
case 13:
PWM_Channel_Set_Freq(9,700);
PWM_Channel_Set_Freq(1,200);
break;
default:
break;
}
if(MENU_CHECK_STEP != 0)
{
PWM_Channel_Set_Duty(9, 500);
}
// if(MENU_CHECK_STEP != 0)
// {
PWM_Channel_Set_Duty(1, 500);
// }
}
......
......@@ -136,7 +136,8 @@
#define LINE_OUT_POS_06 GPIO_OUT_PORT09_PIN03
//负控10
#define LINE_OUT_POS_07 GPIO_OUT_PORT00_PIN08
//负控1
#define LINE_OUT_POS_08 GPIO_OUT_PORT09_PIN06
//zh:
......
......@@ -72,14 +72,14 @@ const uint16_t g_u16GPIOConfigArray[56U][2U] =
{0x0000u, 0x0000u},
{0x0000u, 0x0000u},
{0x0000u, 0x0000u},
{0x8000u, 0x8000u},
{0x8000u, 0x8000u},
{0x8800u, 0x8000u},
{0x8800u, 0x8000u},
{0x0000u, 0x0000u},
{0x0000u, 0x0000u},
{0x0000u, 0x0000u},
{0x8000u, 0x8000u},
{0x8800u, 0x8000u},
{0x0020u, 0x0000u},
{0x7FFFu, 0x7FFFu},
{0x77FFu, 0x7FFFu},
{0x0000u, 0x0000u},
{0x0000u, 0x0000u},
{0x0000u, 0x0000u},
......
......@@ -40,7 +40,7 @@
#elif (TIMERB_0_CK0_DIV == 16U)
#define TIMERB_0_CK0_DIV_COE 4U
#elif (TIMERB_0_CK0_DIV == 32U)
#define TIMERB_0_CK0_DIV_COE 5U
#define TIMERB_0_CK0_DIV_COE 7U
#elif (TIMERB_0_CK0_DIV == 64U)
#define TIMERB_0_CK0_DIV_COE 6U
#elif (TIMERB_0_CK0_DIV == 128U)
......@@ -358,7 +358,7 @@ uint32_t TimerB_PWM_Channel_Fre_Set(TIMERB_Channel_en_t enTimerBChannel, uint16_
u32TimerBRegAddrChannel = u32TimerBRegBaseAddr + (4U * (u8TimerBChannel));
(*((uint16_t *)(u32TimerBRegAddrChannel - 4U * TIMERB_CHANNEL_INTERVAL))) = u32CalBuf - 1U;
(*((uint16_t *)(u32TimerBRegAddrChannel - 4U * TIMERB_CHANNEL_INTERVAL))) = (u32CalBuf - 1U) / 4;
/*TAUB0CDR2 = u32CalBuf - 1U; // fre*/
(*((uint16_t *)u32TimerBRegAddrChannel)) = (u32Duty * u32CalBuf / 1000U);
......
......@@ -82,6 +82,9 @@ void Sys_Startup_Init(void)
Display_Title_Info( );
Key_Init( );
Buzzer_Init();
PWM_Channel_Init(1,0,0,0,0);
UIDdelay = 0;
POWER_CTRL_KL30 = 1u; //B+
POWER_CTRL_KL15 = 1u; //KL15
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment