📄 bu2505fv.c
字号:
#include "indash.h"
extern char Current_Status;
extern char PICSEL_Next_Mode;
extern char Volume_Value;
extern char Color_Value;
extern char Tint_Value;
extern char Bright_Value;
extern char Contrast_Value;
extern char Dimmer_Value;
extern char GM1_Value;
extern char GM2_Value;
extern char RGBAMP_Value;
extern bit Rearview_Enable;
void DA_88347_Init()
{
DA_88347_CLK = 0;//CLK
DA_88347_LD = 0;//CS
DA_88347_DI = 0;//IOData
Set_Tint();
Set_Bright();
Set_Contrast();
Set_Color();
Set_Dimmer();
Set_R_L(EEPROM_Receive_25_Bit(OP_READ, EE_R_L_ADDR));
Set_PICTURE(EEPROM_Receive_25_Bit(OP_READ, EE_PICTURE_ADDR));
Set_COMAD(EEPROM_Receive_25_Bit(OP_READ, EE_COMAD_ADDR));
Set_ZOOM(EEPROM_Receive_25_Bit(OP_READ, EE_ZOOM_ADDR));
//Set_AV_IN(EEPROM_Receive_25_Bit(OP_READ, EE_TV_AV_ADDR));
//Set_IR_IN(EEPROM_Receive_25_Bit(OP_READ, EE_IR_IN_ADDR));
Set_FM(EEPROM_Receive_25_Bit(OP_READ, EE_FM_ADDR));
Set_GM1();
Set_GM2();
Set_RGBAMP();
if(EEPROM_Receive_25_Bit(OP_READ, EE_SPEAKER_ADDR))
{
Volume_Value = EEPROM_Receive_25_Bit(OP_READ, EE_VOLUME_ADDR);
DA_88347_Transmit_Data(OUT_VOLUME, Volume_Value, VOLUME_VOL_MAX, VOLUME_VOL_MIN);
}
else
{
Mute_Enable();
}
}
#ifdef USE_BU2505FV
void DA_88347_Clk()
{
DA_88347_CLK = 1;
DA_88347_CLK = 1;
DA_88347_CLK = 1;
DA_88347_CLK = 1;
DA_88347_CLK = 1;
DA_88347_CLK = 1;
DA_88347_CLK = 1;
DA_88347_CLK = 0;
}
void DA_88347_Transmit_Data(char addr, unsigned long value, float max, float min)
{
char i;
// char buf[6];
float value1;
//float value2;
/* Load enable */
DA_88347_LD = 0;
value1 = (max - min) * value * 204;
value1 /= PICSEL_MAX;
value1 += min * 204;
//Printxy_Normal( 1, 3, Ntoa((signed long) value1, Fill(buf, 3, ' '), LEFT, ' '), FONT_GREEN);
for (i = 0; i < 4; i++)
{
DA_88347_DI = addr % 2;
DA_88347_Clk();
addr /= 2;
}
//value2=(unsigned char)value1;
for (i = 0; i < 10; i++)
{
DA_88347_DI =((unsigned char) value1) % 2;
DA_88347_Clk();
value1 /= 2;
}
/* Load strobe, setup time > 100ns */
DA_88347_LD = 1;
DA_88347_LD = 1;
DA_88347_LD = 0;
}
#else
void DA_88347_Clk()
{
DA_88347_CLK = 0;
DA_88347_CLK = 0;
DA_88347_CLK = 0;
DA_88347_CLK = 0;
DA_88347_CLK = 0;
DA_88347_CLK = 0;
DA_88347_CLK = 0;
DA_88347_CLK = 0;
DA_88347_CLK = 0;
DA_88347_CLK = 0;
DA_88347_CLK = 1;
}
void DA_88347_Transmit_Byte(unsigned char value) reentrant
{
static char cnt = 0;
cnt++;
if (cnt < 8)
DA_88347_Transmit_Byte(value / 2);
else
cnt = 0;
DA_88347_DI = value % 2;
DA_88347_Clk();
}
void DA_88347_Transmit_Data(char addr, unsigned char value, float max, float min)
{
//char buf[4];
char i;
float value1;
/* Load enable */
DA_88347_LD = 0;
value1 = (max - min) * value * 204;
value1 /= PICSEL_MAX;
value1 += min * 204;
// Printxy_Normal( 3, 4, Ntoa((signed long)value1, Fill(buf, 3, ' '), LEFT, ' '), FONT_GREEN);
for (i = 0; i < 4; i++)
{
DA_88347_DI = addr % 2;
DA_88347_Clk();
addr /= 2;
}
DA_88347_Transmit_Byte((unsigned char)value1 % 256);
/* Load strobe, setup time > 100ns */
DA_88347_LD = 1;
DA_88347_LD = 1;
DA_88347_LD = 1;
DA_88347_LD = 1;
DA_88347_LD = 1;
DA_88347_LD = 1;
DA_88347_LD = 1;
DA_88347_LD = 1;
DA_88347_LD = 0;
}
#endif
void Key_Volume_Up(void)
{
char value;
switch(Current_Status)
{
case IS_SET_GM1:
if (GM1_Value < GM1_MAX)
GM1_Value++;
Set_GM1();
Show_GM1();
break;
case IS_SET_GM2:
if (GM2_Value < GM2_MAX)
GM2_Value++;
Set_GM2();
Show_GM2();
break;
case IS_SET_RGBAMP:
if (RGBAMP_Value < RGBAMP_MAX)
RGBAMP_Value++;
Set_RGBAMP();
Show_RGBAMP();
break;
case IS_SET_SPEAKER:
if(EEPROM_Receive_25_Bit(OP_READ, EE_SPEAKER_ADDR))
Set_Speaker(False);
else
Set_Speaker(True);
Reset_OSD();
Show_Speaker();
break;
case IS_SET_FM:
value = EEPROM_Receive_25_Bit(OP_READ,EE_FM_ADDR);
if(value<2)
value++;
else
value=0;
Set_FM(value);
Show_FM();
break;
case IS_SET_POWER_MODE:
value = EEPROM_Receive_25_Bit(OP_READ, EE_POWER_MODE_ADDR);
if (value < POWER_MODE_MAX)
value++;
else
value = 0;
Set_Power_Mode(value);
Show_Power_Mode();
break;
case IS_SET_TINT:
if (Tint_Value < TINT_MAX)
Tint_Value++;
Set_Tint();
Show_Tint();
break;
case IS_SET_BRIGHT:
if (Bright_Value < BRIGHT_MAX)
Bright_Value++;
Set_Bright();
Show_Bright();
break;
case IS_SET_CONTRAST:
if (Contrast_Value > 0)
Contrast_Value--;
Set_Contrast();
Show_Contrast();
break;
case IS_SET_COLOR:
if (Color_Value < COLOR_MAX)
Color_Value++;
Set_Color();
Show_Color();
break;
case IS_SET_ZOOM:
value = EEPROM_Receive_25_Bit(OP_READ, EE_ZOOM_ADDR);
if (value < ZOOM_MAX)
value++;
else
value = 0;
Set_ZOOM(value);
Show_ZOOM();
break;
case IS_SET_DIMMER: //050323
// if (Dimmer_Value > 0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -