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

📄 comm.h

📁 LP830 无线识别卡 读写程序demo
💻 H
字号:
/*
 * Include file for IBM PC comm.c routines
 */

/* Defines */

#ifndef    NULL
#define    NULL    0
#endif

#define OP_OK                 0  // TAG Operation successful.

// General Antenna communication error codes:
#define COMM_ER1           0xF0  // Mask for any Antenna communication error
#define COMM_FAIL          0xff  // Waiting for a valid packet, timeout, no response.
#define COMM_INV           0xF1  // Received an invalid packet.  Close but not quite.
#define COMM_ERR           0xf2  // Could not authenticate what was received..

#define MIN_COM        1     // Minimum smallest COM port number allowed.
#define MAX_COM        2     // Largest COM port number allowed.

typedef unsigned char uchar;
typedef unsigned int uint;

#define XOFF       0x13    /* XON/XOFF */
#define XON        0x11

// Line Control Register value.  
// The bit mask meaning is stated below.
// 0x01 - Word length: least significant bit.
// 0x02 - Word length: most significant bit.
// 0x04 - Stop bits?
// 0x08 - Parity enable?
// 0x10 - Parity select.
// 0x20 - Parity one.
// 0x40 - Break.
// 0x80 - Divisor latch access bit.

// UART controll register values.
#define WORD_LENGTH   0x03   /* Word length bits.          */
#define WORD_FIVE     0x00   /* Five data bits.            */
#define WORD_SIX      0x01   /* Six data bits.             */
#define WORD_SEVEN    0x02   /* Seven data bits.           */
#define WORD_EIGHT    0x03   /* Eight data bits.           */
#define TWO_STOP_BITS 0x04   /* Two stop bits?             */
#define PARITY_EN     0x08   /* Parity enable?             */
#define EVEN_PARITY   0x10   /* Parity select.             */
#define PARITY_ONE    0x20   /* Parity one.                */
#define SET_BREAK     0x40   /* Break.                     */
#define DIV_LATCH     0x80   /* Divisor latch access bit.  */
 
#if TEST_MUX32
extern BYTE now_mux_addr;      // Current MUX32 address to send and receive commands.
#endif

extern void set_cont_reg(int, unsigned char);
extern void new_soft_hand(int);
extern int soft_handshaking(void);
extern void xoffed(void);
extern void xoned(void);
extern int xoff_sent(void);

extern void comm_close(void);
extern void comm_flush(void);
extern void comm_putc(uchar);
extern int comm_open(int, long unsigned int, unsigned char);
extern int comm_avail(void);
extern int comm_getc(void);

// ****************************************************************************
// Get the number of requested bytes form COMX.  Handle
// the interface with Intermec Application Development Tools.
// In particular, take what im_receive_buffer() gives us and try to get enough.
//
// Input:        Pointer to a buffer big enough for the number of bytes wonted.
//               The number of bytes being requested. How many wonted.
//               Units of 100ms for im_receive_buffer() timeout.
// Return:       BOOLEAN - TRUE, got requested number of bytes.
//                         FALSE, did NOT get the requested number of bytes.
// Side effects: None.
extern int com_rec_buf(BYTE *gotten_bytes, WORD wonted, WORD timeout);

// ****************************************************************************
// Send out data stream through serial port 
//   
// Input:        Pointer to bytes to be transmitted our COMX.
//               Number of bytes to be transmitted.
// Return:       None.
// Side effects: None.
void SendStream (BYTE *tx_buf, WORD data_size);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -