?? main.c
字號:
INPUT_NUM[INPUT_NUM_ID]=1+'0';
NOW_SET_FREG=NOW_SET_FREG*10+1;
G_ICO_X+=8;
INPUT_NUM_ID++;
break;
case 0x22 : //5
INPUT_NUM[INPUT_NUM_ID]=2+'0';
NOW_SET_FREG=NOW_SET_FREG*10+2;
G_ICO_X+=8;
INPUT_NUM_ID++;
break;
case 0x42 : //6
INPUT_NUM[INPUT_NUM_ID]=3+'0';
NOW_SET_FREG=NOW_SET_FREG*10+3;
G_ICO_X+=8;
INPUT_NUM_ID++;
break;
// case 0x82 : //7
// break;
case 0x14 : //8
INPUT_NUM[INPUT_NUM_ID]=4+'0';
NOW_SET_FREG=NOW_SET_FREG*10+4;
G_ICO_X+=8;
INPUT_NUM_ID++;
break;
case 0x24 : //9
INPUT_NUM[INPUT_NUM_ID]=5+'0';
NOW_SET_FREG=NOW_SET_FREG*10+5;
G_ICO_X+=8;
INPUT_NUM_ID++;
break;
case 0x44 : //10
INPUT_NUM[INPUT_NUM_ID]=6+'0';
NOW_SET_FREG=NOW_SET_FREG*10+6;
G_ICO_X+=8;
INPUT_NUM_ID++;
break;
case 0x18 : //9
INPUT_NUM[INPUT_NUM_ID]=7+'0';
NOW_SET_FREG=NOW_SET_FREG*10+7;
G_ICO_X+=8;
INPUT_NUM_ID++;
break;
case 0x28 : //9
INPUT_NUM[INPUT_NUM_ID]=8+'0';
NOW_SET_FREG=NOW_SET_FREG*10+8;
G_ICO_X+=8;
INPUT_NUM_ID++;
break;
case 0x48 : //9
INPUT_NUM[INPUT_NUM_ID]=9+'0';
NOW_SET_FREG=NOW_SET_FREG*10+9;
G_ICO_X+=8;
INPUT_NUM_ID++;
break;
case 0x88 : //9
break;
case 0x82:
MY_Event.Bit.CANNEL=1;
break;
default:
break;
}
if(NOW_SET_FREG!=old_SET_FREG)
{
for(INPUT_ii=0;INPUT_ii<INPUT_NUM_ID;INPUT_ii++)
{
Watchdog_Clear = 0x0001;
if(INPUT_NUM[INPUT_ii]>='0'&&INPUT_NUM[INPUT_ii]<='9')
{
LCD501_PutChar(16+INPUT_ii*8,32,INPUT_NUM[INPUT_ii]);
LCD501_PutString(93,32,"HZ");
}
}
old_SET_FREG=NOW_SET_FREG;
}
}
if(MY_Event.Bit.CANNEL)
{
MY_Event.Bit.CANNEL=0;
SpSTaskDel(3);
LCDMENUDROW();
break;
}
if(MY_Event.Bit.OK)
{
MY_Event.Bit.OK=0;
SpSTaskDel(3);
LCDMENUDROW();
if(SINE_SET_INPUT_MODE==1)
{
for(INPUT_ii=0;INPUT_ii<INPUT_NUM_ID;INPUT_ii++)
{
Watchdog_Clear = 0x0001;
if(INPUT_NUM[INPUT_ii]>='0'&&INPUT_NUM[INPUT_ii]<='9')
{
LCD501_PutChar(16+INPUT_ii*8,32,INPUT_NUM[INPUT_ii]);
LCD501_PutString(93,32,"HZ");
}
}
}
if(SINE_SET_INPUT_MODE==1)
{
SET_FREG=NOW_SET_FREG;
SendFreq(SET_FREG);
}
else if(SINE_SET_INPUT_MODE==2)
Step_HZ=NOW_SET_FREG;
SINE_SET_INPUT_MODE=0;
break;
}
SpSTimeDly(1);
}
}
Uint INPUT_AM() //輸入函數
{
char INPUT_NUM[3];
Uint Key = 0;
Uint INPUT_NUM_ID=0;
Uint INPUT_ii;
static Uint old_AM_MA=0;
AM_MA=0;
G_ICO_X=16;
LCD501_ClrScreen(0);
err = SpSTaskCreate(DisPlay,0,t2stack+49,3);
INPUT_AM_DROW();
while(1)
{
Watchdog_Clear = 0x0001;
Key=ScanKeyTask();
if(INPUT_NUM_ID>0)
{
switch(Key)
{
case 0x84 : //11
AM_MA==(AM_MA=-INPUT_NUM[INPUT_NUM_ID-1]+'0')/10;
INPUT_NUM_ID--;
G_ICO_X-=8;
LCD501_ClrScreen(0);
INPUT_AM_DROW();
break;
case 0x81 : //3
MY_Event.Bit.OK=1;
//返回SET_FREG值
break;
default:
break;
}
}
if(INPUT_NUM_ID<3||AM_MA<100)
{
switch(Key)
{
case 0x11 :
break;
case 0x21 :
if(INPUT_NUM_ID==0)
break;
INPUT_NUM[INPUT_NUM_ID]=0+'0';
AM_MA=AM_MA*10+0;
G_ICO_X+=8;
INPUT_NUM_ID++;
break;
// case 0x41 : //2
// break;
case 0x12 : //4
INPUT_NUM[INPUT_NUM_ID]=1+'0';
AM_MA=AM_MA*10+1;
G_ICO_X+=8;
INPUT_NUM_ID++;
break;
case 0x22 : //5
INPUT_NUM[INPUT_NUM_ID]=2+'0';
AM_MA=AM_MA*10+2;
G_ICO_X+=8;
INPUT_NUM_ID++;
break;
case 0x42 : //6
INPUT_NUM[INPUT_NUM_ID]=3+'0';
AM_MA=AM_MA*10+3;
G_ICO_X+=8;
INPUT_NUM_ID++;
break;
// case 0x82 : //7
// break;
case 0x14 : //8
INPUT_NUM[INPUT_NUM_ID]=4+'0';
AM_MA=AM_MA*10+4;
G_ICO_X+=8;
INPUT_NUM_ID++;
break;
case 0x24 : //9
INPUT_NUM[INPUT_NUM_ID]=5+'0';
AM_MA=AM_MA*10+5;
G_ICO_X+=8;
INPUT_NUM_ID++;
break;
case 0x44 : //10
INPUT_NUM[INPUT_NUM_ID]=6+'0';
AM_MA=AM_MA*10+6;
G_ICO_X+=8;
INPUT_NUM_ID++;
break;
case 0x18 : //9
INPUT_NUM[INPUT_NUM_ID]=7+'0';
AM_MA=AM_MA*10+7;
G_ICO_X+=8;
INPUT_NUM_ID++;
break;
case 0x28 : //9
INPUT_NUM[INPUT_NUM_ID]=8+'0';
AM_MA=AM_MA*10+8;
G_ICO_X+=8;
INPUT_NUM_ID++;
break;
case 0x48 : //9
INPUT_NUM[INPUT_NUM_ID]=9+'0';
AM_MA=AM_MA*10+9;
G_ICO_X+=8;
INPUT_NUM_ID++;
break;
case 0x88 : //9
break;
case 0x82:
MY_Event.Bit.CANNEL=1;
break;
default:
break;
}
if(AM_MA!=old_AM_MA)
{
for(INPUT_ii=0;INPUT_ii<INPUT_NUM_ID;INPUT_ii++)
{
Watchdog_Clear = 0x0001;
if(INPUT_NUM[INPUT_ii]>='0'&&INPUT_NUM[INPUT_ii]<='9')
{
LCD501_PutChar(16+INPUT_ii*8,32,INPUT_NUM[INPUT_ii]);
LCD501_PutString(93,32,"%");
}
}
old_AM_MA=AM_MA;
}
}
if(MY_Event.Bit.OK)
{
MY_Event.Bit.OK=0;
SpSTaskDel(3);
LCDMENUDROW();
break;
}
if(MY_Event.Bit.CANNEL)
{
MY_Event.Bit.CANNEL=0;
SpSTaskDel(3);
LCDMENUDROW();
break;
}
SpSTimeDly(1);
}
}
void Sub_FUNC_MENU()
{
Uint Key = 0;
char bbb[8];
while(1)
{
Watchdog_Clear = 0x0001;
Key=ScanKeyTask();
switch(Key)
{
case 0x11 :
break;
case 0x21 :
break;
case 0x41 : //2
break;
case 0x81 : //3
break;
case 0x12 : //4
if(MODE==SINE)
{
SET_FREG+=Step_HZ;
SendFreq(SET_FREG);
Long2Str(SET_FREG,bbb,8);
LCD501_PutString(17,31,bbb);
LCD501_PutString(93,31,"HZ");
}
else if(MODE==AM)
{
if(AM_MA>=0&&AM_MA<100)
{
AM_MA+=10;
Word2Str(AM_MA,bbb,3);
LCD501_PutString(17,47,bbb);
LCD501_PutString(93,47,"%");
Long2Str(SET_FREG,bbb,8);
LCD501_PutString(17,31,bbb);
LCD501_PutString(93,31,"HZ");
SpFDelINTVec(IRQ2_TB_EN);
AMReady(AM_MA);
SpFAddINTVec(IRQ2_TB_EN);
}
}
break;
case 0x22 : //5
if(MODE==SINE)
{
SET_FREG-=Step_HZ;
SendFreq(SET_FREG);
Long2Str(SET_FREG,bbb,8);
LCD501_PutString(17,31,bbb);
LCD501_PutString(93,31,"HZ");
}
else if(MODE==AM)
{
if(AM_MA>0&&AM_MA<110)
{
AM_MA-=10;
Word2Str(AM_MA,bbb,3);
LCD501_PutString(17,47,bbb);
LCD501_PutString(93,47,"%");
Long2Str(SET_FREG,bbb,8);
LCD501_PutString(17,31,bbb);
LCD501_PutString(93,31,"HZ");
SpFDelINTVec(IRQ2_TB_EN);
AMReady(AM_MA);
SpFAddINTVec(IRQ2_TB_EN);
}
}
break;
case 0x42 : //6
break;
case 0x82 : //7
MY_Event.Bit.OK=1;
break;
case 0x14 : //8
break;
case 0x24 : //9
break;
case 0x44 : //10
break;
case 0x84 : //11
break;
case 0x18 : //12
if(MODE==FM)
{
SpFDelINTVec(IRQ1_TMA_EN);
FMReady(SET_FREG,Offset10K);
Long2Str(SET_FREG,bbb,8);
LCD501_PutString(17,31,bbb);
LCD501_PutString(93,31,"HZ");
LCD501_PutString(17,47,"Offset10K");
SpFAddINTVec(IRQ1_TMA_EN);
}
break;
case 0x28 : //13
if(MODE==FM)
{
SpFDelINTVec(IRQ1_TMA_EN);
FMReady(SET_FREG,Offset5K);
Long2Str(SET_FREG,bbb,8);
LCD501_PutString(17,31,bbb);
LCD501_PutString(93,31,"HZ");
LCD501_PutString(17,47,"Offset 5K");
SpFAddINTVec(IRQ1_TMA_EN);
}
break;
case 0x48 : //14
if(MODE==SINE)
{
SINE_SET_INPUT_MODE=2;
INPUT_SINE();
}
else if(MODE==AM)
{
SINE_SET_INPUT_MODE=1;
INPUT_SINE();
}
break;
case 0x88 : //15
if(MODE==SINE)
{
SINE_SET_INPUT_MODE=1;
INPUT_SINE();
}
else if(MODE==AM)
{
INPUT_AM(); //設定ma 10%~100% 步進10%
SpFDelINTVec(IRQ2_TB_EN);
AMReady(AM_MA);
SpFAddINTVec(IRQ2_TB_EN);
}
else if(MODE==FM)
{
SINE_SET_INPUT_MODE=1;
SpFDelINTVec(IRQ1_TMA_EN);
INPUT_SINE();
FMReady(SET_FREG,Offset10K);
SpFAddINTVec(IRQ1_TMA_EN);
}
break;
default:
break;
}
if(MY_Event.Bit.OK)
{
MY_Event.Bit.OK=0;
if(MODE==AM)
SpFDelINTVec(IRQ2_TB_EN);
if(MODE==FM)
SpFDelINTVec(IRQ1_TMA_EN);
ReturnTOSUBMENU();
N_M_BEGAINFUNC();
break;
}
SpSTimeDly(1);
}
}
void Sine_Sub_FUNC()
{
int iii;
MODE=SINE;
LCDMENUDROW();
Sub_FUNC_MENU();
}
void Psk_Sub_FUNC() //Psk 100k固定頻率載波
{
Uint bbb[8];
MODE=PSK;
LCDMENUDROW();
SET_FREG=100000;
SendFreq(SET_FREG);
Long2Str(SET_FREG,bbb,8);
LCD501_PutString(17,31,bbb);
LCD501_PutString(93,32,"HZ");
Sub_FUNC_MENU();
}
void Ask_Sub_FUNC() //ask 100k固定頻率載波
{
Uint bbb[8];
MODE=ASK;
LCDMENUDROW();
SET_FREG=100000;
SendFreq(SET_FREG);
Long2Str(SET_FREG,bbb,8);
LCD501_PutString(93,32,"HZ");
LCD501_PutString(17,31,bbb);
Sub_FUNC_MENU();
}
void FM_Sub_FUNC() //FM 要求100K-10MHZ
{
Uint bbb[8];
MODE=FM;
LCDMENUDROW();
SET_FREG=100000;
FMReady(SET_FREG,Offset10K);
Long2Str(SET_FREG,bbb,8);
LCD501_PutString(17,31,bbb);
LCD501_PutString(93,32,"HZ");
SpFAddINTVec(IRQ1_TMA_EN);
Sub_FUNC_MENU();
}
void AM_Sub_FUNC() //AM 要求范圍 1MHZ-10MHZ
{
Uint bbb[8];
MODE=AM;
LCDMENUDROW();
AMReady(AM_MA);
SET_FREG=1000000;
SendFreq(SET_FREG);
Long2Str(SET_FREG,bbb,8);
LCD501_PutString(17,31,bbb);
LCD501_PutString(93,32,"HZ");
SpFAddINTVec(IRQ2_TB_EN);
Sub_FUNC_MENU();
}
void LOGIN()
{
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -