📄 rmcon.lst
字号:
C51 COMPILER V7.50 RMCON 12/14/2005 10:05:35 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE RMCON
OBJECT MODULE PLACED IN .\OBJ\rmcon.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE rmcon.c LARGE OPTIMIZE(9,SIZE) BROWSE PRINT(.\LST\rmcon.lst) OBJECT(.\OBJ\r
-mcon.obj)
line level source
1 //==========================================================
2 //
3 // Filename: RMCON.C
4 //
5 // Description: For receiving the remote control input values
6 // through the UART 0
7 //
8 //==========================================================
9
10 #include "types.h"
11 #include "8052reg.h"
12 #include <stdio.h>
13 #include "sio.h"
14 #include "rmcon.h"
15 #include "eprom.h"
16 #include "gosd.h"
17 #include "gio.h"
18 #include "lib.h"
19
20
21 /*
22 X_FFAST 0x00 @
23 X_CH1 0x01 A
24 X_CH2 0x02 B
25 X_CH3 0x03 C
26 X_CH4 0x04 D
27 X_CHALL 0x05 E
28 X_REC 0x06 F
29 X_RFAST 0x07 G
30 X_STOP 0x08 H
31 X_PAUSE 0x09 I
32 X_REZ01 0x0a J
33 X_PLAY 0x0b K
34 X_MENU 0x0c L
35 X_UPRT 0x0d M
36 X_DNLT 0x0e N
37 X_SELECT 0x0f O
38 */
39
40 #ifdef DISPLAY_IP_ADDRESS
/////////// RX & display //////////
xdata u8 gv_rm_IPC_RX_flag = 0;//0:no act, 1:RX start,send response 2:wait recieve
xdata u8 gv_rm_IPC_RX_cnt = 0;// 0:IP Address, 1:SumMask, 2:Gateway, 3:DNS
xdata u8 gv_rm_IPC_flag = 0;
xdata u8 gv_rm_IPC_cnt = 0;
/////////// TX ////////////////////
xdata u8 gv_IPC_TX_flag = 0;//0:no act,
//1:send start char,wait response,
//2:TX start,
//3:TX ok,wait gs501 response,
//XX4:check sum,wait response.
xdata u8 gv_IPC_TX_cnt = 0;
xdata u8 gv_IPC_TX_cnt01 = 0;
xdata u8 gv_IPC_TX_cnt02 = 0;
C51 COMPILER V7.50 RMCON 12/14/2005 10:05:35 PAGE 2
//xdata u8 gv_IPC_TX_checksum = 0;
/////////////////////////////////////
xdata u8 gv_IPC_Change_flag = 0;
extern xdata u8 gv_depth_3_menu;
#endif
62
63 #ifdef RE_CON
64 xdata u8 gv_rm_key = 0x00;
65 xdata u8 gv_rm_key_flag = 0x00;
66
67 //===========================================================
68 //
69 //===========================================================
70 void rmcon_process(void)
71 {
72 1 xdata u8 size;
73 1 xdata u8 ch = 0;
74 1 #ifdef DISPLAY_IP_ADDRESS
xdata u8 strbuf[10];
#endif
77 1
78 1 size = sio_rbuflen();
79 1 if(size!=0)
80 1 {
81 2 ch = sio_getchar();
82 2 if((ch & 0xF0)==0xE0) // remote control key value
83 2 {
84 3 rmcon_sendkey( ch );
85 3 }
86 2 #ifdef DISPLAY_IP_ADDRESS
else if((ch & 0xF0)==0xD0 && gv_rm_IPC_RX_flag == 1) // remote control IP protocal value
{//recieve address
if(gv_rm_IPC_flag % 2)
{
switch(gv_rm_IPC_RX_cnt)
{
case 0:
Val_EPROM_rm_IP[gv_rm_IPC_cnt]= (ch<<4) & 0xF0 ;
break;
case 1:
Val_EPROM_rm_SumMask[gv_rm_IPC_cnt]= (ch<<4) & 0xF0 ;
break;
case 2:
Val_EPROM_rm_Gateway[gv_rm_IPC_cnt]= (ch<<4) & 0xF0 ;
break;
case 3:
Val_EPROM_rm_DNS[gv_rm_IPC_cnt]= (ch<<4) & 0xF0 ;
break;
}
}
else
{
switch(gv_rm_IPC_RX_cnt)
{
case 0:
Val_EPROM_rm_IP[gv_rm_IPC_cnt] |= (ch & 0x0F);
break;
case 1:
Val_EPROM_rm_SumMask[gv_rm_IPC_cnt] |= (ch & 0x0F);
break;
C51 COMPILER V7.50 RMCON 12/14/2005 10:05:35 PAGE 3
case 2:
Val_EPROM_rm_Gateway[gv_rm_IPC_cnt] |= (ch & 0x0F);
break;
case 3:
Val_EPROM_rm_DNS[gv_rm_IPC_cnt] |= (ch & 0x0F);
break;
}
gv_rm_IPC_cnt++;
}
gv_rm_IPC_flag++;
if(gv_rm_IPC_flag == 9)
{
gv_rm_IPC_RX_cnt++;
gv_rm_IPC_flag = 1;
gv_rm_IPC_cnt = 0;
if(gv_rm_IPC_RX_cnt == 4)//recieve lan address ok,then wait 0xcb
{
gv_rm_IPC_RX_flag = 2;
}
}
}
else if(ch == 0xCB && gv_rm_IPC_RX_flag == 2)//recieve finished
{
r_timeout = 0;
sio_putchar( 0xBC );//send to gs501 for response recieve ok
gv_rm_IPC_RX_cnt = 0;// 0:IP Address, 1:SumMask, 2:Gateway, 3:DNS
gv_rm_IPC_RX_flag = 0;//0:no act, 1:RX start,send response 2:wait recieve
EPROM_Write_IP_Address();
gv_IPC_Change_flag |= 0x10;//LAN IP changed
Val_gv_show_rm_IP |= 0x80;//refresh ip address in monitor
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -