?? 59054庫函數api說明.c
字號:
'P':設置為脈沖方式撥號,缺省為脈沖方式
'T':設置為音頻方式撥號
D. char dial_response(void)
功能: 判斷撥號結果
入口: 無
出口: EXIT=0 撥號未完成
'S': 同步撥號成功
'F': 電話號碼含非法字符
'P': 并接電話正在使用
'E': 同步連接失敗
'1': 異步300bps連接
'5': 異步1200bps連接
'9': 異步2400bps連接
'3': 無載波
'7': 忙音
'6': 無撥號音
'8': 外線無撥號音
注: 1。dial_response應與dial配對使用,當dial函數的參數為
ATD電話號碼時,且返回值為S后,調用dial_response函
數,以判斷撥號結果。
2。當調用dial_response,返回'6'時,POS不掛斷,自動檢測
電話線路,直至出現撥號音,繼續后續撥號操作,此間
dial_response的返回值一直為'6'。應用程序若要重撥,
可不必再次調用dial函數,只要不斷調用dial_response
函數,判斷撥號結果。如果dial_response返回一直為'6',
要放棄此次撥號,可調用dialoff.
3。除了'6'外的非成功撥號結果,重撥應再次調用dial函數。
4。返回'S','1','5','9'為成功,別的返回值為失敗。
E. char get_line_status(void);
功能: 取得當前線路狀態值,用于通訊出現異常時(如接收超時〕
判斷線路是否仍正常聯接,避免不必要的重發
入口: 無
出口: 'O'--掛機
'S'--線路正常連接
'D'--正在撥號
'3'--線路中斷
F.char sendasys(int LEN,char *STR)
功能: 向MODEM口發送數據
入口: (STR)->發送緩沖區頭指針
(LEN)->發送數據長度
出口: 'S'--發送成功
'E'--失敗
G.int readasys(char *STR,char SECONDS,int LEN)
功能: 從MODEM口接收數據
入口: (STR)->接收緩沖區頭指針
(SECONDS)->等待接收時限 (1-255秒)
(LEN)->需接收數據長度
出口: EXIT=0 超時未收到數據
=-1 在時限內線路中斷
=其它 實際接收到的數據個數
H.void init_leased(char BPS, PAR,DBS)
功能: 以專線聯接方式初始化MODEM口
入口: BPS=通訊速率 (1/2=1200/2400BPS)
PAR=奇偶校驗 'N'=無效驗
'E'=偶效驗
'O'=奇效驗
DBS=數據位 (7/8)
出口: 無
I. char connect(void)
功能: 判斷專線聯接狀況
入口: 無
出口: =E 聯接失敗
=S 線路聯通
J.void init_sdlc(char BPS,SDSD,SST)
功能: 以同步聯接方式初始化MODEM口,目前僅用于連NAC6同步
入口: BPS=通訊速率 (1=1200BPS)
SDSD=站地址 (48)
SST=重發次數 (5)
出口: 無
K.char sendsdlc(int LEN,char *STR)
功能: 向MODEM口以同步方式發送數據,用于NAC6同步,和專線
入口: (STR)->發送緩沖區頭指針
(LEN)->發送數據長度
出口: EXIT=‘S’ 發送成功
='E' 發送失敗
='F' 發送長度錯 (1-512bytes)
L.int readsdlc(char *STR,char SECONDS)
功能: 從MODEM口以同步方式接收數據,用于NAC6同步,和專線
入口: (STR)->接收緩沖區頭指針
(SECONDS)->等待接收時限 (1-255秒)
出口: EXIT=0 超時未收到數據
>0 實際接收到的數據個數
M. char init_nac6_leased(char sub_station_num,char sst);
功能: 以與nac6專線同步方式初始化modem口
入口: sub_station_num->站號(30H-37H)
sst->重發次數(5)
出口: EXIT=S 成功
=E 失敗
N. void dialoff(void)
功能: 掛斷線路或X.25拆鏈,掛斷后若重撥應在1秒以后。
O. 增加對子POS異步發送數據包中的0x04自動轉義功能。
P. 減少同步握手時間。
Q. 網控器同步鏈路支持無限時聯接
R. void initx25(char *source_ad,char *dest_ad,char signal_grp,unsigned char signal_num,int packet_len,char bit_flag);
功能:初始化X.25通信參數
入口:*source_ad原地址指針
*dest_ad目的地址指針
signal_grp邏輯信道群號
signal_num邏輯信道號
packet_len分組包長
bit_flag bit0=1 D=1
bit1=1 Q=1
出口:無
S.char x25leasedhandshake(void)
功能:執行專線x.25的握手
入口:無
出口:’S’ 握手成功
‘L’ LAPB層握手失敗/4ch
-1 ----接收/發送無載波
0 ---- 接收數據長度為0
1 ----Signal_Group錯
2 ----Signal_Number錯
‘E’ ----發送完畢無載波45H
‘G’ ----發送成功無載波 47H
‘F’ -----發送長度錯 46H
‘R’ -----接收響應錯 52H
‘C’ -----對方無法連接 43H
T.char sendx25(int len,char *str)
功能:發送x.25數據
入口:len 發送長度
*str 發送數據buf
出口:’S’ 發送成功
‘E’ 發送完畢無載波
‘G’ 發送成功無載波
‘F’ 發送長度錯
‘R’ 接收響應錯
-1 發送時無載波
U.int readx25(char *str,unsigned char time)
功能:接收x.25數據
入口:*str 接收buf
time 接收定時
出口:-1 接收無載波
0 接收定時超出
>0 接收的實際數據長度
V.char disconnectx25(void)
功能:X.25分組層掛斷
入口:無
出口: 'S' 拆鏈成功
'E' ----發送完畢無載波
'G' ----發送成功無載波
'F' ----發送長度錯
'R' 接收響應錯
-1 接收無載波
0 接收定時超出
3. RS485口
(1)初始化485口
void init_rs485(char BPS,char TOKEN)
功能: 設置子POS的RS485通訊參數
入口: BPS=速率 =2 2400BPS
=3 4800BPS
=4 9600BPS
=5 14.4KBPS
=6 28.8KBPS
TOKEN=POS令牌號(2--32,不可重復)
出口: 無
void NAC_init_rs485(char bps)
功能:初始化母POS的RS485口
入口:bps-485口的傳輸速率
2-2400BPS
3-4800BPS
4-9600BPS
5-14.4KBPS
6-28.8KBPS
出口:無
說明:當母POS本身需要作為子POS通信時,TOKEN固定為1。
void NAC_set_timeout(unsigned char to1,unsigned char to2,unsigned char to3);
功能:母POS超時時間設置
入口:to1-下鏈無通信請求掛斷上鏈超時時間(>30S),默認為60S
to2-撥號成功后下鏈無數據掛斷下鏈超時時間(3~25S),默認為10S
to3-掛斷延遲時間(8~30S),默認為12S
出口:無
(2)通過RS485網控卡/器異步通訊
A.void init_nac_232(char BPS,PAR,DBS,STBS)
功能: 按規定的通信參數初始化NAC495的RS232口
設置485口通過NAC495的232口進行通訊
入口: BPS=通訊速率 (3/4/5/6=4800/9600/14400/28800BPS)
PAR=奇偶校驗 'N'=無效驗
'E'=偶效驗
'O'=奇效驗
DBS=數據位 (7/8)
STBS=停止位 (1/2)
出口: 無
B.void init_nac_dial(char BPS, PAR, DBS, STBS,NOFF)
功能: 以異步撥號聯接方式初始化NAC495的MODEM口
設置590的RS485口通過NAC495的MODEM口進行通訊
入口: BPS=通訊速率 (1/2=1200/2400BPS)
PAR=奇偶校驗 'N'=無效驗
'E'=偶效驗
'O'=奇效驗
DBS=數據位 (7/8)
STBS=停止位 (1/2)
NOFF=掛斷選擇 0->不掛斷
1->掛斷
出口: 無
C.void init_nac_leased(char BPS, PAR, DBS,STBS, char NOFF)
功能: 以異步專線聯接方式初始化NAC495的MODEM口
設置590通過NAC495的MODEM口進行專線通訊
入口: DPS=通訊速率 (1/2=1200/2400BPS)
PAR=奇偶校驗 'N'=無效驗
'E'=偶效驗
'O'=奇效驗
DBS=數據位 (7/8)
STBS=停止位 (1/2)
NOFF=是否掛斷 1->掛斷
0->不掛斷
出口: 無
D.void sendrs485(int len,char *str)
功能: 把數據送往NAC495
(適用于異步通訊)
入口: (str)->發送緩沖區頭指針
(len)->發送數據長度(len>0)
出口: 無
E.char readrs485(char *str,char seconds,
char len)
功能: 從NAC495接收數據
(適用于異步通訊)
入口: (str)->接收緩沖區頭指針
(seconds)->等待接收時限 (秒)
(len)->需接收數據長度
出口: EXIT=0 超時未收到數據
=其它 實際接收到的數據個數
F.void init_nac_T3POS(char time1,char time2,char *str1,char *str2,char flag)
功能: 以T3POS聯接方式初始化NAC495的MODEM口
設置590通過NAC495的MODEM口進行通訊
入口: timer1=子POS與495的聯接時間
timer2=495與主機的聯接時間
*str1=建鏈字符串
*str2=拆鏈字符串
flag=T3POS標志 '1'=非永久保持
'0'=永久保持
出口: 無
注:T3POS使用一例:
init_rs485(BPS,TOKEN);
init_nac_T3POS(time1,time2,*str1,*str2,flag);
接下來可調用sendrs485,readrs485,通過495與主機進行通訊.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -