新唐 Nuvoton NUC029 入门 点亮板载LED
官网地址
http://www.nuvoton.com.cn/products/microcontrollers/arm-cortex-m0-mcus/nuc029-series/nuc029sde/
需要用到的软件地址
http://www.nuvoton.com.cn/products/microcontrollers/arm-cortex-m0-mcus/nuc029-series/nuc029sde/?group=Software&tab=2
下载实例代码(BSP)NUC029xDE_Series_BSP_CMSIS_v3_00_002
如果你是从0接触的新唐,那么从新唐还需要下载 ICP及驱动,其他工具什么的暂时用不到
开发环境使用的是 Keil 5 (keil官网下载版本是 5.30 大约800M),如果你还要做51开发,那就先安装51再安装ARM版的Keil
对BSP稍微说下里面的东西,解压缩后看到3个文件夹和一个pdf
pdf描述了3个文件夹具体功能,啰嗦的说 :
Document 文档
Library是我们开发需要用到的依赖库文件
SampleCode开发的demo代码,对于会的人这些也许有用,对于不会的,这就是天书(他不认识我,我不认识他)
然后放上一张图片,也就是买来的板子的样子
然后说项目创建,NUC029xDEBSP_CMSIS_v3.00.002\SampleCode\Template 模板目录下可以复制一份直接打开用
主要用到的是keil文件夹和main.c,复制 Template 改为 Template_led (这样的目的在于保持了原有依赖地址可用,又不破坏原有文件)
这里主要用到的依赖文件有
NUC029xDEBSP_CMSIS_v3.00.002\Library\Device\Nuvoton\NUC029xDE\Source\system_NUC029xDE.c
NUC029xDEBSP_CMSIS_v3.00.002\Library\Device\Nuvoton\NUC029xDE\Source\ARM\startup_NUC029xDE.s
NUC029xDEBSP_CMSIS_v3.00.002\Library\StdDriver\src\clk.c 等需要用到的文件(按上图可见retarget.c uart.c sys.c clk.c)
上面图片的目录结构并不是真实文件存放的目录,只是标识要用这些文件,人为的创建文件夹进行分类
正文
看板子的LED灯位置,前面板子的图,左边芯片的左边有2个小白块,也就是2个LED灯,绿色和红色,接usb通电后绿灯常亮(这个是电源指示灯),旁边的LED灯默认是灭的,旁边白字写着POWER 还有 GPIO1,这里我们就不清楚GPIO1是接在芯片那个端口了,上大杀器。。。文档PDF
http://www.nuvoton.com.cn/export/resource-files/UM_NuTiny-SDK-NUC029SDE_EN_Rev1.00.pdf
最后可以看到PCB和相关的介绍 LED灯接的是芯片的 PB13
按照电路设计一般都使用上拉电阻方式连接LED,说人话就是电源接电阻和LED然后再接到PB13的芯片脚上。
所以点亮LED我们就需要让PB13变成低电平,这样电流经过电阻和LED再到PB13就让LED亮了,PB13高电平时候相当于LED两端电压相同,不会有电流通过...灯灭
#include <stdio.h>
#include "NUC029xDE.h"#define PLL_CLOCK 50000000void SYS_Init(void)
{/*---------------------------------------------------------------------------------------------------------*//* Init System Clock *//*---------------------------------------------------------------------------------------------------------*//* Enable Internal RC 22.1184MHz clock */CLK_EnableXtalRC(CLK_PWRCON_OSC22M_EN_Msk);/* Waiting for Internal RC clock ready */CLK_WaitClockReady(CLK_CLKSTATUS_OSC22M_STB_Msk);/* Switch HCLK clock source to Internal RC and HCLK source divide 1 */CLK_SetHCLK(CLK_CLKSEL0_HCLK_S_HIRC, CLK_CLKDIV_HCLK(1));/* Enable external XTAL 12MHz clock */CLK_EnableXtalRC(CLK_PWRCON_XTL12M_EN_Msk);/* Waiting for external XTAL clock ready */CLK_WaitClockReady(CLK_CLKSTATUS_XTL12M_STB_Msk);/* Set core clock as PLL_CLOCK from PLL */CLK_SetCoreClock(PLL_CLOCK);}static void delay_ms(uint16_t nDelay)
{uint16_t nIndex;for(nIndex = 0; nIndex < nDelay; nIndex++){CLK_SysTickDelay(1000);//delay one ms}
}
/*---------------------------------------------------------------------------------------------------------*/
/* MAIN function */
/*---------------------------------------------------------------------------------------------------------*/
int main(void)
{/* Unlock protected registers */SYS_UnlockReg();/* Init System, peripheral clock and multi-function I/O */SYS_Init();/* Lock protected registers */SYS_LockReg();GPIO_SetMode(PB,BIT13,GPIO_PMD_OUTPUT);while(1){PB13 = 1;delay_ms(1000);PB13 = 0;delay_ms(1000);}
}
对于点亮LED我们需要的主要是 gpio.c clk.c sys.c
看名字 gpio管脚定义,clk主要是定时延时,sys就是系统函数调用
都折腾完了就build代码,编译完了看最下面控制台,只要没有error就可以download代码到芯片了
然后就看到1秒亮1秒灭了~
如果有错误那就修改配置,上面图片options for target
关于keil配置的事儿,百度或者看我搜到的这篇文章
https://www.cnblogs.com/zhugeanran/p/9229505.html
后面找时间再写 NuMaker-ML51PC 也就是 新唐8051点亮LED的代码。51的比M0要简单多了
最后感叹下,新唐的门槛太高了,没有点基础想玩起来太难了,虽然网上经常有1折买开发板的活动,但是很多人买了之后只能吃灰,因为很多人都是图新鲜,但发现买完了以后无从下手直接就丢一边了。
学生才是市场的新鲜血液,与其低价漫无目的的推广还不如用心在入门文章和视频上多花点时间和精力。。。只有会用,才可能有人用
新唐 Nuvoton NUC029 入门 点亮板载LED相关推荐
- 米思奇blynk_米思奇编程积木套件入门教程 项目一:点亮板载LED灯
该教程实验平台:上一篇教程:本节课程任务 任务1--点亮板载LED灯 1.程序编写 双击右图中的Mixly.vbs文件,即可打开Mixly软件: 2.png (109.53 KB, 下载次数: 56) ...
- cubieboard上通过U-boot点亮板载LED
有空了,先先来个简单的u-boot上实现LED控制 软件环境: 笔记本一台,安装WindowsXP sp3 XP下软件:Source Insight 3.5:SecureCRT:VMware Work ...
- 使用arduino D1 wifi模块(WeMos D1)连接阿里云物联网平台并成功实现APP点亮板载LED(四)---阿里云物联网平台使用基础
前面几个文章一直在分析arduino d1 wifi模块如何安装开发板库,如何编程,如何调用wifi操作库,如何运行第一个网络扫描程序. 现在突然跳转到介绍阿里云,为什么呢? 原因很简单,就是物联网设 ...
- 使用arduino D1 wifi模块(WeMos D1)连接阿里云物联网平台并成功实现APP点亮板载LED(九)---制作APP
前几篇文章讲解了如何在阿里云控制台上给设备登记"身份证",如何用MQTT.fx客户端模拟一个设备连接阿里云物联网平台,分析了arduino编程环境如何配置依赖库,在arduino ...
- 使用arduino D1 wifi模块(WeMos D1)连接阿里云物联网平台并成功实现APP点亮板载LED(五)---MQTT.fx模拟设备连接阿里云
前文提到,物联网设备在阿里云物联网平台登记了"身份证"之后,阿里云物联网平台上的设备就处于"未激活""离线"或者"在线" ...
- STM32F103ZET6点亮板载LED灯
1.新建工程,这边先套用了原子的工程模板 2.编写LED.C文件,GPIO引脚使能,查看原理图,发现我的开发板LED灯连接的引脚为PB9和PE5,于是我们初始化PB9和PE5即可 #include & ...
- 使用arduino D1 wifi模块(WeMos D1)连接阿里云物联网平台并成功实现APP点亮板载LED(三)---D1 wifi模块连接网络
做硬件实验,切记不要奢望一蹴而就.哪怕是对照网络上的文章一步步操作,也不会一次成功.因为总有一些细节是自己容易忽略的,你要具备一定的基础知识才能将遇到的小问题排除,才能保证操作成功.甚至有的人操作系统 ...
- Beaglebone Black教程项目1闪烁板载LED
Beaglebone Black教程项目1闪烁板载LED 项目1闪烁板载LED 当设置完你的Beaglebone Black的时候,可能早就非常期待你的第一个项目了.下面就来满足大家的愿望,当然,这个 ...
- 咸鱼ZTMR实例—板载LED
咸鱼ZTMR实例-板载LED 大部分开发板的例程,都是从闪灯(控制LED闪烁)开始的.因为闪灯的程序简单,也比较直观,不但可以让初学者快速了解基本方法, 也可以直观地看到效果. 用法 说明 pyb.L ...
最新文章
- 蒙特卡洛粒子滤波定位算法_粒子滤波——来自哈佛的详细的粒子滤波器教程【1】...
- Android Activity Launch Mode 启动模式详解
- 4 文件操作 支持图片 视频 mp3 文本等
- 交通与计算机杂志社,交通信息与安全
- 大顶堆删除最大值_C++|使用STL算法创建、调整、输出最大堆、最小堆
- python 打印文件名_在Python中打印文件名,关闭状态和文件模式
- c#如何嵌套第三方程序_C#程序演示嵌套条件运算符的示例
- Spring Cloud Eureka(三)实现一个高可用的注册中心
- plsql变量参数化_谁说建模一定要会画图?参数化设计让你事半功倍!
- C语言格式化读写文件
- jQuery设置iframe的高度
- python只保留大写字母_python - 匹配某一行并保留大写字母?
- vivo21a点击android版本,VIVO X21A原厂线刷救砖包_内附工具可救砖
- 计算机的通讯方式有哪些特点,1.串行通信有几种方式?它们的特点分别是什么...
- 制作外挂需要多高的编程技术?
- 豆瓣电影Top250信息爬取并保存到excel文件中!
- excel中图片链接利用宏VB转换为图片展示
- 专升本英语——应试题型突破——翻译——名言警句【学习笔记】
- Jenkins配置定时任务
- 完美解决Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded datasource的问题
热门文章
- 《生活,是很好玩的》读书日记
- 电脑网站如何用支付宝收款(php)
- 我的世界服务器修改个人游戏模式吗,我的世界1period;12指令更改模式 | 手游网游页游攻略大全...
- 中国联通将 900MHz 频段频谱资源重耕用于 5G 系统,更有利用把5G网络覆盖到边远地区的每一寸土地
- autojs脚本通用ui模板解决了一些已知问题
- Python金融应用编程(数据分析、定价与量化投资) !
- 网络安全之盗号木马原理
- 服务器维护后稀有怪刷新,北极稀有怪刷新规律 时光龙能100%取得?
- “知识共享”与智能数学老师
- UNIX 标准化 --ISO C标准 IEEE POSIX 标准 Single Unix Specification(SUS)