您的位置:首页 > 运维架构 > Linux

[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的流水灯
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐