查看: 4994|回复: 3

[原创] LPC824Lite 之mbed串口

[复制链接]
  • TA的每日心情
    奋斗
    2025-5-7 09:07
  • 签到天数: 353 天

    连续签到: 1 天

    [LV.8]以坛为家I

    141

    主题

    8056

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5785
    最后登录
    2025-5-7
    发表于 2016-10-27 12:58:32 | 显示全部楼层 |阅读模式
    本帖最后由 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/官网吧。
    未命名1.PNG
    点击第一个标签的board,新的网页左边是过滤器,右边是板子列表,可以看到过滤后剩下了107种板子之中的19个。LPCXpresso824-MAX就在这里面。
    未命名2.PNG
    LPCXpresso824-MAX就到了主页面。
    未命名3.PNG
    此页面有这个板子的概览、特性、固件更新等,如果注册了账号,可以把它加进你的在线编译平台里。了解了LPCXpresso824-MAX之后,为了使用LPC824Lite,点击4.Firmware update 跳到
    未命名4.PNG
    再点:
    未命名5.PNG
    里面有详细的说明。 简单说下吧:
    1.下载固件。
    2.按住复位键,用USB线给LPC824Lite上电,会出现一个名为 CRP DISABLD的磁盘。
    3.把原来的固件备份或删除,然后把下载的固件发送(或拖或复制粘贴)到这个磁盘里。
    4.重新给板子上电完成固件更新。
    未命名6.PNG
    可以在mbed盘里查看版本或者直接登录LPCXpresso824-MAX主页面。
    现在是不是能用mbed呢?还需要安装串口驱动。
    未命名7.PNG


    安装完后,需要重启下电脑。
    登录你的ARMmbed账号,右上角选择平台,设置好后,开始写代码。
    未命名9.PNG
    未命名8.PNG
    点compile编译完成后,把.bin文件发送到mbed盘里,复位后,打开串口软件
    未命名10.PNG

    1. Serial pc(USBTX, USBRX);
    复制代码
    刚开始我用上面的串口初始化,谁知道并没有串口显示。猜想可能USBTX、USBRX用的管脚定义不一样吧,把工程导出来,找到了管脚定义:
    1. typedef enum {
    2. // LPC824 Pin Names (PIN[11:8] + IOCON offset[7:0])

    3.     P0_0  = ( 0 << PIN_SHIFT) | 0x44,
    4.     P0_1  = ( 1 << PIN_SHIFT) | 0x2C,
    5.     P0_2  = ( 2 << PIN_SHIFT) | 0x18,
    6.     P0_3  = ( 3 << PIN_SHIFT) | 0x14,
    7.     P0_4  = ( 4 << PIN_SHIFT) | 0x10,
    8.     P0_5  = ( 5 << PIN_SHIFT) | 0x0C,
    9.     P0_6  = ( 6 << PIN_SHIFT) | 0x40,
    10.     P0_7  = ( 7 << PIN_SHIFT) | 0x3C,
    11.     P0_8  = ( 8 << PIN_SHIFT) | 0x38,
    12.     P0_9  = ( 9 << PIN_SHIFT) | 0x34,
    13.     P0_10 = (10 << PIN_SHIFT) | 0x20,
    14.     P0_11 = (11 << PIN_SHIFT) | 0x1C,
    15.     P0_12 = (12 << PIN_SHIFT) | 0x08,
    16.     P0_13 = (13 << PIN_SHIFT) | 0x04,
    17.     P0_14 = (14 << PIN_SHIFT) | 0x48,
    18.     P0_15 = (15 << PIN_SHIFT) | 0x28,
    19.     P0_16 = (16 << PIN_SHIFT) | 0x24,
    20.     P0_17 = (17 << PIN_SHIFT) | 0x00,
    21.     P0_18 = (18 << PIN_SHIFT) | 0x78,
    22.     P0_19 = (19 << PIN_SHIFT) | 0x74,
    23.     P0_20 = (20 << PIN_SHIFT) | 0x70,
    24.     P0_21 = (21 << PIN_SHIFT) | 0x6C,
    25.     P0_22 = (22 << PIN_SHIFT) | 0x68,
    26.     P0_23 = (23 << PIN_SHIFT) | 0x64,
    27.     P0_24 = (24 << PIN_SHIFT) | 0x60,
    28.     P0_25 = (25 << PIN_SHIFT) | 0x5C,
    29.     P0_26 = (26 << PIN_SHIFT) | 0x58,
    30.     P0_27 = (27 << PIN_SHIFT) | 0x54,
    31.     P0_28 = (28 << PIN_SHIFT) | 0x50,
    32.    
    33.     D0 = P0_0,
    34.     D1 = P0_4,
    35.     D2 = P0_19,
    36.     D3 = P0_12, // LED_RED
    37.     D4 = P0_18,
    38.     D5 = P0_28,
    39.     D6 = P0_16, // LED_GREEN
    40.     D7 = P0_17,
    41.     D8 = P0_13,
    42.     D9 = P0_27, // LED_BLUE
    43.     D10 = P0_15,
    44.     D11 = P0_26,
    45.     D12 = P0_25,
    46.     D13 = P0_24,
    47.     D14 = P0_11,
    48.     D15 = P0_10,
    49.    
    50.     A0 = P0_6,
    51.     A1 = P0_14,
    52.     A2 = P0_23,
    53.     A3 = P0_22,
    54.     A4 = P0_21,
    55.     A5 = P0_20,
    56.    
    57.     // LPC824-MAX board
    58.     LED_RED = P0_12,
    59.     LED_GREEN = P0_16,
    60.     LED_BLUE = P0_27,
    61.    
    62.     // mbed original LED naming
    63.     LED1 = LED_RED,
    64.     LED2 = LED_GREEN,
    65.     LED3 = LED_BLUE,
    66.     LED4 = LED_BLUE,
    67.    
    68.     // Serial to USB pins
    69.     USBTX = P0_7,
    70.     USBRX = P0_18,
    71.    
    72.     // I2C pins
    73.     SCL = P0_10,
    74.     SDA = P0_11,
    75.     I2C_SCL = P0_10,
    76.     I2C_SDA = P0_11,
    77.    
    78.     // Not connected
    79.     NC = (int)0xFFFFFFFF,
    80. } PinName;
    复制代码
    哈哈,一个是P0_7,一个是P0_18。使用这两个脚作为串口的TX、RX,而虚拟串口是P0_4,P0_0。
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-23 21:04
  • 签到天数: 103 天

    连续签到: 1 天

    [LV.6]常住居民II

    228

    主题

    5379

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    16701
    最后登录
    1970-1-1
    发表于 2016-10-27 13:29:27 | 显示全部楼层
    不错不错
    回复

    使用道具 举报

  • TA的每日心情

    2017-1-4 08:05
  • 签到天数: 11 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    85

    主题

    1629

    帖子

    1

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    2569

    优秀版主

    最后登录
    2019-3-28
    发表于 2016-10-27 15:10:06 | 显示全部楼层
    高手
    回复

    使用道具 举报

  • TA的每日心情

    2022-6-3 10:27
  • 签到天数: 131 天

    连续签到: 1 天

    [LV.7]常住居民III

    19

    主题

    519

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1611
    最后登录
    2022-6-26
    发表于 2016-10-28 08:11:09 | 显示全部楼层
    kl02z支持吗
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-21 03:30 , Processed in 0.086879 second(s), 23 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表