关闭

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

标签: 任务linux测试accessc
944人阅读 评论(0) 收藏 举报
分类:

完成单板代码

/*任务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的流水灯

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:46856次
    • 积分:699
    • 等级:
    • 排名:千里之外
    • 原创:25篇
    • 转载:0篇
    • 译文:0篇
    • 评论:3条
    文章分类
    文章存档
    最新评论