本帖最后由 hmily99 于 2012-10-10 12:53 编辑
近年来,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管脚说明:
Arduino引脚
| Arduino 外设功能
| MCU IO Map
| MCU 外设功能
| D0
| UART.RX
| PA1
| UART1.RTS/UART1.RX
| D1
| UART.TX
| PA0
| UART1.CTS/UART1.TX
| D2
| EXT.INT
| PE0
| PWM0/T2.EX
| D3
| EXT.INT / PWM
| PE1
| PWM1/T3.EX
| D4
|
| PE2
| PWM2
| D5
| PWM
| PE3
| PWM3
| D6
| PWM
| PC4
| PWM4
| D7
|
| PD2
| NINT0/T0.EX
| D8
|
| PD3
| NINT1/T1.EX
| D9
| PWM
| PC5
| PWM5
| D10
| SPI.CS
| PA4
| SPI1.CS
| PWM
| PC6
| PWM6/CMP1.O
| D11
| SPI.MOSI
| PA5
| SPI1.MOSI
| PWM
| PC7
| PWM7
| D12
| SPI.MISO
| PA6
| SPI1.MISO
| D13
| SPI.CLK
| PA7
| SPI1.CLK
| AREF
|
| NC
|
| SDA
| I2C.SDA
| PD4
| TIM***0/I2C0.SDA
| SCL
| I2C.SCL
| PD5
| TIM***0/I2C0.SCK
| A0
| AIN
| PB0
| ADC0/TIM***2
| A1
| AIN
| PB1
| ADC1/TIM***3
| A2
| AIN
| PB2
| ADC2/UART1RX
| A3
| AIN
| PB3
| ADC3/UART1TX
| A4
| AIN
| PB4
| ADC4/SPI0.CS/CMP0N
| I2C.SDA
| PD4
| TIM***0/I2C0.SDA
| A5
| AIN
| PB5
| ADC5/SPI0.MOSI/CMP0P
| I2C.SCL
| PD5
| TIM***1/I2C0.SCK
| ICSP.1
| SPI.MISO
| PB6
| ADC6/SPI0.MISO
| ICSP.3
| SPI.SCK
| PB7
| ADC7/SPIO.CLK
| ICSP.4
| SPI.MOSI
| PB5
| ADC5/SPI0.MOSI/CMP0P
|
关于更多关于cookie的基本信息,请参考:
http://www.coocox.org/downloadfile/cookie/numicro/Cookie%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的例子。
|