1)我尝试写入两个程序1)将一个数字的4位写入一个端口中的4个引脚、将第二个端口中的4个位写入2)读取这些位。 我遇到的困难是如何写入和读取各个 引脚、可能我缺少一些文档、但我似乎无法弄清这一点。
我的端口 D 和 E 初始化如下:
如果有人 能向我指出在哪里可以阅读或纠正我的理解 、我会很感激。 谢谢。
void PortDInit (void){
volatile unsigned long delay;
SYSCTL_RCGC2_R |= SYSCTL_RCGC2_GPIOF;// 1) D 时钟
延迟= SYSCTL_RCGC2_R;//延迟
GPIO_PORTD_LOCK_R = 0x4C4F434B;// 2)解锁 PortD
GPIO_PORTD_CR_R |= 0x14;//允许更改 PF4 (SW1)和 PF2 (蓝色 LED)
GPIO_PORTD_AMSEL_R = 0x00;// 3)禁用模拟功能
GPIO_PORTD_PCTL_R = 0x00;// 4) GPIO 清除位 PCTL
GPIO_PORTD_DIR_R &=~ 0x07;// 5) PD2、PD1、PD0用于输出
//输出 PF2 (蓝色 LED)
GPIO_PORTD_AFSEL_R = 0x00;// 6)无备用功能
GPIO_PORTD_PUR_R |= 0x10;//在 PF4上启用上拉电阻器
GPIO_PORTD_DEN_R |= 0x14;// 7)启用数字引脚 PF4、PF2
}
//初始化 Porte
void Porte Init (void){
volatile unsigned long delay;
SYSCTL_RCGC2_R |= 0x00000010;// 1) E 时钟
延迟= SYSCTL_RCGC2_R;//延迟
GPIO_Porte _CR_R = 0x2F;//允许更改为 PE5、3-0
GPIO_Porte _AMSEL_R = 0x00;// 3)禁用模拟功能
GPIO_Porte _PCTL_R = 0x00000000;// 4) GPIO 清零位 PCTL
GPIO_Porte _DIR_= 0x08;// 5) PE3输入
GPIO_Porte _DIR_R &=~ 0x07;// 5) PE2、PE1、PE0输出
GPIO_Porte _AFSEL_R = 0x00;// 6)无备用功能
GPIO_Porte _PUR_= 0x08;//在 PE3上启用上拉电阻器
GPIO_PORT_DEN_R = 0x0F;// 7)启用数字引脚 PE3-PE0