基于ARM9和Linux的嵌入式打印終端系統
同時查看打印機的電路手冊和管腳定義,選用其STB選通線、ACK回答脈沖線、BUSY線、DATA0-DATA7數據線來與開發板的GPIO口相連,并初始化高低電平值。為了避免接線過緊互相干擾,制作一個接口板定義各引腳連接如圖3所示。
至此,硬件的電路設計及連接基本完成。
軟件平臺采用的是基于2.4內核的嵌入式Linux系統。采用的交叉編譯器工具包為CROSS2.95.3.tgz(包含arm-linux-gcc等)。
3.1 打印機驅動的編寫
Linux的設備分為塊設備,字符設備和網絡設備,該系統使用到的微型打印機屬于字符設備,下面將具體說明如何設計打印機驅動。
3.1.1 定義設備名
#define DEVICE_NAME weida_printer
3.1.2 模塊函數設計
在該系統中,采用模塊化加載驅動程序的方法,因此必須實現模塊的初始化函數和卸載函數。采用devfs方式注冊打印機。
初始化函數weida_init通過devfs_register函數向系統注冊設備。
函數原型devfs_register(NULL, DEVICE_NAME, DEVFS_FL_DEFAULT, 0, 0, S_IFCHR | S_IRUSR | S_IWUSR, weida_printer_fops, NULL);
其中,DEVICE_NAME為主設備名,weida_printer_fops為定義的一個數據結構,用來實現的文件操作,包括open、close、write等。
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)linux相關文章:linux教程
三維掃描儀相關文章:三維掃描儀原理
評論