#define BARCODE_RTS P4OUT_bit.P6 //根据硬件来修改,对应于host的RTS,条码器的CTS
/***********************************************************
* 函 数:BarCodeInit
* 输入参数: 无
* 输出参数:无
* 返 回: 无
* 描 述: 条码模块初始化函数,在串口初始化完成后调用
*************************************************************/
void BarCodeInit(void)
{
INT8U CMDBarcode0[] ={0X07,0XC6,0X04,0X00,0XFF,0X8A,0x08,0xFD,0x9E};//设为host模式,方便接收指令
INT8U CMDBarcode1[] ={0X07,0XC6,0X04,0X00,0XFF,0X80,0x00,0xFD,0xB0};//设为不进入休眠模式,将power mode设置为continuous on
INT8U CMDBarcode2[] ={0X07,0XC6,0X04,0X00,0XFF,0X9F,0x00,0xFD,0x91};//disable ACK
BARCODE_RTS = 0 // 端口支持位操作时使用
//temp = BARCODE_RTS; //端口不支持位操作时使用
//BARCODE_RTS = temp & 0bxxxx0xx
TimeDelay(1); //1ms
BARCODE_RTS = 0
SendUartBuf(CMDBarcode0, 9); //发送函数根据实际情况修改
TimeDelay(5); //5ms
SendUartBuf(CMDBarcode1, 9);
TimeDelay(5); //5ms
SendUartBuf(CMDBarcode2, 9);
TimeDelay(5); //5ms
}
/***********************************************************
* 函 StartBarCode
* 输入参数: 无
* 输出参数:无
* 返 回: 无
* 描 述: 启动扫描条码
*************************************************************/
void StartBarCode(void)
{
INT8U CMDBarcode0[6] ={0X04,0XE4,0X04,0X00,0XFF,0X14};
SendUartBuf(CMDBarcode0, 6); //发送函数根据实际情况修改
}
原文:http://www.cnblogs.com/sunlyk/p/7484611.html