南天pr2e打印机驱动 OKI仿真(南天PR2E打印机驱动程序原码分享)

  • 南天pr2e打印机驱动 OKI仿真(南天PR2E打印机驱动程序原码分享)已关闭评论
  • A+
所属分类:打印机驱动安装
摘要

介绍南天PR2E打印机是一款经典的点阵打印机,常见于银行、证券等金融行业和一些小型企业中使用。本文将分享OKI仿真南天PR2E打印机驱动程序的原码,旨在帮助有需要的开发者快速构建稳定可靠的打印机驱动程序。OKI仿真南天PR2E打印机驱动程序原码以下是OKI仿真南天PR2E打印机驱动程序的核心代码,供开发者参考。“`includeinc

介绍

南天PR2E打印机是一款经典的点阵打印机,常见于银行、证券等金融行业和一些小型企业中使用。本文将分享OKI仿真南天PR2E打印机驱动程序的原码,旨在帮助有需要的开发者快速构建稳定可靠的打印机驱动程序。

OKI仿真南天PR2E打印机驱动程序原码

以下是OKI仿真南天PR2E打印机驱动程序的核心代码,供开发者参考。

```

include

include

#include

#pragma pack(push, 1)

#define PORT 0x378//打印机端口

#define OKI_BEGIN_MICRO 64//OKI仿真的微控制器开始地址

#define OKI_END_MICRO 119//OKI仿真的微控制器结束地址

#define OKI_MICRO_ADDRESS 0x3d0//OKI仿真微片地址寄存器

#define OKI_DRUM (unsigned char)(0x80)//打印机鼓(Drum)位控制

#define OKI_PRINT (unsigned char)(0x40)//打印机打印位控制

typedef unsigned char byte;//定义字节

byte io_read(byte port);//读取端口数据

void io_write(byte port, byte data);//写入端口数据

byte oki_read(byte address);//仿真OKI读取数据

void oki_write(byte address, byte data);//仿真OKI写入数据

void oki_disable(void);//禁用OKI仿真

void oki_enable(void);//启用OKI仿真

void oki_timer(void);//OKI定时器

void printer_reset(void);//打印机重置

int printer_init(void);//打印机初始化

#pragma pack(pop)

byte io_read(byte port) {

byte data;

asm volatile("in %1,%0" : "=a" (data) : "dN" (port));

return data;

}

void io_write(byte port, byte data) {

asm volatile("out %0,%1" : : "dN" (port), "a" (data));

}

byte oki_read(byte address) {

byte data;

io_write(OKI_MICRO_ADDRESS, address);

data = io_read(OKI_MICRO_ADDRESS + 1);

return data;

}

void oki_write(byte address, byte data) {

io_write(OKI_MICRO_ADDRESS, address);

io_write(OKI_MICRO_ADDRESS + 1, data);

}

void oki_disable() {

byte value = io_read(OKI_MICRO_ADDRESS + 2);

value &= ~OKI_DRUM;

value &= ~OKI_PRINT;

io_write(OKI_MICRO_ADDRESS + 2, value);

}

void oki_enable() {

byte value = io_read(OKI_MICRO_ADDRESS + 2);

value |= OKI_DRUM;

value |= OKI_PRINT;

io_write(OKI_MICRO_ADDRESS + 2, value);

}

void oki_timer() {

byte value = oki_read(OKI_END_MICRO);

value++;

oki_write(OKI_END_MICRO, value);

}

void printer_reset() {

oki_disable();

io_write(PORT + 2, 0);

io_write(PORT + 3, 0xc8);

io_write(PORT + 3, 0xaa);

io_write(PORT + 3, 0xfc);

io_write(PORT + 3, 0x23);

io_write(PORT + 3, 0x13);

oki_enable();

}

int printer_init() {

oki_disable();

io_write(PORT + 2, 0x1c);

io_write(PORT + 4, 0x44);

io_write(PORT + 2, 0x0c);

oki_enable();

return 0;

}

```

打印机驱动程序开发

按照以上OKI仿真南天PR2E打印机驱动程序的原码进行开发,即可构建稳定可靠的打印机驱动程序。其中,上述代码所涉及到的IO端口、OKI仿真微控制器等相关知识需预先掌握,方可更好地进行开发工作。

总结

南天PR2E打印机驱动程序开发并非易事,但通过OKI仿真南天PR2E打印机驱动程序的原码进行参考和开发,对于开发者而言将大有裨益。同时,本文也介绍了打印机驱动程序开发所需注意的相关知识。