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

📄 printer.c

📁 在ARM7和UC/OSII的平台上实现了GPS自动报站的功能,涉及GPS模块LEA_4S的驱动,位置速寻算法,语音芯片ISD4004的录放音驱动,LED页面管理等等.从启动代码到操作系统的移植以及到业
💻 C
字号:
/****************************************************************
**                                                              *
**  FILE         :  Printer.C                                   *
**  COPYRIGHT    :  (c) 2001 .Xiamen Yaxon NetWork CO.LTD       *
**                                                              *
**                                                              *
**  By : CCH 2002.1.15                                          *
****************************************************************/
#include "includes.h"
#include "bsp.h"
#include "tools.h"
#include "pdumode.h"
#include "printer.h"


#define LINECHAR                            16



void FormatPrintDataBlock(INT8U format, INT8U uartno, INT8U *data, INT16U datalen)
{
    INT16U i, j, len, startpos;
    
    len      = LINECHAR;
    startpos = 0;
    for (i = 0; i < datalen; i++) {
        SendFromUART_BYTE(uartno, HexToChar(data[i] >> 4));
        SendFromUART_BYTE(uartno, HexToChar(data[i]));
        PrintFromUART(uartno, " ");
        len--;
        
        if (len == 0) {
            if (format != FORMAT_HEX) {
                PrintFromUART(uartno, "     ");
                SendFromUART_BYTE(uartno, '\'');
                for (j = 0; j < LINECHAR; j++) {
                    switch (format)
                    {
                       // case FORMAT_GSMCODETOASCII:
                        //    SendFromUART_BYTE(uartno, GsmCodeToASCII(data[startpos + j]));
                       //     break;
                      //  case FORMAT_ASCIITOGSMCODE:
                       //     SendFromUART_BYTE(uartno, ASCIIToGsmCode(data[startpos + j]));
                       //     break;
                        case FORMAT_ASCII:
                        default:
                            SendFromUART_BYTE(uartno, data[startpos + j]);
                    }
                }
            }
            len      = LINECHAR;
            startpos = i + 1;
            PrintFromUART(uartno, "\n");
        }
    }
    
    if (len < LINECHAR) {
        if (format != FORMAT_HEX) {
            for (j = 1; j <= len; j++) {
                PrintFromUART(uartno, "   ");
            }
            PrintFromUART(uartno, "     ");
            SendFromUART_BYTE(uartno, '\'');
            for (j = 1; j <= (LINECHAR - len); j++) {
                switch (format)
                {
                   // case FORMAT_GSMCODETOASCII:
                   //     SendFromUART_BYTE(uartno, GsmCodeToASCII(data[startpos + j - 1]));
                   //     break;
                   // case FORMAT_ASCIITOGSMCODE:
                   //     SendFromUART_BYTE(uartno, ASCIIToGsmCode(data[startpos + j - 1]));
                   //     break;
                    case FORMAT_ASCII:
                    default:
                        SendFromUART_BYTE(uartno, data[startpos + j - 1]);
                }
            }
        }
        PrintFromUART(uartno, "\n");
    }
}

⌨️ 快捷键说明

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