cable.c

来自「汽车电子解码器电缆测试。可以判断汽车故障在哪里」· C语言 代码 · 共 57 行

C
57
字号
/******************************************************************************************
 *  目的:电缆模块
 *  功能:基本电缆选通功能
 *  模块依赖:电缆选角定义
 ******************************************************************************************/

#define  SETFUNADDR   (*(unsigned char volatile __xdata *)(0xFF07))
#define  SETCHANADDR     (*(unsigned char volatile __xdata *)(0xFF03))	

__sfr __no_init volatile union
{
  unsigned char P1; /* Port 1 */
  struct /* Port 1 */
  {
    unsigned char SDA : 1;
    unsigned char SCL : 1;
    unsigned char LINE : 1;
    unsigned char XMIT1A : 1;
    unsigned char XMIT1B : 1;
    unsigned char RCV1 : 1;
    unsigned char XMIT2 : 1;
    unsigned char RCV2 : 1;
  } P1_bit;
} @ 0x90;

/*
**-------------------------------------------------------------------------------------
** 电缆驱动
** 16PIN-L线7脚对应并口25PIN-24脚
** 16PIN-K线15脚对应并口25PIN-12脚
** chan : 1 - 16PIN 01 脚
          2 - 16PIN 03 脚
          3 - 16PIN 07 脚
          4 - 16PIN 08 脚
          5 - 16PIN 09 脚
          6 - 16PIN 11 脚
          7 - 16PIN 12 脚
** LineSet :
**-------------------------------------------------------------------------------------
*/
void ChanSet(unsigned char chan,unsigned char LineSet)
{
     SETFUNADDR=0x80;
     SETCHANADDR=0x0F&chan;

     if(LineSet)
     {
        P1_bit.LINE=1;
     }
     else
     {
        P1_bit.LINE=0;
     }
}

//----------------------------------------------------------------- End Of File --------

⌨️ 快捷键说明

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