[Linux项目实践] 物联网单板测试之任务一:实现流水灯
2012-03-30 12:29
525 查看
完成单板代码
/*任务1:实现流水灯*/
步骤:
1.1、找到单板电路图(FS_11C14 V3.0.pdf)上要实现的流水灯的LED灯,即LED1、LED2
1.2、找到LED1、LED2对应MCU上的寄存器接口,即LED1对应PIO3_0、LED2对应PIO3_1
1.3、查找MCU芯片资料(LPC1111_12_13_14 Datasheet R3.pdf)对应寄存器相关技术参数
由芯片资料可知PIO3是一个12bit的I/O寄存器
当其设定为0时,是为输出
当其设定为1时,是为输入
1.4、不知道代码怎么写?参考下面speaker的代码
由此两行代码我们猜测可知
void GPIOSetDir( uint32_t portNum, uint32_t bitPosi, uint32_t dir )
{
if(dir)
LPC_GPIO[portNum]->DIR |= 1<<bitPosi;
else
LPC_GPIO[portNum]->DIR &= ~(1<<bitPosi);
}设置GPIO口的输入输出
void GPIOSetValue( uint32_t portNum, uint32_t bitPosi, uint32_t bitVal )
{
LPC_GPIO[portNum]->MASKED_ACCESS[(1<<bitPosi)] = (bitVal<<bitPosi);
}设置GPIO口输入或输出的高电平或者低电平
1.5、此处,我们首相将我们的两个LED1、LED2点亮
代码编译,烧录后结果LED1和LED2均可点亮
1.6、实现流水灯,那么这里我们使用一个for循环和if判断来实现
代码编译烧录后可实现LED1、LED2的流水灯
/*任务1:实现流水灯*/
步骤:
1.1、找到单板电路图(FS_11C14 V3.0.pdf)上要实现的流水灯的LED灯,即LED1、LED2
1.2、找到LED1、LED2对应MCU上的寄存器接口,即LED1对应PIO3_0、LED2对应PIO3_1
1.3、查找MCU芯片资料(LPC1111_12_13_14 Datasheet R3.pdf)对应寄存器相关技术参数
由芯片资料可知PIO3是一个12bit的I/O寄存器
当其设定为0时,是为输出
当其设定为1时,是为输入
1.4、不知道代码怎么写?参考下面speaker的代码
由此两行代码我们猜测可知
void GPIOSetDir( uint32_t portNum, uint32_t bitPosi, uint32_t dir )
{
if(dir)
LPC_GPIO[portNum]->DIR |= 1<<bitPosi;
else
LPC_GPIO[portNum]->DIR &= ~(1<<bitPosi);
}设置GPIO口的输入输出
void GPIOSetValue( uint32_t portNum, uint32_t bitPosi, uint32_t bitVal )
{
LPC_GPIO[portNum]->MASKED_ACCESS[(1<<bitPosi)] = (bitVal<<bitPosi);
}设置GPIO口输入或输出的高电平或者低电平
1.5、此处,我们首相将我们的两个LED1、LED2点亮
代码编译,烧录后结果LED1和LED2均可点亮
1.6、实现流水灯,那么这里我们使用一个for循环和if判断来实现
代码编译烧录后可实现LED1、LED2的流水灯
相关文章推荐
- [Linux项目实践] 物联网单板测试之任务五:ZigBee Module之Fuction
- [Linux项目实践] 物联网单板测试之任务五:ZigBee Module之ZigBee_Test
- [Linux项目实践] 物联网单板测试之任务五:ZigBee Module之Transfer
- [Linux项目实践] 物联网单板测试之任务六:Accelerometer重力加速计
- [Linux项目实践] 物联网单板测试之任务四:光敏电阻
- [Linux项目实践] 物联网单板测试之任务三:OLED菜单控制LED
- [Linux项目实践] 物联网单板测试之任务七:RFID之RFID_Test
- [Linux项目实践] 物联网单板测试之任务二:操作风扇
- [Linux项目实践] 物联网单板测试之任务三:OLED菜单控制LED
- [Linux项目实践] 物联网单板测试:LPC11C14 IIC_Init
- [Linux项目实践] 物联网单板测试:OLED Dis_Menu
- [Linux项目实践] 物联网单板测试:OLED Dis_Menu
- Linux下实现流水灯等功能的LED驱动代码及测试实例
- 利用Linux中的crontab实现分布式项目定时任务
- 利用Linux中的crontab实现分布式项目定时任务功能
- Linux企业级项目实践之网络爬虫(23)——系统测试:找出系统中的bug
- Linux编程实践——文件I/O缓冲区测试及cat简单实现
- Linux企业级项目实践之网络爬虫(23)——系统测试:找出系统中的bug
- 第十二周上机实践——项目3-数组类运算的实现
- Linux开源模块移植概述暨交叉编译跨平台移植总结--摘自《嵌入式Linux驱动模板精讲与项目实践》