📄 commuinfr.lst
字号:
C51 COMPILER V7.06 COMMUINFR 11/24/2008 09:37:07 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE COMMUINFR
OBJECT MODULE PLACED IN commuinfr.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE bottom\commuinfr.c LARGE OPTIMIZE(9,SIZE) BROWSE NOAREGS MODDP2 INCDIR(C:\D
-OCUMENTS AND SETTINGS\ADMINISTRATOR.LENOVO-80B42371\桌面\VANGO\程序\var\) DEBUG OBJECTEXTEND PRINT(.\commuinfr.lst) OBJE
-CT(commuinfr.obj)
stmt level source
1 /*************************************************************************************
2
3 文件类型:红外通讯模块
4 文件作用:
5 修改权限:
6 文件相关:
7
8 创 建 人:chenbo
9 创建日期:2007.06.21
10 当前版本:Ver0.1
11
12 版本信息:Ver0.1 GeminiKQ
13
14 **************************************************************************************/
15 #include "Tiger.h"
*** WARNING C318 IN LINE 15 OF bottom\commuinfr.c: can't open file 'Tiger.h'
16
17 //============================================================
18 //函数功能:初始化红外通讯模块
19 //
20 //=============================================================
21 void init_infrcomm(void)
22 { uint8 i;
*** ERROR C202 IN LINE 22 OF BOTTOM\COMMUINFR.C: 'uint8': undefined identifier
*** ERROR C141 IN LINE 22 OF BOTTOM\COMMUINFR.C: syntax error near 'i'
23 1 F_commudiv=0;
*** ERROR C202 IN LINE 23 OF BOTTOM\COMMUINFR.C: 'F_commudiv': undefined identifier
24 1 CfgPort(5,0); // P1_1初始化为GPIO口
25 1 P1OE&=0xfd; // 输出使能
26 1 P1OD|=0x02; // 输出高电平
27 1
28 1 SetIR(43,43); // 设置载波型号占空比 86
29 1 CfgEU(2,1200,11,0); // 串口号2,拨特率1200,通讯方式11位,偶校验
30 1
31 1 for(i=0;i<25;i++) // 清缓冲
32 1 buff_reddata[i]=0;
33 1
34 1 CfgPort(13,2); // P2_4作为RXD2
35 1 P2IE|=0x10; // 输入使能
36 1 // CfgPort(14,2); // // P2_5作为TXD2
37 1 CfgPort(14,0); // P2_5初始化为GPIO口
38 1 P2OE&=0xdf; // 输出使能
39 1 P2OD&=0xdf; // 输出低电平
40 1
41 1 len_infrcommdata=0;
42 1 point_infrsendaddr=0;
43 1 timedelay_infrcomm=0;
44 1 sta_infrcomm=standby_comm;
45 1 jiaoyan_typeinfr=type_enven;
46 1 SetInterrupt(8); // 打开接收中断
47 1 }
48
49 //=============================================================
C51 COMPILER V7.06 COMMUINFR 11/24/2008 09:37:07 PAGE 2
50 //函数功能:接收中断处理函数。
51 //
52 //==============================================================
53 void rec_infrcomm(void)
54 {// unsigned int i;
55 1 timedelay_infrcomm=0; // 清接收等待延时
56 1 switch (sta_infrcomm) // 当前通讯状态
57 1 {case standby_comm: // 等待状态
58 2 if((buff_intrrec&0xff)==0x68) // 全国规约开始
59 2 { sta_infrcomm=recdata_comm; // 进入接收状态
60 3 len_infrcommdata=1; // 接收到的数据个数
61 3 buff_reddata[0]=(unsigned char)buff_intrrec; // 头 68H
62 3 jiaoyan_type=type_enven; // 偶校验
63 3 type_protoclinfr=type_quanguo; // 全国规约
64 3 }
65 2 break;
66 2 case recdata_comm: // 接收状态
67 2 len_infrcommdata++; // 接收数据的个数+1
68 2 buff_reddata[len_infrcommdata-1]=(unsigned char)buff_intrrec;
69 2 break;
70 2 case hook_comm: // 挂起状态
71 2 ClrInterrupt(8); // 关接收中断
72 2 break;
73 2 default: // 出错,重新初始化
74 2 init_infrcomm();
75 2 break;
76 2 }
77 1 }
78
79 //==========================================================
80 //函数功能:发送第一个数据,开发送中断
81 //
82 //==========================================================
83 void start_sendinfr(void)
84 { //uint8 i;
85 1 timedelay_comm=0;
86 1
87 1 CfgPort(14,2); // P2_5作为TXD2
88 1 ClrInterrupt(8); // 禁止接收
89 1 SetInterrupt(7); // 开发送中断
90 1
91 1 sta_infrcomm=senddata_comm; // 处于发送状态
92 1 SendUData(buff_reddata[0],2); // 发送第一个数据
93 1 len_infrcommdata=len_infrcommdata-1;
94 1 point_sendaddr=0;
95 1 }
96
97 //==========================================================
98 //函数功能:红外发送中断相应函数
99 //
100 //==========================================================
101
102 void intrupt_sendinfr(void)
103 {//uint8 i;
104 1 timedelay_comm=0;
105 1 if(sta_infrcomm==senddata_comm)
106 1 { if(len_infrcommdata>0) //如果还未发送完毕
107 2 { len_infrcommdata=len_infrcommdata-1;
108 3 point_sendaddr++;
109 3 SendUData(buff_reddata[point_sendaddr],2);
110 3 /* //////
111 3 i=check_bitnum(buff_reddata[point_sendaddr]); // 发送奇偶校验位
C51 COMPILER V7.06 COMMUINFR 11/24/2008 09:37:07 PAGE 3
112 3 if(jiaoyan_type==type_enven) // 如果是偶校验
113 3 { if(i==0)
114 3 SCON2&=0xf7;
115 3 else
116 3 SCON2|=0x08;
117 3 }
118 3 SBUF2=buff_reddata[point_sendaddr]; //发送数据
119 3 *//////
120 3 }
121 2 else // 如果发送完毕
122 2 {
123 3 init_infrcomm();
124 3 /*
125 3 SetInterrupt(8); // 允许接收
126 3 ClrInterrupt(7); // 关发送中断
127 3 sta_infrcomm=standby_comm; // 485重新进入等待状态
128 3 CfgPort(14,0); // P2_5初始化为GPIO口
129 3 P2OE&=0xdf; // 输出使能
130 3 P2OD&=0xdf; // 输出低电平
131 3 CfgPort(13,2); // P2_4作为RXD2
132 3 P2IE|=0x10; // 输入使能
133 3 len_infrcommdata=0;
134 3 point_infrsendaddr=0;
135 3 timedelay_infrcomm=0;
136 3 sta_infrcomm=standby_comm;
137 3 jiaoyan_typeinfr=type_enven;
138 3 */
139 3 }
140 2 }
141 1 else
142 1 init_infrcomm();
143 1 }
-
-
-
-
-
-
C51 COMPILATION COMPLETE. 1 WARNING(S), 3 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -