⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 59054库函数api说明.c

📁 利用POS机具硬件改为条纹码扫描器的编程代码
💻 C
📖 第 1 页 / 共 4 页
字号:
                        '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 + -