📄 386exc.cod
字号:
/*
* Copyright (c) 1995, Intel Corporation
*
* $Workfile: 386exc.cod $
* $Revision: 1.5 $
* $Modtime: Mar 20 1996 13:53:32 $
*
* Purpose:
*
*
*
*
*
* Compiler:
*
* Ext Packages:
*
*
*
*/
##COMMENT#
************* Register Editor Coding information ************
##80C386EX WRITE#
$$IFSTR$ REG_MNEM "REMAPCFG"
For programming the REMAPCFG
register use the CPU
peripheral editor screen
$$END$
$$ELSE$
outpw(@@REG_MNEM@, $%cREG_VALUE$);
$$END$
##80C386EX READ#
UserVar = inpw(@@REG_MNEM@);
##80C386EX AND#
$$IFSTR$ REG_MNEM "REMAPCFG"
For programming the REMAPCFG
register use the CPU
peripheral editor screen
$$END$
$$ELSE$
outpw(@@REG_MNEM@,inpw(@@REG_MNEM@) & $%cREG_VALUE$);
$$END$
##80C386EX XOR#
$$IFSTR$ REG_MNEM "REMAPCFG"
For programming the REMAPCFG
register use the CPU
peripheral editor screen
$$END$
$$ELSE$
outpw(@@REG_MNEM@,inpw(@@REG_MNEM@) ^ $%cREG_VALUE$);
$$END$
##80C386EX OR#
$$IFSTR$ REG_MNEM "REMAPCFG"
For programming the REMAPCFG
register use the CPU
peripheral editor screen
$$END$
$$ELSE$
outpw(@@REG_MNEM@,inpw(@@REG_MNEM@) | $%cREG_VALUE$);
$$END$
##80C386EX TESTZ#
if(!(inpw(@@REG_MNEM@) & $%cREG_VALUE$))
{
/* User Code */
}
##80C386EX TESTNZ#
if(inpw(@@REG_MNEM@) & $%cREG_VALUE$)
{
/* User Code */
}
##COMMENT#
********** Begin Peripheral Editor Coding **************
##80C386EXCLOCK#
##80C386EXPM#
/*
Initialize the Clock and Power Management Unit for:
Clock frequency of @@CPU_FREQ@ MHz.
Prescaled clock output of @@PS_FREQUENCY@ MHz.
$$IF$ PWRCON.0
Enter Power Down Mode.
$$END$
$$IF$ PWRCON.1
Enter Idle Mode.
$$END$
$$IFN$ PWRCON.0-1
Normal Halt Instructions.
$$END$
*/
#include "80386EX.h"
void Init_ClockPMU(void)
{
$$IFN$ REMAPCFG.15
/* Enable expanded I/O space for peripheral initialization.*/
_EnableExtIOMem();
$$END$
_SetEXRegByte(PWRCON, 0x$$PWRCON$);
_SetEXRegWord(CLKPRS, 0x$$CLKPRS$);
$$IFN$ REMAPCFG.15
/* Restore I/O space to original condition.*/
_DisableExtIOMem();
$$END$
}
##80C386EXSync#
$$IFN$ REMAPCFG.15
/* ******************************************
* Must have expanded I/O space enabled *
* to initialize this peripheral. The *
* expanded I/O space is enabled only in *
* the Enhanced Dos Mode and the NonDos *
* Mode. *
******************************************
*/
$$END$
/*
Initialize Synchronous Serial Port for:
Transmitter operating in $%2SSIOCON2.1$slave$master$ mode.
The transmitter is $%ESSIOCON1.4$.
The transmitter interrupt is $%ESSIOCON1.5$.
Receiver operating in $%2SSIOCON2.0$slave$master$ mode.
The receiver is $%ESSIOCON1.0$.
The receiver interrupt is $%ESSIOCON1.1$.
$$IF$ SSIOCON2.0-1
The clocking source is $%2SIOCFG.2$PSCLK$SERCLK$.
$$IF$ SIOCFG.2
Baud rate of @@SSIO_BAUD_TEXT@(@@SSIOBAUDERROR@%)bps, with an input clock of @@SER_CLK_FREQ@ Mhz.
$$END$
$$IFN$ SIOCFG.2
Baud rate of @@SSIO_BAUD_TEXT@(@@SSIOBAUDERROR@%)bps, with an input clock of @@PS_FREQUENCY@ Mhz.
$$END$
$$END$
$$IFN$ SSIOCON2.0 &! SSIOCON2.1
Baud rate generator is disabled.
$$END$
*/
#include "80386EX.h"
void Init_SSIO(void)
{
long temp;
$$IF$ SSIOBAUD.7
_SetEXRegByte(SIOCFG, 0x$$SIOCFG$); /* Set BRG source */
$$END$
_SetEXRegByte(SSIOBAUD, 0x$$SSIOBAUD$); /* Configure the BRG */
_SetEXRegByte(SSIOCON2, 0x$$SSIOCON2$); /* Set slave/master mode */
_ReadEXRegWord(temp, SSIORBUF); /* Clear any receive buffer interrupt */
_SetEXRegByte(SSIOCON1, 0x$$SSIOCON1$); /* Configure SSIO */
_SetEXRegByte(INTCFG, 0x$$INTCFG$);
_SetEXRegByte(PINCFG, 0x$$PINCFG$); /* Set SSIO pin connections */
}
##80C386EX IO1#
$$IFN$ REMAPCFG.15
/* ******************************************
* Must have expanded I/O space enabled *
* to initialize this peripheral. The *
* expanded I/O space is enabled only in *
* the Enhanced Dos Mode and the NonDos *
* Mode. *
******************************************
*/
$$END$
/*
Initialize I/O Port 1 for:
$$IF$ P1CFG.0
PIN 0 = DCD0# Peripheral Pin
$$END$
$$IF$ P1DIR.0 && P1LTC.0 &! P1CFG.0
PIN 0 = Input
$$END$
$$IFN$ P1DIR.0 &! P1CFG.0
PIN 0 = Output
$$END$
$$IF$ P1DIR.0 &! P1LTC.0 &! P1CFG.0
PIN 0 = Open Drain
$$END$
$$IF$ P1CFG.1
PIN 1 = RTS0# Peripheral Pin
$$END$
$$IF$ P1DIR.1 && P1LTC.1 &! P1CFG.1
PIN 1 = Input
$$END$
$$IFN$ P1DIR.1 &! P1CFG.1
PIN 1 = Output
$$END$
$$IF$ P1DIR.1 &! P1LTC.1 &! P1CFG.1
PIN 1 = Open Drain
$$END$
$$IF$ P1CFG.2
PIN 2 = DTR0# Peripheral Pin
$$END$
$$IF$ P1DIR.2 && P1LTC.2 &! P1CFG.2
PIN 2 = Input
$$END$
$$IFN$ P1DIR.2 &! P1CFG.2
PIN 2 = Output
$$END$
$$IF$ P1DIR.2 &! P1LTC.2 &! P1CFG.2
PIN 2 = Open Drain
$$END$
$$IF$ P1CFG.3
PIN 3 = DSR0# Peripheral Pin
$$END$
$$IF$ P1DIR.3 && P1LTC.3 &! P1CFG.3
PIN 3 = Input
$$END$
$$IFN$ P1DIR.3 &! P1CFG.3
PIN 3 = Output
$$END$
$$IF$ P1DIR.3 &! P1LTC.3 &! P1CFG.3
PIN 3 = Open Drain
$$END$
$$IF$ P1CFG.4
PIN 4 = RI0# Peripheral Pin
$$END$
$$IF$ P1DIR.4 && P1LTC.4 &! P1CFG.4
PIN 4 = Input
$$END$
$$IFN$ P1DIR.4 &! P1CFG.4
PIN 4 = Output
$$END$
$$IF$ P1DIR.4 &! P1LTC.4 &! P1CFG.4
PIN 4 = Open Drain
$$END$
$$IF$ P1CFG.5
PIN 5 = LOCK# Peripheral Pin
$$END$
$$IF$ P1DIR.5 && P1LTC.5 &! P1CFG.5
PIN 5 = Input
$$END$
$$IFN$ P1DIR.5 &! P1CFG.5
PIN 5 = Output
$$END$
$$IF$ P1DIR.5 &! P1LTC.5 &! P1CFG.5
PIN 5 = Open Drain
$$END$
$$IF$ P1CFG.6
PIN 6 = HOLD Peripheral Pin
$$END$
$$IF$ P1DIR.6 && P1LTC.6 &! P1CFG.6
PIN 6 = Input
$$END$
$$IFN$ P1DIR.6 &! P1CFG.6
PIN 6 = Output
$$END$
$$IF$ P1DIR.6 &! P1LTC.6 &! P1CFG.6
PIN 6 = Open Drain
$$END$
$$IF$ P1CFG.7
PIN 7 = HLDA Peripheral Pin
$$END$
$$IF$ P1DIR.7 && P1LTC.7 &! P1CFG.7
PIN 7 = Input
$$END$
$$IFN$ P1DIR.7 &! P1CFG.7
PIN 7 = Output
$$END$
$$IF$ P1DIR.7 &! P1LTC.7 &! P1CFG.7
PIN 7 = Open Drain
$$END$
*/
#include "80386EX.h"
void Init_IO1(void)
{
_SetEXRegByte(P1LTC, 0x$$P1LTC$);
_SetEXRegByte(P1DIR, 0x$$P1DIR$);
_SetEXRegByte(P1CFG, 0x$$P1CFG$);
}
##80C386EX IO2#
$$IFN$ REMAPCFG.15
/* ******************************************
* Must have expanded I/O space enabled *
* to initialize this peripheral. The *
* expanded I/O space is enabled only in *
* the Enhanced Dos Mode and the NonDos *
* Mode. *
******************************************
*/
$$END$
/*
Initialize I/O Port 2 for:
$$IF$ P2CFG.0
PIN 0 = CS0# Peripheral Pin
$$END$
$$IF$ P2DIR.0 && P2LTC.0 &! P2CFG.0
PIN 0 = Input
$$END$
$$IFN$ P2DIR.0 &! P2CFG.0
PIN 0 = Output
$$END$
$$IF$ P2DIR.0 &! P2LTC.0 &! P2CFG.0
PIN 0 = Open Drain
$$END$
$$IF$ P2CFG.1
PIN 1 = CS1# Peripheral Pin
$$END$
$$IF$ P2DIR.1 && P2LTC.1 &! P2CFG.1
PIN 1 = Input
$$END$
$$IFN$ P2DIR.1 &! P2CFG.1
PIN 1 = Output
$$END$
$$IF$ P2DIR.1 &! P2LTC.1 &! P2CFG.1
PIN 1 = Open Drain
$$END$
$$IF$ P2CFG.2
PIN 2 = CS2# Peripheral Pin
$$END$
$$IF$ P2DIR.2 && P2LTC.2 &! P2CFG.2
PIN 2 = Input
$$END$
$$IFN$ P2DIR.2 &! P2CFG.2
PIN 2 = Output
$$END$
$$IF$ P2DIR.2 &! P2LTC.2 &! P2CFG.2
PIN 2 = Open Drain
$$END$
$$IF$ P2CFG.3
PIN 3 = CS3# Peripheral Pin
$$END$
$$IF$ P2DIR.3 && P2LTC.3 &! P2CFG.3
PIN 3 = Input
$$END$
$$IFN$ P2DIR.3 &! P2CFG.3
PIN 3 = Output
$$END$
$$IF$ P2DIR.3 &! P2LTC.3 &! P2CFG.3
PIN 3 = Open Drain
$$END$
$$IF$ P2CFG.4
PIN 4 = CS4# Peripheral Pin
$$END$
$$IF$ P2DIR.4 && P2LTC.4 &! P2CFG.4
PIN 4 = Input
$$END$
$$IFN$ P2DIR.4 &! P2CFG.4
PIN 4 = Output
$$END$
$$IF$ P2DIR.4 &! P2LTC.4 &! P2CFG.4
PIN 4 = Open Drain
$$END$
$$IF$ P2CFG.5
PIN 5 = RXD0 Peripheral Pin
$$END$
$$IF$ P2DIR.5 && P2LTC.5 &! P2CFG.5
PIN 5 = Input
$$END$
$$IFN$ P2DIR.5 &! P2CFG.5
PIN 5 = Output
$$END$
$$IF$ P2DIR.5 &! P2LTC.5 &! P2CFG.5
PIN 5 = Open Drain
$$END$
$$IF$ P2CFG.6
PIN 6 = TXD0 Peripheral Pin
$$END$
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -