📄 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 + -