?? scominterrupt.lst
字號:
C51 COMPILER V7.20 SCOMINTERRUPT 11/09/2002 21:11:17 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE SCOMINTERRUPT
OBJECT MODULE PLACED IN ScomInterrupt.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ScomModule\ScomInterrupt.c BROWSE DEBUG OBJECTEXTEND PRINT(.\ScomInterrupt.
-lst) OBJECT(ScomInterrupt.obj)
line level source
1 /*#######################################################################################//
2 文件名: ScomInterrupt.c
3 功能: 串行口232接收中斷服務函數(shù)定義
4 單位: 浙江工商大學-信電學院
5 創(chuàng)建日期:2004-09-24
6 創(chuàng)建人: Houseivan
7 修改人: Houseivan
8 修改日期:2005-03-11
9 ########################################################################################*/
10 #include "Includes.h"
11
12 /*檢測是否配置了網(wǎng)絡操作功能*/
13 #if _SCOM_TASK>0
14
15 extern uchar data SlaveAddr; //本地主機地址
16 extern uchar data MasterAddr; //遠程主機地址
17 //#######################智能溫濕度監(jiān)控儀串行通訊協(xié)議簡要:##############################//
18 //#數(shù)據(jù)幀幀頭:0xEB 0x90 0xEB 0x90 0xEB 0x90
19 //#有效數(shù)據(jù)塊:主機地址 Datas(數(shù)據(jù)或命令) 數(shù)據(jù)長度 FrameNumHigh FrameNumLow CRCHigh CRCLow#
20 //#數(shù)據(jù)幀幀尾:0x7E /*SCOM空閑時保持Mark狀態(tài)即邏輯'1'*/
21 //#######################################################################################//
22 //#######################################################################################//
23 //#Name : RecUpFlg
24 //#Purpose : 接收數(shù)據(jù)結(jié)構(gòu)控制標志標志
25 //#InitialValue : 0
26 //#ValueRange : 0->255
27 //#Used By : 中斷服務函數(shù)
28 //#Notice : 文件級共享
29 //#######################################################################################//
30 extern uchar data RecUpFlg;
31 //#######################################################################################//
32 //#Name : UartHead
33 //#Purpose : 幀頭數(shù)據(jù)存放單元
34 //#InitialValue : 0
35 //#ValueRange : 0->255
36 //#Used By : 中斷服務函數(shù)
37 //#Notice : 文件級共享
38 //#######################################################################################//
39 extern uchar data UartHead;
40 //#######################################################################################//
41 //#Name : DataBlockCount
42 //#Purpose : 數(shù)據(jù)塊長度計數(shù)器
43 //#InitialValue : 0
44 //#ValueRange : 0->255
45 //#Used By : 中斷服務函數(shù)
46 //#Notice : 文件級共享
47 //#######################################################################################//
48 extern uchar data DataBlockCount;
49 //#######################################################################################//
50 //#Name : UpLeng
51 //#Purpose : 幀實際數(shù)據(jù)長度單元
52 //#InitialValue : 0xff
53 //#ValueRange : 0->255
54 //#Used By : 中斷服務函數(shù)
C51 COMPILER V7.20 SCOMINTERRUPT 11/09/2002 21:11:17 PAGE 2
55 //#Notice : 文件級共享
56 //#######################################################################################//
57 extern uchar data UpLeng;
58 //#######################################################################################//
59 //#Name : UartRecBuf
60 //#Purpose : 串行通訊數(shù)據(jù)交換緩沖器
61 //#InitialValue : 0
62 //#ValueRange : 0->255
63 //#Used By : 中斷服務函數(shù)
64 //#Notice : 文件級共享
65 //#######################################################################################//
66 extern uchar data UartRecBuf[];
67 #if(_SCOM_TEST>0)
extern uchar data TestCom;
#endif
70 extern bit RecReady; //正確的數(shù)據(jù)接收完成標志
71 //bit FrameFlg=0; //接收到幀標志
72 /*
73 UartHead, DataBlockCount, UpLeng, UartRecBuf[], CrcLeng, ParaBuf, SendBuf, WriteE2prom()
74 */
75 //#######################################################################################//
76
77 //#######################################################################################//
78 //#Function: UartService(void)
79 //#Description: 串口0中斷處理程序(RS485)
80 //#Input: 無
81 //#Output: 無
82 //#Return: 無
83 //#Others: 文件級公共函數(shù)適用于51內(nèi)核處理器UartHead:頭標志存放單元
84 /*#使用到的全局變量: 幀由命令和數(shù)據(jù)構(gòu)成、有些命令可能不帶任何數(shù)據(jù)
85 RecUpFlg-幀結(jié)構(gòu)標志 ; UartHead-幀頭數(shù)據(jù)存放單元 ;
86 UpLeng-幀實際數(shù)據(jù)長度單元 ; UartRecBuf[MaxSize]-串行通訊數(shù)據(jù)交換緩沖器
87 DataBlockCount-數(shù)據(jù)塊長度計數(shù)器;
88 */
89 //#######################################################################################//
90 //_USART0_VECT
91 void UartService() interrupt _USART0_VECT //由于51的收發(fā)中斷地址相同所以在服務函數(shù)里最好不要發(fā)送
92 {
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -