Nordic52810入门篇 - GPIO的控制(点亮LED)

最近有朋友一直吐槽,KEIL的代理商正在降维打击,于是默默卸载了KEIL

本章节就在IAR上面进行开发,讲下如何控制LED,网上资料很多了,LZ边看资料边验证,也算是造轮子了,hahaha

话不多说,先讲下Nordic的IO结构

一、GPIO结构原理

  • 图中的链路可以看出,PIN0-PIN31可以通过(OUT/IN)进行配置输入输出
  • 可以通过CNF进行复用功能的开关;输出复用:硬件SPI/硬件UART;复用输入:ADC
  • 使能Sense后就可以实现IO中断的功能(类似IO外部中断,可唤醒系统)
  • IO口可以配置成输入、输出、复用(模拟)

二、GPIO相关寄存器

2.1 输出相关寄存器

OUT(0x504):写GPIO端口,按位(0-31)写入1(HIGH)对应端口输出高;写0(LOW)对应端口输出低;

OUTSET(0x0508):输出置位寄存器,按位(0-31)写入1(HIGH)对应端口输出高;写0(LOW)无效

OUTCLR(0x050C):输出清0寄存器,按位(0-31)写入1(HIGH)对应端口输出低;写0(LOW)无效

2.2 输入相关寄存器

IN(0x510):端口输入寄存器,引脚为低电平时读取值为0,引脚为高电平时读取值为1

2.3 控制寄存器

DIR(0x514):方向寄存器,写0对应PIN脚设置为输入;写1对应引脚设置为输出

DIRSET(0x518):方向设置寄存器,写1设置为输出,写0无效

DIRCLR(0x51C):方向清除寄存器,写1设置为输入,写0无效

LATCH(0x520):锁存寄存器,如上图即将所有引脚电平变化可存储在LATCH寄存器中

DETECTMODE(0x524):检测模式配置寄存器,写0直接连接到引脚检测,写1通过锁存器Latch

PIN_CNF[0-31](0x700):功能配置寄存器,可配置输入输出、上下拉、睡眠(SYSTEM OFF)后的唤醒电平(外部IO中断)

三、代码实例

3.1 输出配置

#define LED_PIN          17 //Nordic官方DEMO板的LED引脚

nrf_gpio_cfg_output(LED_PIN); //配置输出

nrf_gpio_pin_set(LED_PIN); //输出高电平

nrf_gpio_pin_clear(LED_PIN); //输出低电平

nrf_gpio_pin_toggle(LED_PIN); //电平翻转

3.2 main函数

/**@brief Function for application main entry.
 */
int main(void)
{
    bool erase_bonds;

    // Initialize.
    log_init();
    //timers_init();
    //buttons_leds_init(&erase_bonds);
    power_management_init();
    ble_stack_init();
    gap_params_init();
    gatt_init();
    advertising_init();
    services_init();
    conn_params_init();
    peer_manager_init();

    // Start execution.
    NRF_LOG_INFO("Template example started.");
    //application_timers_start();

    //advertising_start(erase_bonds);

    nrf_gpio_cfg_output(LED_PIN); //配置输出


    // Enter main loop.
    for (;;)
    {
        idle_state_handle();
        nrf_gpio_pin_toggle(LED_PIN); //100ms闪烁
        nrf_delay_ms(100);
    }
}

 

 

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
### 回答1: nrf52810开发指南-上册.pdf是一本非常详细的指南,可以帮助人们更好地了解和学习nrf52810无线芯片的开发和使用方法。该指南主要介绍了nrf52810的基本特性、硬件架构、软件开发环境、开发工具、编程语言、开发流程等方面的内容。 该指南以实例讲解的方式,详细介绍了如何使用nrf52810从事无线应用程序的开发。具体而言,该指南介绍了如何使用Keil MDK、IAR Embedded Workbench、SEGGER Embedded Studio等IDE工具,以及nrf5 SDK和nrf5x Command Line Tools等开发工具进行开发。 另外,该指南还分析了nrf52810在无线通讯中的应用场景,包括基于Bluetooth Low Energy(BLE)的智能家居、可穿戴设备等领域。通过实践和案例演示,读者能够深入了解nrf52810芯片的广泛应用前景。 总之,nrf52810开发指南-上册.pdf是一份非常有价值的指南,对于无线产品开发者和爱好者都有非常大的帮助,值得一读。 ### 回答2: nrf52810是Nordic公司最新推出的低功耗蓝牙芯片,它采用ARM Cortex-M4处理器,拥有256KB的闪存和24KB的RAM,非常适合开发低功耗蓝牙设备。该芯片还支持Nordic公司自主开发的S132 SoftDevice协议栈,可以实现BLE4.2和BLE5.0的各种特性,如长包、扫描窗口等。 该开发指南共分为六个章节,第一章介绍了nrf52810芯片的主要特点,第二章讲解了如何使用开发板进行测试与调试,第三章介绍了如何使用nRF5 SDK和nRF5 SoftDevice进行开发,第四章讲解了如何使用Nordic公司的开发工具nRF Connect和Segger J-Link进行开发,第五章讲解了如何进行定制化开发,第六章则是常见问题解答与扩展阅读。 通过阅读该开发指南,开发者可以快速了解nrf52810芯片的各项特性,掌握开发与调试技巧,并且学会如何利用Nordic公司的各种开发工具进行开发。此外,该指南还提供了大量的编程示例和实验框图,可以帮助开发者快速上手并深入理解nrf52810的开发流程。 总之,nrf52810开发指南为开发低功耗蓝牙设备的开发者提供了全面且实用的开发指导,是一本非常优秀的开发书籍,值得大家阅读。 ### 回答3: nRF52810开发指南-上册是针对nRF52810芯片的开发指南,该芯片是由北欧半导体公司推出的低功耗蓝牙SoC芯片。本开发指南针对该芯片的主要功能特点和应用场景,提供了全面的技术说明和具体实践操作指引。 一方面,本开发指南详细介绍了nRF52810芯片的硬件架构和软件框架,包括CPU核心、内存、外设、通信接口等方面的详细说明,同时还介绍了nRF52810芯片的功耗特点和低功耗技术实现方法。这些内容对于硬件工程师和软件工程师来说都是非常重要的,可以帮助他们在设计和开发过程中更好地了解和掌握nRF52810芯片的内部结构和工作原理。 另一方面,本开发指南还提供了丰富的样例程序和实践案例,包括基于SDK的应用程序设计、BLE服务设计、无线OTA升级、传感器数据采集和处理等方面的实现方法和具体代码。这些实践案例不仅可以帮助读者更好地理解nRF52810芯片的使用方法和应用场景,还可以为实际应用开发提供有参考价值的实践经验。 总之,nRF52810开发指南-上册是一份非常优秀的技术文档,对于从事低功耗蓝牙应用开发的工程师和科研人员来说都是非常有价值的。它详细介绍了nRF52810芯片的设计和开发方法、低功耗技术实现方案,并提供了多个实践案例和具体的应用程序设计,为读者提供了全面且实用的技术指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值