02 开发环境与第一个mbed程序
概要:按照官方wiki做就行,注意事项:开发板自带的flash盘的链接添加的是nRF51-DK,用这个是不行的,必须用nRF51822,原因未知。具体过程如下。
将开发板插入电脑后,会看到一个名字叫JLINK的flash盘,里面有4个文件,从readme的文档中可以知道,这个就是用来更新目标板程序用的flash盘,只要把hex文件拖进去,就可以完成程序的下载。
在浏览器中打开其中的MBED.HTM,则会自动连接到mbed网站,并将对应的开发板加入到自己账户名下,很是方便。同时也说明了我们的开发板其实对应的就是Nordic nRF51-DK,至少在编程器部分是相同的。
写到这里发现忽然有点问题,就是官方的wiki上说选用的是Nordic nRF51822,到底应该用哪个?还得后续试用才知道。
所以就让我们从点亮LED开始吧,原理图显示,低电平点亮,R连P020,蓝色P019
mbed的代码组织和开发过程倒是和常见的IDE相似,原始界面如下图,workshop下面就是自己的各个program了。可以新建,也可以导入,最右边是帮助。
点新建可以出来界面,我们来一个LinkNode_blink
然后增加一个main.cpp文件,并在里面添加官网代码
- #include<mbed.h>
- DigitalOut LED_R(P0_20);
- DigitalOut LED_B(P0_19);
- int main()
- {
- while(1)
- {
- LED_R=0;
- LED_B=1;
- wait(0.5);
- LED_R=1;
- LED_B=0;
- wait(0.5);
- }
- }
如果忘记导入mbed库,会有错误提示,
点击fix it可以自动跳出lib的搜寻结果,找到合适添加一下就好了,添加完以后会自动重新编译(也可以编译前手动导入)。
编译成功就可以下载hex文件到本地啦,不过不能直接下载到那个jlink盘里面,要下载到本地,然后再拖进去。复制进去以后会自动重启,可是,并没有看到什么blink!试了很多次还是这样,最后忽然想到,要不换一块板?从nRF51DK换成nRF51822,成功闪烁!看来有时盘里的东西也不一定靠谱啊,还是看官网的说明比较靠谱。
汇总帖在此:
【linknode评测】—— by johnrey
http://bbs.eeworld.com.cn/forum. ... &fromuid=536508
这个问题很奇怪。因为nrf51dk指的是nordic官方出的那块 development kit,按道理是一致的才对。
兄弟,刚看到 @数码小叶 的帖子,虽然水了点,图多了点,但我看到那个nrf51dk的板子图时才发现不对劲,回头一搜,果然,nrf51dk的主控是nrf51422,对应的蓝牙是4.0版本,而nrf51822这个是4.1的,另外,官方出的nrf51822的板子,应该叫nrf51822-dk,看样子,那个是先出的,名字定死了
我当时的感觉也是觉得主控不对,不过没有细看。官方对这个dk的介绍也很模糊,原文如下,不知道哪个脑残写的,说同时支持822和422:
The nRF51 DK is a low-cost, versatile single-board development kit for Bluetooth® Smart, ANT and 2.4GHz proprietary applications using the nRF51 Series SoC. This kit supports development for both nRF51822 and nRF51422 SoCs.
地址在http://www.nordicsemi.com/eng/Products/nRF51-DK
手机搜不到板子!!!
不用说了,这事我有经验
肯定是sdk softdevice啥的烧不对。
我就说了这狗日的地方麻烦吧
最后你写了个什么下载到inknode板子上,求分享