在线时间97 小时
UID384705
注册时间2017-3-8
NXP金币0
TA的每日心情 | 开心 2019-7-20 09:11 |
---|
签到天数: 7 天 [LV.3]偶尔看看II
高级会员
- 积分
- 642
- 最后登录
- 2019-12-2
|
本帖最后由 wbeast 于 2019-4-13 09:27 编辑
LED实验,本质上就是操作Lpc1768的GPIO管脚。从下图可以看出,LED的控制管脚是P0.0~P0.7。想要点亮LE灯,需要P0.0~P0.7管脚输出高电平
void LED_Config(void)
{
// 第一步打开GPIO外设时钟功率,只要打开了,才能操作相关的GPIO寄存器
Chip_GPIO_Init(LPC_GPIO);//外设时钟功率
//第二步 设置GPIO管脚为普通GPIO功能。
Chip_IOCON_PinMux(LPC_IOCON, 2, 0, IOCON_MODE_INACT, IOCON_FUNC0);
//IOCON_FUNC0 设置P2.0为GPIO功能 ,IOCON_MODE_INACT(关闭上下拉功能)
Chip_IOCON_PinMux(LPC_IOCON, 2, 1, IOCON_MODE_INACT, IOCON_FUNC0);//IOCON_FUNC0 设置P2.1为GPIO功能
Chip_IOCON_PinMux(LPC_IOCON, 2, 2, IOCON_MODE_INACT, IOCON_FUNC0);
Chip_IOCON_PinMux(LPC_IOCON, 2, 3, IOCON_MODE_INACT, IOCON_FUNC0);
Chip_IOCON_PinMux(LPC_IOCON, 2, 4, IOCON_MODE_INACT, IOCON_FUNC0);
Chip_IOCON_PinMux(LPC_IOCON, 2, 5, IOCON_MODE_INACT, IOCON_FUNC0);
Chip_IOCON_PinMux(LPC_IOCON, 2, 6, IOCON_MODE_INACT, IOCON_FUNC0);
Chip_IOCON_PinMux(LPC_IOCON, 2, 7, IOCON_MODE_INACT, IOCON_FUNC0);//设置P2.7为GPIO功能
//第三步 设置输出模式,因为是要控制外围器件,设置为输出模式
Chip_GPIO_SetPinDIR(LPC_GPIO,2, 0, true);//设置P2.0输出模式 true,输出模式 false输入模式
Chip_GPIO_SetPinDIR(LPC_GPIO,2, 1, true);//设置输出模式
Chip_GPIO_SetPinDIR(LPC_GPIO,2, 2, true);//设置输出模式
Chip_GPIO_SetPinDIR(LPC_GPIO,2, 3, true);//设置输出模式
Chip_GPIO_SetPinDIR(LPC_GPIO,2, 4, true);//设置输出模式
Chip_GPIO_SetPinDIR(LPC_GPIO,2, 5, true);//设置输出模式
Chip_GPIO_SetPinDIR(LPC_GPIO,2, 6, true);//设置输出模式
Chip_GPIO_SetPinDIR(LPC_GPIO,2, 7, true);//设置输出模式
//第四步 设置输出低电平 P2.0~P2.7 。
Chip_GPIO_SetPortValue(LPC_GPIO,2,0XFFFFFF00);//设置输出低电平 P2.0~P2.7
}
下面两个函数是控制输出高低电平的位操作函数,它和 Chip_GPIO_SetPortValue();函数的使用效果是一样的。
Chip_GPIO_SetPinOutHigh(LPC_GPIO,2,0)//设置P2.0输出高电平
Chip_GPIO_SetPinOutLow(LPC_GPIO,2,0)//设置P2.0输出低电平
【01】LPC1768_LED实验.rar
(251.57 KB, 下载次数: 83)
|
|