tm51.c

来自「在NEC78K0513上做的一个232红外互相转换的程序,可以帮助了解NEC芯片」· C语言 代码 · 共 57 行

C
57
字号
#pragma interrupt   INTTM51    MD_INTTM51



#define TM51_GLOBALS



#include "includes.h"



TM51_EXT void Tm51Init (void)
{
    TMC51 = 0x00;
    TCL51 = 0x07;
    CR51  = 25;

    TMMK51 = 0;                                                                 /*允许超时中断*/
    TMPR51 = 1;                                                                 /*低优先级*/
}



TM51_EXT void Tm51Open (void)
{
    TMC51 |= 0x80;
}



TM51_EXT void Tm51Close (void)
{
    TMC51 &= 0x7f;
}




__interrupt void MD_INTTM51 (void)
{
    TimeOut --;
    if (0 == TimeOut){                                                          /*如果超时了,即接收结束*/
        Tm51Close();                                                            /*关超时定时器*/

        if (1 == Uart0_RcvFlag){                                                /*如果PC机的数据接收完毕*/
            Uart0_RcvFlag  = 0;
            Ir_SendFlag    = 1;
        }else if (1 == Ir_RcvFlag){                                             /*如果红外数据接收完毕*/
            Ir_RcvFlag     = 0;
            Uart0_SendFlag = 1;
        }
    }
}


⌨️ 快捷键说明

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