查看: 4371|回复: 1

[其他] 刚刚接触飞思卡尔,哪位大哥帮忙解释下这段IO口初始化的小程序

[复制链接]

该用户从未签到

1

主题

2

帖子

0

新手上路

Rank: 1

积分
8
最后登录
1970-1-1
发表于 2011-8-3 09:25:21 | 显示全部楼层 |阅读模式
void
mcf5225x_gpio_init(void)
{
        /*
        * Initialize GPIO Here
        */
        MCF_GPIO_PTEPAR = (MCF_GPIO_PTEPAR_MB_A0_MB_A0)
                                            |(MCF_GPIO_PTEPAR_MB_A1_MB_A1)
                                            |(MCF_GPIO_PTEPAR_MB_A2_MB_A2)
                                        |(MCF_GPIO_PTEPAR_MB_A3_MB_A3)
                                        |(MCF_GPIO_PTEPAR_MB_A4_MB_A4)
                                        |(MCF_GPIO_PTEPAR_MB_A5_MB_A5)
                                        |(MCF_GPIO_PTEPAR_MB_A6_MB_A6)
                                        |(MCF_GPIO_PTEPAR_MB_A7_MB_A7);
//        MCF_GPIO_DDRTE = (~MCF_GPIO_DDRTE_DDRTE0)
//                                           |(~MCF_GPIO_DDRTE_DDRTE1)
//                                           |(~MCF_GPIO_DDRTE_DDRTE2)
//                                           |(~MCF_GPIO_DDRTE_DDRTE3)
//                                           |(~MCF_GPIO_DDRTE_DDRTE4)
//                                        |(~MCF_GPIO_DDRTE_DDRTE5)
//                                        |(~MCF_GPIO_DDRTE_DDRTE6)
//                                        |(~MCF_GPIO_DDRTE_DDRTE7);
        MCF_GPIO_PTFPAR = (MCF_GPIO_PTFPAR_MB_A8_MB_A8)
                                            |(MCF_GPIO_PTFPAR_MB_A9_MB_A9)
                                            |(MCF_GPIO_PTFPAR_MB_A10_MB_A10)
                                        |(MCF_GPIO_PTFPAR_MB_A11_MB_A11)
                                        |(MCF_GPIO_PTFPAR_MB_A12_MB_A12)
                                        |(MCF_GPIO_PTFPAR_MB_A13_MB_A13)
                                        |(MCF_GPIO_PTFPAR_MB_A14_MB_A14)
                                        |(MCF_GPIO_PTFPAR_MB_A15_MB_A15);
//        MCF_GPIO_DDRTF = (~MCF_GPIO_DDRTF_DDRTF0)
//                                           |(~MCF_GPIO_DDRTF_DDRTF1)
//                                           |(~MCF_GPIO_DDRTF_DDRTF2)
//                                           |(~MCF_GPIO_DDRTF_DDRTF3)
//                                           |(~MCF_GPIO_DDRTF_DDRTF4)
//                                        |(~MCF_GPIO_DDRTF_DDRTF5)
//                                        |(~MCF_GPIO_DDRTF_DDRTF6)
//                                        |(~MCF_GPIO_DDRTF_DDRTF7);
        MCF_GPIO_PTGPAR = (MCF_GPIO_PTGPAR_MB_A16_MB_A16)
                                            |(MCF_GPIO_PTGPAR_MB_A17_MB_A17)
                                            |(MCF_GPIO_PTGPAR_MB_A18_MB_A18)
//                                        |(MCF_GPIO_PTGPAR_MB_A19_MB_A19)//---------------
//                                        |(MCF_GPIO_PTGPAR_PTGPAR4&0)
                                        |(MCF_GPIO_PTGPAR_MB_CS0_MB_CS0)
                                        |(MCF_GPIO_PTGPAR_MB_OE_MB_OE)
                                        |(MCF_GPIO_PTGPAR_MB_RW_MB_RW);
//        MCF_GPIO_DDRTF = 0;
        MCF_GPIO_PTHPAR = ((MCF_GPIO_PTHPAR_MB_D0_MB_D0))
                                            |((MCF_GPIO_PTHPAR_MB_D1_MB_D1))
                                            |((MCF_GPIO_PTHPAR_MB_D2_MB_D2))
                                        |((MCF_GPIO_PTHPAR_MB_D3_MB_D3))
                                        |((MCF_GPIO_PTHPAR_MB_D4_MB_D4))
                                        |((MCF_GPIO_PTHPAR_MB_D5_MB_D5))
                                        |((MCF_GPIO_PTHPAR_MB_D6_MB_D6))
                                        |((MCF_GPIO_PTHPAR_MB_D7_MB_D7));
//        MCF_GPIO_DDRTH = (MCF_GPIO_DDRTH_DDRTH0)
//                                           |(MCF_GPIO_DDRTH_DDRTH1)
//                                           |(MCF_GPIO_DDRTH_DDRTH2)
//                                           |(MCF_GPIO_DDRTH_DDRTH3)
//                                           |(MCF_GPIO_DDRTH_DDRTH4)
//                                        |(MCF_GPIO_DDRTH_DDRTH5)
//                                        |(MCF_GPIO_DDRTH_DDRTH6)
//                                        |(MCF_GPIO_DDRTH_DDRTH7);
        MCF_GPIO_PASPAR = ((MCF_GPIO_PASPAR_SCL0_SCL0))
                                            |((MCF_GPIO_PASPAR_SDA0_SDA0))
                                            |((MCF_GPIO_PASPAR_MB_ALE_MB_CS1));
//        MCF_GPIO_DDRAS = (MCF_GPIO_DDRAS_DDRAS2);
        MCF_GPIO_PUAPAR = ((MCF_GPIO_PUAPAR_UTXD0_UTXD0))
                                            |((MCF_GPIO_PUAPAR_URXD0_URXD0))
                                            |((MCF_GPIO_PUAPAR_URTS0_GPIO))
                                        |((MCF_GPIO_PUAPAR_UCTS0_GPIO));
        MCF_GPIO_DDRUA = (MCF_GPIO_DDRUA_DDRUA2)
                                           |(MCF_GPIO_DDRUA_DDRUA3);
/*
        MCF_GPIO_PUBPAR = ((MCF_GPIO_PUBPAR_UTXD1_UTXD1))//主功能
                                            |((MCF_GPIO_PUBPAR_URXD1_URXD1))//主功能
                                            |((MCF_GPIO_PUBPAR_URTS1_UTXD2))//次功能2
                                        |((MCF_GPIO_PUBPAR_UCTS1_URXD2));//次功能2
//        MCF_GPIO_DDRUB = (MCF_GPIO_DDRUB_DDRUB2)
//                                           |(MCF_GPIO_DDRUB_DDRUB3);
*/
        MCF_GPIO_PUBPAR = ((MCF_GPIO_PUBPAR_UTXD1_GPIO))
                                            |((MCF_GPIO_PUBPAR_URXD1_GPIO))
                                            |((MCF_GPIO_PUBPAR_URTS1_GPIO))
                                            |((MCF_GPIO_PUBPAR_UCTS1_GPIO));
                                        
        MCF_GPIO_DDRUB = (MCF_GPIO_DDRUB_DDRUB0)
                                                |(MCF_GPIO_DDRUB_DDRUB1)
                                                |(MCF_GPIO_DDRUB_DDRUB2)
                                                |(MCF_GPIO_DDRUB_DDRUB3);
//-------------------------------------------------------------------------
        MCF_GPIO_PUCPAR = ((MCF_GPIO_PUCPAR_UTXD2_CANTX))
                                            |((MCF_GPIO_PUCPAR_URXD2_CANRX))
                                            |((MCF_GPIO_PUCPAR_URTS2_GPIO))
                                        |((MCF_GPIO_PUCPAR_UCTS2_GPIO));
        MCF_GPIO_DDRUC = (MCF_GPIO_DDRUA_DDRUA2)
                                            |(MCF_GPIO_DDRUA_DDRUA3);
        MCF_GPIO_PTCPAR = ((MCF_GPIO_PTCPAR_DTIN0_GPIO))
                                                |((MCF_GPIO_PTCPAR_DTIN1_GPIO))
                                                |((MCF_GPIO_PTCPAR_DTIN2_GPIO));
        MCF_GPIO_DDRTC = (~MCF_GPIO_DDRTC_DDRTC0)
                                                &(~MCF_GPIO_DDRTC_DDRTC1)
                                                &(~MCF_GPIO_DDRTC_DDRTC2);
        MCF_GPIO_PTAPAR = ((MCF_GPIO_PTAPAR_ICOC0_GPIO))
                                             |((MCF_GPIO_PTAPAR_ICOC1_GPIO))
                                             |((MCF_GPIO_PTAPAR_ICOC2_GPIO))
                                             |((MCF_GPIO_PTAPAR_ICOC3_GPIO));//|((MCF_GPIO_PTAPAR_ICOC3_ICOC3));//wanglei2011-4-21-----
        MCF_GPIO_DDRTA = (~MCF_GPIO_DDRTA_DDRTA0)
                                           |(~MCF_GPIO_DDRTA_DDRTA1)
                                           |(~MCF_GPIO_DDRTA_DDRTA2)
                                           |(~MCF_GPIO_DDRTA_DDRTA3);//增加wanglei2011-4-21------------
        MCF_GPIO_PQSPAR = ((MCF_GPIO_PQSPAR_QSPI_DOUT_DOUT))
                                                |((MCF_GPIO_PQSPAR_QSPI_DIN_DIN))
                                                |((MCF_GPIO_PQSPAR_QSPI_CLK_CLK))
                                                |((MCF_GPIO_PQSPAR_QSPI_CS0_CS0))
                                                |((MCF_GPIO_PQSPAR_QSPI_CS2_CS2));
//                                        |(MCF_GPIO_PQSPAR_PQSPAR4(MCF_GPIO_PQSPAR_QSPI_CS2_CS2))
//                                        |(MCF_GPIO_PQSPAR_PQSPAR6(MCF_GPIO_PQSPAR_QSPI_CS3_CS3));
//        MCF_GPIO_DDRQS = (MCF_GPIO_DDRQS_DDRQS0)
//                                           |(MCF_GPIO_DDRQS_DDRQS1)
//                                           |(MCF_GPIO_DDRQS_DDRQS2)
//                                           |(MCF_GPIO_DDRQS_DDRQS3)
//                                           |(MCF_GPIO_DDRQS_DDRQS4)
//                                        |(MCF_GPIO_DDRQS_DDRQS5)
//                                        |(MCF_GPIO_DDRQS_DDRQS6);
        MCF_GPIO_PNQPAR = ((MCF_GPIO_PNQPAR_IRQ1_GPIO))//-----增加wanglei2011-4-19-----------------------
                                                |((MCF_GPIO_PNQPAR_IRQ3_FEC_MDIO))
                                        |((MCF_GPIO_PNQPAR_IRQ5_FEC_MDC))
                                        |((MCF_GPIO_PNQPAR_IRQ7_GPIO));
        MCF_GPIO_DDRNQ = (MCF_GPIO_PNQPAR_IRQ1_GPIO)//----------------------------
                                                |(MCF_GPIO_DDRNQ_DDRNQ7);
        MCF_GPIO_PTJPAR = (MCF_GPIO_PTJPAR_FEC_RXER_FEC_RXER)
                                            |(MCF_GPIO_PTJPAR_FEC_TXCLK_FEC_TXCLK)
                                            |(MCF_GPIO_PTJPAR_FEC_TXD0_FEC_TXD0)
                                        |(MCF_GPIO_PTJPAR_FEC_TXD1_FEC_TXD1)
                                        |(MCF_GPIO_PTJPAR_FEC_TXD2_FEC_TXD2)
                                        |(MCF_GPIO_PTJPAR_FEC_TXD3_FEC_TXD3)
                                        |(MCF_GPIO_PTJPAR_FEC_TXEN_FEC_TXEN)
                                        |(MCF_GPIO_PTJPAR_FEC_TXER_FEC_TXER);
//        MCF_GPIO_DDRTJ = (~MCF_GPIO_DDRTJ_DDRTJ0)
//                                           |(~MCF_GPIO_DDRTJ_DDRTJ1)
//                                           |(~MCF_GPIO_DDRTJ_DDRTJ2)
//                                           |(~MCF_GPIO_DDRTJ_DDRTJ3)
//                                           |(~MCF_GPIO_DDRTJ_DDRTJ4)
//                                        |(~MCF_GPIO_DDRTJ_DDRTJ5)
//                                        |(~MCF_GPIO_DDRTJ_DDRTJ6)
//                                        |(~MCF_GPIO_DDRTJ_DDRTJ7);
        MCF_GPIO_PTIPAR = (MCF_GPIO_PTIPAR_FEC_COL_FEC_COL)
                                            |(MCF_GPIO_PTIPAR_FEC_CRS_FEC_CRS)
                                            |(MCF_GPIO_PTIPAR_FEC_RXCLK_FEC_RXCLK)
                                        |(MCF_GPIO_PTIPAR_FEC_RXD0_FEC_RXD0)
                                        |(MCF_GPIO_PTIPAR_FEC_RXD1_FEC_RXD1)
                                        |(MCF_GPIO_PTIPAR_FEC_RXD2_FEC_RXD2)
                                        |(MCF_GPIO_PTIPAR_FEC_RXD3_FEC_RXD3)
                                        |(MCF_GPIO_PTIPAR_FEC_RXDV_FEC_RXDV);
//        MCF_GPIO_DDRTI = (~MCF_GPIO_DDRTI_DDRTI0)
//                                           |(~MCF_GPIO_DDRTI_DDRTI1)
//                                           |(~MCF_GPIO_DDRTI_DDRTI2)
//                                           |(~MCF_GPIO_DDRTI_DDRTI3)
//                                           |(~MCF_GPIO_DDRTI_DDRTI4)
//                                        |(~MCF_GPIO_DDRTI_DDRTI5)
//                                        |(~MCF_GPIO_DDRTI_DDRTI6)
//                                        |(~MCF_GPIO_DDRTI_DDRTI7);
        MCF_GPIO_PANPAR = (MCF_GPIO_PANPAR_AN0_GPIO)
                                            |(MCF_GPIO_PANPAR_AN1_GPIO)
                                            |(MCF_GPIO_PANPAR_AN2_GPIO)
                                        |(MCF_GPIO_PANPAR_AN3_GPIO)
                                        |(MCF_GPIO_PANPAR_AN4_GPIO)
                                        |(MCF_GPIO_PANPAR_AN5_GPIO)
                                        |(MCF_GPIO_PANPAR_AN6_GPIO)
                                        |(MCF_GPIO_PANPAR_AN7_GPIO);
        MCF_GPIO_DDRAN = (MCF_GPIO_DDRAN_DDRAN0)
                                           |(MCF_GPIO_DDRAN_DDRAN1)
                                           |(~MCF_GPIO_DDRAN_DDRAN2)
                                           |(~MCF_GPIO_DDRAN_DDRAN3)
                                           |(~MCF_GPIO_DDRAN_DDRAN4)
                                           |(~MCF_GPIO_DDRAN_DDRAN5)
                                       |(~MCF_GPIO_DDRAN_DDRAN6)
                                       |(~MCF_GPIO_DDRAN_DDRAN7);
/*        //FEC-----PTI  PTJ  PNQ3  PNQ5
        MCF_GPIO_PTIPAR = 0xFF;//239,0~7-FEC
        MCF_GPIO_PTJPAR = 0xFF;//239,0~7-FEC
        MCF_GPIO_PNQPAR = 0x1891;//239,1,7
        //I2C   ----PAS0 PAS1
        MCF_GPIO_PASPAR = 0x05;//239,01-I2C
        //QSPI  PQS012356
        MCF_GPIO_PQSPAR = 0x1455;//239,012356-QSPI
        //GPT3 PTA3
        MCF_GPIO_PTAPAR = 0x40;//239,0~2-out,3-GPT3
        //UART0  PUA01 PUC2
        MCF_GPIO_PUAPAR = 0x05;//239,01-uart0,23-out
        MCF_GPIO_PUCPAR &= 0xCF;//239,
        MCF_GPIO_DDRUC |= 0x04;//233,
        //UART1  PUB01 PUA2
        MCF_GPIO_PUBPAR |= 0x05;//239,01-uart1,23-out
        MCF_GPIO_PUAPAR &= 0xCF;//239,
        MCF_GPIO_DDRUA |= 0x04;//233,
        //UART2 PUB23 PUC3
        MCF_GPIO_PUBPAR |= 0xF0;//239,
        MCF_GPIO_PUCPAR &= 0x3F;//239,
        MCF_GPIO_DDRUC |= 0x08;//233,
        //LED1 PUA3
        MCF_GPIO_PUAPAR &= 0x3F;//239,
        MCF_GPIO_DDRUA |= 0x08;//233,
        //CAN  PUC01
        MCF_GPIO_PUCPAR &= 0xFA;//239,
        MCF_GPIO_PUCPAR |= 0x0A;//239,
        //FLEXBUS PAS2 PTE PTF PTG PTH
        MCF_GPIO_PASPAR &= 0x2F;//239,
        MCF_GPIO_PASPAR |= 0x20;
        MCF_GPIO_PTEPAR |= 0xFF;//239,0~7-in
        MCF_GPIO_PTFPAR |= 0xFF;//239,0~7-in
        MCF_GPIO_PTGPAR |= 0xFF;//239,
        MCF_GPIO_PTHPAR = 0x5555;//239,0~7-out*/
}
我知道答案 目前已有0人回答
回复

使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2011-8-15 17:31:05 | 显示全部楼层

    RE:刚刚接触飞思卡尔,哪位大哥帮忙解释下这段IO口初始化的小程序

    这些只是IO口的初始化,如果想学习coldfrie,建议你买一本书或者下一本电子书,看书和练习同步走。
    该会员没有填写今日想说内容.
    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-9-12 04:01 , Processed in 0.092394 second(s), 22 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表