热度 19
2012-9-14 09:44
1976 次阅读|
0 个评论
近年来,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组件,同样的方法,在例子窗口中添加LCDMotor的例子。 图 例子列表 这个例子是两个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 获取更多信息。