引用:
如果是他又是怎样让外围的硬件与打印机联系起来的呢?打印机的起始信号与应答信号他都能处理吗?很迷惑....高手指点指点
|
|
在单片机编程中,通常使用printf(...)不是将数据写入打印机中,而是将数据进行格式化处理。但是更多的是使用sprintf(....),将格式化的数据写入函数指定的字符串中。
因为printf(...)函数在运行时需要调用putchar(int value)函数,这是一个将字符写到“标准输出设备”的函数,若你想将数据写入特定的打印机,如微型打印机(在单片机中运行,而非windows中运行),那必须修改putchar(....)函数的原程序putchar.c以满足在单片机中对该打印机的起始信号、应答信号、字符点阵转换等工作进行处理。不过一般微型打印机厂家都提供相应的驱动程序供用户使用,但对于特殊应用还是需要编程的。
sprintf(....)的使用与printf(...)完全相同,不同的是在sprintf(....)中第一个形参是输出目标的字符串指针。而printf(...)函数没有这个形参,而是使用putchar(....)函数指定的标准输出设备作为输出目标。另外在运行时sprintf(....)不调用putchar(....)函数。