微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

更新8051F340的Season界面

如何解决更新8051F340的Season界面

我正在尝试恢复Season界面。就是这样的智能卡模拟器。它的行为完全类似于智能卡或SIM卡。

将其插入阅读器的插槽中,并在电源重置后向阅读器发出ATR响应,然后阅读器也准备使用APDU命令进行通信。

通过串口以9600 N-8-1的速度建立交换。

Season连接了三根线RX TX和Reset。

复位也是电源复位,我通过中断将LED值更改为其IO端口之一来看到。

但是后来我停了下来。我需要在40,000个周期的时间内通过端口发送12个十六进制,但读者看不到我,也没有任何反应。

任何人都仍然可以使用Season界面的源代码吗?

或者您对如何克服它有任何想法?

中断(P00)被焊接到DB9的第一段,这也是读取器的复位。

在中断时,我的LED1开关。当我将Season插入阅读器并且在阅读器控制程序中设置了reset时,就会发生这种情况。

//-----------------------------------------------------------------------------
// MAIN Routine
//-----------------------------------------------------------------------------
void main (void)
{
     char atr[16] = {0x3B,0xF7,0x11,0x00,0x40,0x96,0x70,0x07,0x0E,0x6C,0xB6,0xD6}; 
   PCA0MD &= ~0x40;                    // disable Watchdog timer
   Oscillator_Init();                  // Initialize the system clock
   Port_Init ();                       // Initialize crossbar and GPIO
   Ext_Interrupt_Init();               // Initialize External Interrupts
   EA = 1;
     if(!LED1) {
            uart_tx(0x3B);
            uart_tx(0xF7);
            uart_tx(0x11);
            uart_tx(0x00);
            uart_tx(0x40);
            uart_tx(0x96);       
     }
     
   while(1);
}

//
void uart_msg(unsigned char *c) {
        while(*c != 0) {
                uart_tx(*c++);
        }
}


void uart_tx(unsigned int sdata) {
        while(!TI0);
        SBUF0 = sdata;
        while(!TI0);
        TI0 = 0;
}

//-----------------------------------------------------------------------------
void INT0_ISR (void) interrupt 0
{
   LED1 = !LED1;
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。