NRF51822自学笔记(一) 流水灯

本文记录了学习NRF51822微控制器的初步体验,重点介绍了如何使用gpio.h和delay.c实现流水灯效果。通过修改STATE_MASK、LED_START和LED_STOP变量控制点亮的LED数量和顺序,同时也探讨了如何通过调整STATE_MASK来实现不同数量的灯流水点亮。
摘要由CSDN通过智能技术生成

最近在学nrf51822这个板子,下载程序点灯啥的零零碎碎弄了一天……例程blinky_example中包含了gpio.h和delay.c

看main.c之前我先看了这两个,例程里应用了一个简单不精确的延时函数,用循环内延时微秒函数实现延时毫秒,挺有意思的……

void nrf_delay_ms(uint32_t volatile number_of_ms)
{
  while(number_of_ms != 0)
  {
    number_of_ms--;
    nrf_delay_us(999);
  }
}
然后gpio.h里包含初始化port和pin,设置output,input,写入读取等函数。
下面是main函数
int main(void)
{
  uint8_t output_state = 0;

  // Configure LED-pins as outputs
  nrf_gpio_range_cfg_output(LED_START,LED_STOP);

  while(true)
  {
    nrf_gpio_port_write(LED_PORT, 1 << (output_state + LED_OFFSET));
    output_state = (output_state + 1) &STATE_MASK;
    nrf_delay_ms(100);
  }
}
LED_OFFSET=2,也就是说nrf_gpio_port_write() 这个函数的初
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值