在线时间828 小时
UID3079326
注册时间2015-2-11
NXP金币28
TA的每日心情 | 奋斗 2025-5-7 09:07 |
---|
签到天数: 353 天 连续签到: 1 天 [LV.8]以坛为家I
金牌会员
 
- 积分
- 5785
- 最后登录
- 2025-5-7
|
本帖最后由 wambob 于 2016-11-5 14:01 编辑
为什么国外Arduino非常的火,因为简单、不需要知道底层硬件的工作过程,只要熟悉了接口函数,拿来使用就行了,也不需要有很深的C呀、c++、JAVA等编程语言。连小学生都能成为创客,令我等汗颜。
mbed 和Arduino有相似的地方,因该是借鉴了Arduino吧。最大不同的是mbed支持在线编译,即使不是自己的电脑,只要有网有电脑,就可以编写自己的工程。
ARMmbed 平台上仅有 LPCXpresso824-MAX这个板子,但LPC824Lite带有板载调试下载器(CMSIS-DAP),支持U盘模式编程,可以拿来一玩。
如何使用要使用mbed平台,首先需要登录http://developer.mbed.org/官网吧。
点击第一个标签的board,新的网页左边是过滤器,右边是板子列表,可以看到过滤后剩下了107种板子之中的19个。LPCXpresso824-MAX就在这里面。
点LPCXpresso824-MAX就到了主页面。
此页面有这个板子的概览、特性、固件更新等,如果注册了账号,可以把它加进你的在线编译平台里。了解了LPCXpresso824-MAX之后,为了使用LPC824Lite,点击4.Firmware update 跳到:
再点:
里面有详细的说明。 简单说下吧:
1.下载固件。
2.按住复位键,用USB线给LPC824Lite上电,会出现一个名为 CRP DISABLD的磁盘。
3.把原来的固件备份或删除,然后把下载的固件发送(或拖或复制粘贴)到这个磁盘里。
4.重新给板子上电完成固件更新。
可以在mbed盘里查看版本或者直接登录LPCXpresso824-MAX主页面。
现在是不是能用mbed呢?还需要安装串口驱动。
安装完后,需要重启下电脑。
登录你的ARMmbed账号,右上角选择平台,设置好后,开始写代码。
点compile编译完成后,把.bin文件发送到mbed盘里,复位后,打开串口软件
刚开始我用上面的串口初始化,谁知道并没有串口显示。猜想可能USBTX、USBRX用的管脚定义不一样吧,把工程导出来,找到了管脚定义:
- typedef enum {
- // LPC824 Pin Names (PIN[11:8] + IOCON offset[7:0])
- P0_0 = ( 0 << PIN_SHIFT) | 0x44,
- P0_1 = ( 1 << PIN_SHIFT) | 0x2C,
- P0_2 = ( 2 << PIN_SHIFT) | 0x18,
- P0_3 = ( 3 << PIN_SHIFT) | 0x14,
- P0_4 = ( 4 << PIN_SHIFT) | 0x10,
- P0_5 = ( 5 << PIN_SHIFT) | 0x0C,
- P0_6 = ( 6 << PIN_SHIFT) | 0x40,
- P0_7 = ( 7 << PIN_SHIFT) | 0x3C,
- P0_8 = ( 8 << PIN_SHIFT) | 0x38,
- P0_9 = ( 9 << PIN_SHIFT) | 0x34,
- P0_10 = (10 << PIN_SHIFT) | 0x20,
- P0_11 = (11 << PIN_SHIFT) | 0x1C,
- P0_12 = (12 << PIN_SHIFT) | 0x08,
- P0_13 = (13 << PIN_SHIFT) | 0x04,
- P0_14 = (14 << PIN_SHIFT) | 0x48,
- P0_15 = (15 << PIN_SHIFT) | 0x28,
- P0_16 = (16 << PIN_SHIFT) | 0x24,
- P0_17 = (17 << PIN_SHIFT) | 0x00,
- P0_18 = (18 << PIN_SHIFT) | 0x78,
- P0_19 = (19 << PIN_SHIFT) | 0x74,
- P0_20 = (20 << PIN_SHIFT) | 0x70,
- P0_21 = (21 << PIN_SHIFT) | 0x6C,
- P0_22 = (22 << PIN_SHIFT) | 0x68,
- P0_23 = (23 << PIN_SHIFT) | 0x64,
- P0_24 = (24 << PIN_SHIFT) | 0x60,
- P0_25 = (25 << PIN_SHIFT) | 0x5C,
- P0_26 = (26 << PIN_SHIFT) | 0x58,
- P0_27 = (27 << PIN_SHIFT) | 0x54,
- P0_28 = (28 << PIN_SHIFT) | 0x50,
-
- D0 = P0_0,
- D1 = P0_4,
- D2 = P0_19,
- D3 = P0_12, // LED_RED
- D4 = P0_18,
- D5 = P0_28,
- D6 = P0_16, // LED_GREEN
- D7 = P0_17,
- D8 = P0_13,
- D9 = P0_27, // LED_BLUE
- D10 = P0_15,
- D11 = P0_26,
- D12 = P0_25,
- D13 = P0_24,
- D14 = P0_11,
- D15 = P0_10,
-
- A0 = P0_6,
- A1 = P0_14,
- A2 = P0_23,
- A3 = P0_22,
- A4 = P0_21,
- A5 = P0_20,
-
- // LPC824-MAX board
- LED_RED = P0_12,
- LED_GREEN = P0_16,
- LED_BLUE = P0_27,
-
- // mbed original LED naming
- LED1 = LED_RED,
- LED2 = LED_GREEN,
- LED3 = LED_BLUE,
- LED4 = LED_BLUE,
-
- // Serial to USB pins
- USBTX = P0_7,
- USBRX = P0_18,
-
- // I2C pins
- SCL = P0_10,
- SDA = P0_11,
- I2C_SCL = P0_10,
- I2C_SDA = P0_11,
-
- // Not connected
- NC = (int)0xFFFFFFFF,
- } PinName;
复制代码 哈哈,一个是P0_7,一个是P0_18。使用这两个脚作为串口的TX、RX,而虚拟串口是P0_4,P0_0。
|
|