方法1:
while((CARD_IN)&&(p<16))
{
//读16字节
ReadMainMem(p,buff,16); //读IC卡主存
BreakOperate();
Delay10us();
for(i = 0;i <= 15; i++)
printhex(buff);
printf("\n");
}
方法2:
while((CARD_IN)&&(p<16))
{
//读16字节
ReadMainMem(p,buff,16); //读IC卡主存
BreakOperate();
Delay10us();
for(i = 0; i < 16; i ++)
{
SBUF = buff;
while(!TI);
TI=0;
}
}
void printhex(unsigned char hex)//以十六进制格式输出1个字节
{
unsigned char c;
c=hex;
c=c>>4;
printchar(c);
c=hex;
c=c&0x0F;
printchar(c);
}
请教:
我用方法1 232 串口软件里显示的:
A2131091FFFF8115FFFFFFFFFFFFFFFF
方法2 232 串口软件里显示的:
???????????
我想用方法 2 的方式把数据发到串口
数据用 10 进制的
那么 ReadMainMem(p,buff,16); //读IC卡主存
读取到的 buff 怎么处理啊?
谢谢!
很简单呐,方法1你自己转成了字符串,方法2 你得让串口软件也按16进制显示就是了。