📄 myout.c
字号:
#include "./include/myout.h"#include "./include/led.h"void send(U8 ch){ while(!(Utrstat0 & 0x4));// Delay(10); Utxh0 |= ch;}U8* change(U32 Index){ return "0123456789abcdef"+Index;}void MyOut(U8 *pszFmt,...){ U8 *pszVal; U32 iVal, xVal, i = 0, buffer[12], index = 1; U8 cVal; U32 *pArg; pArg =(U32 *)&pszFmt; while(*pszFmt) { if('%' != *pszFmt) { send(*pszFmt); pszFmt++; continue; } pszFmt++; if(*pszFmt == 's') { pszVal = (U8*)pArg[index++]; for(; *pszVal != '\0'; pszVal++) send(*pszVal); pszFmt++; continue; } if(*pszFmt == 'd') { iVal = pArg[index++]; i = 0; do{ buffer[i++] = iVal % 10; iVal /= 10; }while(iVal); while(i > 0) { i--; send(*change(buffer[i])); } pszFmt++; continue; } if(*pszFmt == 'c') { cVal = (U8)pArg[index++]; send(cVal); pszFmt++; continue; } if(*pszFmt == 'x') { xVal = pArg[index++]; i = 0; do{ buffer[i++] = xVal % 16; xVal /= 16; }while(xVal); if(i%2!=0) buffer[i++]=0; if(i<2) buffer[i++]=0; while(i > 0) { i--; send(*change(buffer[i])); } pszFmt++; continue; } if(pszFmt == '\0') { break; } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -