📄 io_port.c
字号:
#include "44b.h"
#include "io_port.h"
#define BIT_IOLED 0x1
void IO_PortInit()
{
///****PortA 使用默认值****/ 10-bit output
//*********断口 PortB配置********/ 11-bit output
// 引脚 功能 配置值
// PortB.10 nGCS5 1
// PortB.09 nGCS4 1
// PortB.08 nGCS3 1
// PortB.07 nGCS2 1
// PortB.06 nGCS1 1
// PortB.05 OUTPUT 0
// PortB.04 OUTPUT 0
// PortB.03 nSRAS 1
// PortB.02 nSCAS 1
// PortB.01 SCLK 1
// PortB.00 SCKE 1
rPCONB = 0x000007CF;
rPDATB = 0x07EF;
//*********断口 PortC配置********/ 16-bit input/output
// 引脚 功能 配置值
// PortC.15 Input 00
// PortC.14 Input 00
// PortC.13 RxD1 11
// PortC.12 TxD1 11
// PortC.11 Output 01
// PortC.10 Output 01
// PortC.09 Output 01
// PortC.08 OutPut 01
// PortC.07 VD4 11
// PortC.06 VD5 11
// PortC.05 VD6 11
// PortC.04 VD7 11
// PortC.03 IISCLK 11
// PortC.02 IISDI 11
// PortC.01 IISDO 11
// PortC.00 IISRLCK 11
rPCONC = 0x0F55FFFF;
rPDATC = 0xFFFF;
rPUPC |= 0xC000;
//*********断口 PortD配置********/ 8-bit input/output
// 引脚 功能 配置值
// PortD.07 VFRAME 10
// PortD.06 VM 10
// PortD.05 VLINE 10
// PortD.04 VCLK 10
// PortD.03 VD3 10
// PortD.02 VD2 10
// PortD.01 VD1 10
// PortD.00 VD0 10
rPCOND = 0x00009AAA; //PD6 = Output(For MTV-C3224LCD)
rPDATD = 0xBF; //PD6 = 0 //LCD Off
rPUPD = 0x00;
//*********断口 PortE配置********/ 9-bit input/output
// 引脚 功能 配置值
// PortE.08 CODECLK 10
// PortE.07 OutPut 01 D5
// PortE.06 OutPut 01 D4
// PortE.05 OutPut 01 D3
// PortE.04 OutPut 01 D2
// PortE.03 OutPut 01 D1
// PortE.02 RxD0 10
// PortE.01 TxD0 10
// PortE.00 OutPut 00
rPCONE = 0x00025568;
rPDATE = 0x1FF;
rPUPE |= 0x0FF06;
//*********断口 PortF配置********/ 9-bit input/output
// 引脚 功能 配置值
// PortF.08 SIOCLK 011
// PortF.07 SIORxD 011
// PortF.06 SIORDY 011 001 OUTPUT
// PortF.05 SIOTXD 011
// PortF.04 nXDREQ0 11
// PortF.03 nXDACK0 11
// PortF.02 nWAIT 10
// PortF.01 IICSDA 10
// PortF.00 IICSCL 10
//rPCONF = 0x001B2FEA;
rPCONF = 0x0024900a; //0 1->IICSCL IICSDA, 2~4->input 5~8->IIS PORT
rPDATF = 0x1FF;
rPUPF |= 0x3; //SDA,SCL 接上拉电阻
//*********断口 PortG配置********/ 8-bit input/output
// 引脚 功能 配置值
// PortF.07 InPut 00 S4
// PortF.06 InPut 11 S3
// PortF.05 InPut 11 S2
// PortF.04 InPut 11 S1
// PortF.03 EINT3 11
// PortF.02 EINT2 11
// PortF.01 EINT1 11
// PortF.00 EINT0 11
rPCONG = 0x000000FF;
rPDATG = 0xFF;
/***** 外部中断触发模式配置 *****/
// 中断 信号 配置值
// EINT7 下降缘触发 011
// EINT6 下降缘触发 011
// EINT5 下降缘触发 011
// EINT4 下降缘触发 011
// EINT3 下降缘触发 011
// EINT2 下降缘触发 011
// EINT1 高电平触发 001
// EINT0 下降缘触发 011
rEXTINT = 0x33333313;
}
//PortE FOR LED
void IO_PortSetLed(unsigned char OnOff)
{
if( OnOff == LEDON ) rPDATE = rPDATE | BIT_IOLED;
if( OnOff == LEDOFF ) rPDATE = rPDATE & (~BIT_IOLED);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -