Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
GPIO
nuc980
Nuvoton_新唐mcu
NUC980测评快速上手与GPIO
发布于 2022-03-24 23:39:15 浏览:2117
订阅该版
开发板:新唐NK-980IOT V1.0 开发工具:RT-Thread Studio 2.1.5;NUWriter 1.0.0.1 感谢RT-Thread提供的测评机会,也感谢新唐科技提供这么好的开发板,首先介绍一下板子上的两个端口,两个microusb分别为NUWriter的下载口与普通串口,所以基本上一根线就可以满足譬如GPIO的测评。 ![1.jpg](https://oss-club.rt-thread.org/uploads/20220324/dd339f3c2cb787612e8c382973f849a7.jpg.webp) 1.板载GPIO介绍 NUC980是新唐科技32位Cortex-A系列内核产品,NUC980IOT所使用的芯片为NUC980DK61YNUC980DK61Y系列采用ARM926EJ-S核心,执行速度高达300MHz,堆栈64 MB DDR-II内存于同一封装,提供128-pin LQFP封装,大幅减少PCB尺寸和降低电磁干扰(EM),丰富的周边功能包含:10组UART接口、SDIO/eMMC接口、NAND Flash接口、8组USB Host、QSPINAND界面、2組10/100 Mbps Ethernet MAC和高速USB2.0Host/Device等,其中128-pin提供了最多92路GPIO,适配了RT-thread操作系统后,可以提供包括输出输入,上拉输入下拉输入和开漏输入等不同模式,详见[RT-ThreadAPI参口手册](https://www.rt-thread.org/document/api/group__pin.html#ga04252280d75185b75ad19875d9441e6f) ![2.png](https://oss-club.rt-thread.org/uploads/20220324/1a9cef77b550b76c3e78e06a6ac8d33a.png) 2.工程建立及gpio测试 下载安装RT-Thread Studio和对应的开发板支持包,因为之前Studio的2.2.0有bug,所以我的stdio版本是2.1.5。在SDK管理器中添加NK-980IOT的支持包 ![3.png](https://oss-club.rt-thread.org/uploads/20220324/90c6ebf8758787cf896540b57b68a36b.png) 新建工程的操作在这里就不赘述了,选择开发板示例工程即可,要使用板载gpio功能,首先要打开gpio模块,这就是stdio方便的地方,在RT-Thread Setting中选择打开gpio即可。 ![4.png](https://oss-club.rt-thread.org/uploads/20220324/44c3c5efce4439fd31fea90dca99da25.png) 这里内核和组件分别是更改rtos中内核的部分,我们直接选择硬件,在硬件的界面中,我们要开启的gpio是nuc980板载的功能,所以在on-chip一行中,默认已经打开,可以直接跳过。现在来编写测试代码。 ![5.png](https://oss-club.rt-thread.org/uploads/20220324/956b2187ac649c81720409319067942c.png) 我们可以看到,板载的三颗led分别为PB8,PB13,PG15,但是PG15为复用引脚,复用功能为JTAG0_NTRST,需要关闭jtag0,这里暂时不使用,参照api手册,这里主要实现的功能只需要定义引脚模式和更改引脚状态即可。工程代码如下 ``` /**************************************************************************//** * * @copyright (C) 2019 Nuvoton Technology Corp. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: * Date Author Notes * 2020-12-12 Wayne First version * ******************************************************************************/ #include
#include
#include
/* defined the LED_R pin: PB13 */ #define LED_R NU_GET_PININDEX(NU_PB, 13) /* defined the LED_Y pin: PB8 */ #define LED_Y NU_GET_PININDEX(NU_PB, 8) int main(int argc, char **argv) { /* set LED_R pin mode to output */ rt_pin_mode(LED_R, PIN_MODE_OUTPUT); /* set LED_Y pin mode to output */ rt_pin_mode(LED_Y, PIN_MODE_OUTPUT); while (1) { rt_pin_write(LED_Y, PIN_LOW); rt_thread_mdelay(100); rt_pin_write(LED_R, PIN_LOW); rt_thread_mdelay(100); rt_pin_write(LED_Y, PIN_HIGH); rt_thread_mdelay(100); rt_pin_write(LED_R, PIN_HIGH); rt_thread_mdelay(100); } return 0; } ``` Github工程地址https://github.com/Dlmu-LCC/NUC980IOTGPIO 3.下载调试,参照NUC980IOT用户手册,[NuMaker_NUC980_IIoT_User_Manual.pdf](https://oss-club.rt-thread.org/uploads/20220324/a644ac451d45286cbbbaf9c229d81fbf.pdf) 安装好驱动,连接nuwriter的接口USB0Device,选择NUC980DK61Y.ini,在Choose中选择刚才RTthread工程中的Debug\rtthread.bin,点击Re-Connect,确认连接后点击下载,出现如下图即为下载完成 ![6.png](https://oss-club.rt-thread.org/uploads/20220324/3de4a4b23eee498c4f3b4b34cc4994a3.png) 现在来看一下开发板的效果,在代码中,我们先将PB8拉低,延迟后将PB13拉低,之后在将PB8与PB13拉高,实验现象应该是黄灯与红灯交替闪烁,如视频,GPIO测试完成。[95ce9459e9f55b6e68ea10f5ac277f4f.mp4](https://oss-club.rt-thread.org/uploads/20220324/744d49fba03df84c4cf1bfb61f8dbe12.mp4) 4.心得,Stdio一如既往的好用,仅需在setting中做出设置就能直接配置与工程,nuc980搭配上了RT-Thread使上手难度降低了一大截,开发过程查阅RT-ThreadApi手册就基本可以满足需求,没有成功调用PG15实现流水灯确实是一大遗憾,研究好了怎么关闭jtag再回来补充帖子。
3
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
DLMU_lcc
嘛尼叭咪哄
文章
3
回答
0
被采纳
0
关注TA
发私信
相关文章
1
drivers- pin
2
bsp 里面的drivers/gpio.c 少了一个功能
3
stm32f407移植RTT中gpio设备驱动问题
4
config PB4(NJTRST) to GPIO
5
RT-Thread的GPIO设备驱动问题
6
关于pin.c文件中语句可能出现的bug
7
RT-Thread学习笔记--线程创建与官方Pin设备驱动调用
8
【应用笔记】小白也能玩转RT-Thread之通用GPIO设备【官方出品
9
串口引脚定义中的GPIO_Pin_sources是社么意思?
10
RTT -GPIO 使用例程
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
DMA
USB
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
I2C_IIC
ESP8266
UART
WIZnet_W5500
ota在线升级
cubemx
PWM
flash
freemodbus
BSP
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
keil_MDK
SFUD
msh
ulog
C++_cpp
MicroPython
本月问答贡献
三世执戟
5
个答案
1
次被采纳
KunYi
4
个答案
1
次被采纳
RTT_逍遥
3
个答案
1
次被采纳
xiaorui
1
个答案
1
次被采纳
JonasWen
1
个答案
1
次被采纳
本月文章贡献
出出啊
1
篇文章
3
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
3
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
2
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部