⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 s3c4510.c.bak

📁 针对硬件操作
💻 BAK
📖 第 1 页 / 共 2 页
字号:
#define VERSION "1.0"
#include <stdio.h>
#include <windows.h>
#include <time.h>
#include <conio.h>
#include "s3c4510.h"

int pin[] =
{
//0
    1,  // UARXD1_IN      PEXINT(7) out
	1,  // UARXD1_IN      PEXINT(7) out enable
    1,  // nUADSR0_OUT     PEXINT(7) observe_only
    1,  // UATXD0_OUT     PEXINT(6) out
    1,  // nUADTR0_IN     PEXINT(6) out enable
    1,  // UARXD0_IN       PEXINT(6) observe_only
    1,  // SDA_OUT           PEXINT(5) out
    1,  // SDA_IN          PEXINT(5) out enable
    1,  // SCL_OUT         PEXINT(5) observe_only
    1,  // SCL_IN           PEXINT(4) out
    1,  // P_17_ENB          PEXINT(4) out enable
//10
    1,  // P_17_OUT         PEXINT(4) observe_only
    1,  // P_17_IN           PEXINT(3) out
    1,  // P_16_ENB         PEXINT(3) out enable
    1,  // P_16_OUT        PEXINT(3) observe_only
    1,  // P_16_IN           PEXINT(2) out
    1,  // P_15_ENB          PEXINT(2) out enable
    1,  // P_15_OUT          PEXINT(2) observe_only
    1,  // P_15_IN           PEXINT(1) out
    1,  // P_14_ENB	          PEXINT(1) out enable
    1,  // P_14_OUT           PEXINT(1) observe_only
//20
    1,  // P_14_IN           PEXINT(0) out
    1,  // P_13_ENB              PEXINT(0) out enable
    1,  // P_13_OUT          PEXINT(0) observe_only
    1,  // P_13_IN             PNXDACK0
    1,  // P_12_ENB            PNXDACK0 out enable
    1,  // P_12_OUT           PNXDACK0  observe_only
    1,  // P_12_IN              PNXDREQ0  
    1,  // P_11_ENB              PNXDREQ0 out enable
    1,  // P_11_OUT              PNXDREQ0  observe_only
    1,  // P_11_IN                 PNXWAIT  
//30
    1,  // P_10_ENB                PNXWAIT  out enable
    1,  // P_10_OUT               PNXWAIT   observe_only
    1,  // P_10_IN              PSCLK
    1,  // P_9_ENB              PSCLK   out enable
    1,  // P_9_OUT               PSCKE
    1,  // P_9_IN                    PSCKE   out enable
    1,  // P_8_ENB           PNGCS(7)
    1,  // P_8_OUT           nGCS_6_OUT
    1,  // P_8_IN            nRCS_5_OUT
    0,  // P_7_ENB            nRCS_5_OUT enable
//40
    1,  // P_7_OUT             nRCS_4_OUT
    0,  // P_7_IN               nRCS_4_OUT enable
    1,  // P_6_ENB              nRCS_3_OUT
    0,  // P_6_OUT             nRCS_3_OUT enable
    1,  // P_6_IN                nRCS_2_OUT
    0,  // P_5_ENB              nRCS_2_OUT enable
    1,  // P_5_OUT                nRCS_1_OUT
    0,  // P_5_IN                nRCS_1_OUT enable
    1,  // P_4_ENB               nRCS_0_OUT
    1,  // P_4_OUT          nDWE_OUT
//50
    1,  // P_4_IN               nOE_OUT
    1,  // P_3_ENB             nWBE_3_OUT
    1,  // P_3_OUT             nWBE_3_OUT enable
    1,  // P_3_IN               nWBE_2_OUT
    1,  // P_2_ENB              nWBE_2_OUT enable
    1,  // P_2_OUT              nWBE_1_OUT
    1,  // P_2_IN               nWBE_1_OUT
    0,  // P_1_ENB            nWBE_DWE_OE_CS0_OUT_ENB
    1,  // P_1_OUT             PNCAS(3)
    0,  // P_1_IN              PNCAS(3 enable)
//60
    1,  // P_0_ENB             PNCAS(2)
    0,  // P_0_OUT               PNCAS(2)  enable
    1,  // P_0_IN               PNCAS(1)
    1,  // D_31_OUT                PNCAS(0)
    0,  // D_31_IN     nGCS_6-7_OUT  PNCAS(0-1) enable
    0,  // D_30_OUT    //a0  66-101 都为0
    0,  // D_30_IN
    0,  // D_29_OUT
    0,  // D_29_IN
    0,  // D_28_OUT
//70
    0,  // D_28_IN
    0,  // D_27_OUT
    0,  // D_27_IN
    0,  // D_26_OUT
    0,  // D_26_IN
    0,  // D_25_OUT
    0,  // D_25_IN
    0,  // D_24_OUT
    0,  // D_24_IN
    0,  // D_23_OUT
//80
    0,  // D_23_IN
    0,  // D_22_OUT    a15
    0,  // D_22_IN
    0,  // D_21_OUT    a16
    0,  // D_21_IN
    0,  // D_20_OUT    a17
    0,  // D_20_IN
    0,  // D_19_OUT    a18
    0,  // D_19_IN
    0,  // D_18_OUT
//90
    0,  // D_18_IN
    0,  // D_17_OUT
    0,  // D_17_IN
    0,  // D_16_OUT
    0,  // D_16_IN
    0,  // D_15_OUT
    0,  // D_15_IN
    0,  // D_14_OUT
    0,  // D_14_IN
    0,  // D_13_OUT   a24
//100
    0,  // D_13_IN
    0,  //          d0-out
    0,  //          d0-in
    0,  // D_11_OUT
    0,  // D_11_IN
    0,  // D_10_OUT
    0,  // D_10_IN
    0,  // D_9_OUT
    0,  // D_9_IN
    0,  // D_8_OUT
//110
    0,  // D_8_IN
    0,  // D_7_OUT
    0,  // D_7_IN
    0,  // D_6_OUT
    0,  // D_6_IN
    0,  // D_5_OUT  d7-out
    1,  // D_5_IN   d7-d0-out-enable
    0,  // D_4_OUT
    0,  // D_4_IN    d8-out
    0,  // D_3_OUT   d8-in
//120
    0,  // D_3_IN     
    0,  // D_2_OUT
    0,  // D_2_IN
    0,  // D_1_OUT
    0,  // D_1_IN
    0,  // D_0_OUT
    0,  // D_0_IN
    0,  //1,// D_OUT_ENB    
    0,  // A_21_OUT
    0,  // A_20_OUT
//130
    0,  // A_19_OUT
    0,  // A_18_OUT
    0,  // A_17_OUT    d15 out
    1,  // A_16_OUT    d15-d8-out-enable
    0,  // A_15_OUT
    0,  // A_14_OUT     D16_OUT
    1,  // A_13_OUT     D16_OUT_ENB
    0,  // A_12_OUT     D16_IN
    0,  // A_11_OUT
    1,  // A_10_OUT        D17_OUT_ENB
//140
    0,  // A_9_OUT
    0,  // A_8_OUT
    1,  // A_7_OUT       D18_OUT_ENB
    0,  // A_6_OUT
    0,  // A_5_OUT
    1,  // A_4_OUT       D19_OUT_ENB
    0,  // A_3_OUT
    0,  // A_2_OUT
    1,  // A_1_OUT        D20_OUT_ENB
    0,  // A_0_OUT
//150
    0,  // ExtMACK_OUT
    1,  // ExtMREQ_IN      D21_OUT_ENB
    0,  // nWBE_3_OUT
    0,  // nWBE_2_OUT
    1,  // nWBE_1_OUT       D22_OUT_ENB
    0,  // nWBE_0_OUT
    0,  // nDWE_OUT
    1,  // nCAS_3_OUT        D23_OUT_ENB
    0,  // nCAS_2_OUT
    0,  // nCAS_1_OUT
//160
    1,  // nCAS_0_OUT        D24_OUT_ENB
    0,  // nRAS_3_OUT
    0,  // nRAS_2_OUT
    1,  // nRAS_1_OUT        D25_OUT_ENB
    0,  // nRAS_0_OUT
    0,  // nRCS_5_OUT
    1,  // nRCS_4_OUT        D26_OUT_ENB
    0,  // nRCS_3_OUT
    0,  // nRCS_2_OUT
    1,  // nRCS_1_OUT        D27_OUT_ENB
//170
    0,  // CLKSEL_IN
    0,  // nRESET_IN
    1,  // MCLK_IN         D28_OUT_ENB
    0,  // MCLKO_OUT
    0,  // CLKOEN_IN
    1,  // nRCS_0_OUT       D29_OUT_ENB
    0,  // B0SIZE_1_IN
    0,  // B0SIZE_0_IN
    1,  // nOE_OUT            D30_OUT_ENB
    0,  // nEWAIT_IN
//180
    0,  // nECS_3_OUT
    1,  // nECS_2_OUT         D31_OUT_ENB
    1,  // nECS_1_OUT        D31_IN
    1,  // nECS_0_OUT         PTXD0
    1,  // DIS_BUS            PTXD0   out enable
    1,  // UCLK_IN             PTXD0   observe_only
    1,  // TMODE_IN           PRXD0
    1,  // MDC_OUT              PRXD0  out enable
    1,  // LITTLE_IN             PRXD0 observe_only
    1,  // MDIO_OE              PVD(0)
//190
    1,  // MDIO_OUT          PVD(0) out enable
    1,  // MDIO_IN             PVD(0) observe_only
    1,  // TX_EN_TXEN_10M_OUT     PVD(1)
    1,  // TX_CLK_TXCLK_10M_OUT    PVD(1) out enable
    1,  // TX_ERR_PCOMP_10M_OUT   PVD(1) observe_only
    1,  // TXD3_OUT                 PVD(2)
    1,  // TXD2_OUT                     PVD(2) out enable
    1,  // TXD1_LOOP10_OUT             PVD(2) observe_only
    1,  // TXD0_TXD_10M_OUT          PVD(3)
    1,  // COL_COL_10M_IN           PVD(3) out enable
//200
    1,  // RX_CLK_RXCLK_10M_IN         PVD(3) observe_only
    1,  // RX_ERR_IN                   PVCLK
    1,  // RXD3_IN                     PVCLK  out enable
    1,  // RXD2_IN                PVCLK   observe_only
    1,  // RXD1_IN               PVLINE      
    1,  // RXD0_RXD_10M_IN     PVLINE   out enable
    1,  // RX_DV_LINK10_IN   PVLINE   observe_only
    1,  // CRS_CRS_10M_IN   PVM
    1,  // TXCBEN            PVM    out enable
    1,  // TXCB_OUT           PVM   observe_only
//210
    1,  // TXCB_IN              PVFRAME
    1,  // nSYNCB_OUT        PVFRAME  out enable
    1,  // RXCB_IN          PVFRAME  observe_only
    1,  // nDCDB_IN        PTOUT(4)
    1,  // nCTSB_IN         PTOUT(4) out enable
    0,  // TXDB_OUT        PTOUT(4)   observe_only
    0,  // nRTSB_OUT        PTOUT(3)
    1,  // RXDB_IN         PTOUT(3) out enable
    0,  // nDTRB_OUT       PTOUT(43)   observe_only
    0,  // TXCAEN              PTOUT(2)
//220
    0,  // TXCA_OUT        PTOUT(2) out enable
    1,  // TXCA_IN           PTOUT(2)   observe_only
    0,  // nSYNCA_OUT         PTOUT(1)
    1,  // RXCA_IN         PTOUT(1) out enable
    1,  // nDCDA_IN        PTOUT(1)   observe_only
    1,  // nCTSA_IN              PTOUT(0)
    0,  // TXDA_OUT          PTOUT(0) out enable
    0,  // nRTSA_OUT          PTOUT(0)   observe_only
    1,  // RXDA_IN
    0,  // nDTRA_OUT
//230
    0,  // nUADSR1_OUT
    0,  // UATXD1_OUT
    1 ,  // nUADTR1_IN
     1,  // RXCA_IN
    1,  // nDCDA_IN
    1,  // nCTSA_IN
    0,  // TXDA_OUT
    0,  // nRTSA_OUT
    1,  // RXDA_IN
    0,  // nDTRA_OUT
//240
    0,  // nUADSR1_OUT
    0,  // UATXD1_OUT
    1 ,  // nUADTR1_IN
	1,  // RXCA_IN
    1,  // nDCDA_IN
    1,  // nCTSA_IN
    0,  // TXDA_OUT
    0,  // nRTSA_OUT
    1,  // RXDA_IN
    0,  // nDTRA_OUT
//250
    0,  // nUADSR1_OUT
    0,  // UATXD1_OUT
    1  , // nUADTR1_IN
    0,  // nDTRA_OUT
    0,  // nUADSR1_OUT
    0,  // UATXD1_OUT
 //   1   // nUADTR1_IN

};

int lpt_address;

void error_out(char *error_string)
{
	printf("%s\n",error_string);
	exit(0);
}

unsigned short test_port(void)     // 不需要改
{
	// search for valid parallel port
    lpt_address = 0;
    OUTB(LPT1, 0x55);
    if(INB(LPT1) == 0x55)  lpt_address = LPT1;
    OUTB(LPT2, 0x55);
    if(INB(LPT2) == 0x55)  lpt_address = LPT2;
    OUTB(LPT3, 0x55);
    if(INB(LPT3) == 0x55)  lpt_address = LPT3;
    return(lpt_address);
}

int putp(int tdi, int tms, int rp)
{
    // Output pins (LPT driving)
    // LPT D2      Pin 4  and TCK (bit 2 lptaddress )
    // LPT D3      Pin 5  and TDI (bit 3 lptaddress )
    // LPT D1      Pin 3  and TMS (bit 1 lptaddress )
    // LPT D0      Pin 2 and TRST (bit 0 lptaddress )
    //
    // Input pin (S3C4510 board drives)
    // LPT BUSY    Pin 11 and TDO (bit 7 lptaddress + 2)

⌨️ 快捷键说明

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