[Linux项目实践] 物联网单板测试之任务一:实现流水灯

完成单板代码

/*任务1:实现流水灯*/

步骤:

1.1、找到单板电路图(FS_11C14 V3.0.pdf)上要实现的流水灯的LED灯,即LED1LED2

1.2、找到LED1LED2对应MCU上的寄存器接口,即LED1对应PIO3_0LED2对应PIO3_1

1.3、查找MCU芯片资料(LPC1111_12_13_14 Datasheet R3.pdf)对应寄存器相关技术参数

由芯片资料可知PIO3是一个12bitI/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、此处,我们首相将我们的两个LED1LED2点亮

代码编译,烧录后结果LED1LED2均可点亮

1.6、实现流水灯,那么这里我们使用一个for循环和if判断来实现

代码编译烧录后可实现LED1LED2的流水灯

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值