近年来,ARM越来越流行,cortex M3、M0系列更有取代8位、16位处理器的势头;与此同时,学习Arduino的人越来越多,许多人都用arduino来做自己的创意产品;为了将两者很好的结合起来,coocox推出了基于ARM系列的arduino兼容板——cookie系列。
Cookie特性
cookie系列的第一版是Cookie Numicro,也就是基于新塘M051的cookie板,下面简略说下这个板子的特性:
1. 提供硬件设计的原理图和PCB
2. 完全兼容arduino,arduino中的几百个Shields都可以兼容使用
3. 使用32位的单片机,速度快
4. 板载colinkex调试器
5. coocox提供一系列的免费开发工具
6. coocox的组件平台便于分享代码
cookie的价值
coocox发布arduino兼容开发板具有得天独厚的优势,首先,有cox外设库为其提供坚强的后盾,基于cox的一切cookie是兼容的,基于cox的一切Shields都是轻松可移植的;其次,coocox提供全套的开发工具,编码、编译、调试、下载一应俱全;再次,coocox提供组件分享平台,任何代码可以轻易的分享给所有人,组件平台有客户端版本(COIDE)和网页版本。
相比arduino。Cookie具有很多优势,首先是处理器的优势,cookie是用的32位ARM Cortex MCU最高时钟能达到50+Mhz。相对丰富的外设,使得cookie在接口上可以提出更多扩展功能,比如CAN、USB、Ethernet、RPI等,同时还提供调试接口可以用来调试代码。
但是,常用ARM的arduino兼容板子,也有个缺点,那就是,入门门槛比arduino要高一点点,所幸,cookie不存在这个问题,因为有coide和组件平台的支持,可以方便的入门!
Cookie Numicro
Cookie NuMicro是基于Nuvoton Cortex M0处理器M0516LBN的板子,图片如下:
IO管脚分布图
图 arduino兼容示意图
IO管脚说明:
关于更多关于cookie的基本信息,请参考:
http://www.coocox.org/downloadfi ... 20User%20Manual.pdf
在了解上述基本信息之后,我们可以开始cookie的应用了。
打开coide,选择厂商Novoton,选择芯片M0516LBN,进入组件页面,可以看到一下页面:
图 组件页面
Cookie可用的组件就是CoX组件和CoX驱动,其中,CoX.Cookie.M051.config就是coide对于Cookie板的配置支持,勾选这个组件。
然后勾选xGPIO组件,可以在左上角看到如下图片:
点击xGPIO,在新出来的窗口,可以看到所有适用于xGPIO的例子:
选择Cookie_blink点击add即可将这个例子添加到工程。然后编译,配置调试下载器为colinkex即可下载调试。
完成下载之后,你就能见到Cookie板上的LED闪烁了,是不是很简单,也许你会说,这只是控制一个LED灯,本来就简单,我们下面再演示其他模块,UART、PWM、LCD等。
为了方便,注释掉main.c中main函数中的Cookie_blink(),
回到组件页面,勾选UART组件,按照上述方法在xUART中,添加例子Cookie_printf:
编译,下载。
将通过com9串口线,将Cookie和电脑连接。打开电脑的超级终端,如果你看到“hello Cookie!”,恭喜你,串口打印成功,如果没有反映,先不要着急:
1. 试着按下Cookie的复位按键,看看是不是有反映
2. 检查线路连接是否牢固
3. 检查串口配置是否正确,包括端口号、波特率等
一般情况,做了这三个步骤,你可以看到打印出来“hello Cookie!”如果依然没有打印输出,你再看看Cookie板子上的led等是否在闪烁,如果闪烁表示程序已经下载成功了,问题在于线路连接和PC端。否则的话,你就需要调试来跟踪问题了。
也许有人会说,Arduino好用,主要是arduino提供了几百个可复用的Shield,那么Cookie也可以轻松支持Shield。
以LCDShield为例,在组件页面的右下方点击driver,进入driver页面,勾选LCDshield,再回到peripherals页面勾选xPWM组件,同样的方法,在例子窗口中添加LCD&Motor的例子。
这个例子是两个Shield的结合,一个是LCDShield,这个Shield可以用来显示和按键输入,一个是电机模块,可以控制直流电机、步进电机等。
这个例子中用到的Shield都是 http://shieldlist.org/ 中标准的Shield。具体链接如下:
LCDshield:http://shieldlist.org/dfrobot/lcd
Motor:http://shieldlist.org/adafruit/motor
例子的功能就是实时显示当前的按键,并通过按键控制电机转动的方向和速度。下面是所用到的Shield图:
以下是演示效果图:
图片1,是没有按键按下的情况,LCD显示无任何按键!电机以默认的方式转动。
图片2,是按住UP按键时候的显示,LCD显示“UP”,电机转动速度加快!
从上面的例子可以看出,coide的组件平台大大简化了Cookie的入门和开发,后续,还会提供更多的Shield、驱动模块,甚至方案等,这里将是海量代码的汇集之处,这里将是一个嵌入式开发的在线社区,这里将聚集全世界优秀的嵌入式开发工程师。所以,抓住机遇,加入coocox一起开始嵌入式开发之旅吧,现在加入还可以享受预定优惠!
从http://www.coocox.org/Cookie.html获取更多信息。
|