查看: 709|回复: 5

[分享] LPC11U24试用~~用Mbed OS真简单

[复制链接]
  • TA的每日心情
    奋斗
    昨天 09:07
  • 签到天数: 2163 天

    [LV.Master]伴坛终老

    17

    主题

    4629

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    9801
    最后登录
    2024-5-7
    发表于 2023-7-9 13:44:44 | 显示全部楼层 |阅读模式
    1.    开箱
    我参加的端午的活动申请到了LPC11U24,和大家一样以为收到的会是宣传图片上官方的板子,拆开包装看到的却是:mbed NXP LPC11U24:
    1.jpg
    2.jpg
    不过,还是很开心,毕竟有板子就是好活动啊~
    我还从来没用过ARM的MBED,这次正好有机会全面了解下。
    打开包装是这个样子:
    3.jpg
    有数据线还是很贴心的,毕竟省去了找数据线的时间。
    板子很小巧,还有针脚图的卡片,看起来方便多了:
    4.jpg
    5.jpg

    2.    资料
    接下来到ARM MBED的官网找资料:
    https://os.mbed.com/platforms/mbed-LPC11U24/
    6.jpg


    首先看到的就是:此板不再可用;该信息被提供作为现有用户的参考。mbed1768 mbed-LPC1768和L-TEK-FF-LPC546XX板提供了相同外形尺寸的替代品,而LPCXpresso11U68和FRDM-KL25Z则提供了NXP更强大的Cortex M0+平台,,,,
    但右上角又说:要使用Mbed CLI为此板编译程序,请使用lpc11u24作为目标名称。
    意味着:这个板子已经不适用最新的MBED编程支持了,但还可以用旧的~~~
    下面的网页有更详细的介绍:
    示例、固件、原理图都在这个页面:
    7.jpg
    8.jpg

    下载原理图,可以看到板子上4个LED灯是PIO1.8~11引出来的:
    9.jpg
    关于USB应用的例程分别在:
    不过这些例程都基于Mbed 2。

    3.     MBED
    先了解下MBED:
    mbed是一个面向ARM处理器的原型开发平台,它具体包括免费的软件库(SDK),硬件参考设计(HDK)和在线工具(Web)三部分内容,各个部分的具体介绍如下:
    SDK:mbed设计了一个硬件抽象层,从而屏蔽了不同mcu厂商提供了微处理之间的差异,对于用户来说,他只需要和这个硬件抽象层打交道即可,也就是说,用户基于mbed开发的应用可以很方便地更换使用不同厂商的arm微处理器,从而留给用户更多的选择。
    HDK:HDK是mbed提供的硬件参考设计,它是面向用户开发设计的,所以HDK提供了统一了程序上载接口,单步调试接口,串口调试接口,用户无需购买其它硬件就可以开始软件开发工作。
    WEB:为了省去用户开发环境安装的麻烦,mbed提供了一个完备的基于浏览器的微处理器软件开发环境,包括代码编写,程序编译,版本控制等功能,用户只要上网就可以开发,编译结果只要下载保存到mbed开发板上即可工作,非常方便。
    mbed的体系结构
      mBed是ARM公司官方提供的一套用于快速开发ARM架构单片机应用原型的工具集,包括免费的软件库(Software Development Kit,SDK),硬件设计参考(Hardware Development Kit,HDK)和基于Web的在线编译环境(mBed Compiler)三部分具体内容。所以,在不同的上下文中,mBed有可能指的是mBed SDK,也有可能指的是mBed开发板。由于mBed的代码和大部分硬件设计都是以开源(Open Source,permissive Apache 2.0 licence)的方式提供的,再加上它面向的ARM系列单片机具有较高的性价比和广泛的应用基础,所以mBed在世界范围内已经吸引了大量的电子产品开发者,其产业生态链已经初级规模。
    Mbed OS 是ARM 公司于2014 年开始推出并逐步完善的一款免费的开源嵌入式实时操作系统, Mbed OS 专为基于ARM Cmtex-M 内核的MCU 设计,主要面向物联网终端。
    所以,MBED主打的就是一个好用,MBED OS经过了很多代的发展,目前最新的是6.17.0,
    MBED OS支持的板子在这个网站:
    https://os.mbed.com/platforms/
    10.jpg
    一共有178个板子可以直接使用mbed os,而mbed-LPC11U24仅能使用mbed os 2的版本,,,
    11.jpg

    4.     用MBED编程
    使用在线编程(需要注册账号),进入CODE页面:
    https://os.mbed.com/code/
    12.jpg
    点击start a new program,进入登录。新建工程里有mbed2 的例程:
    13.jpg
    可以看到,一切的底层配置都已经做好了,只要简单的输入即可:
    14.jpg
    插入开发板:
    15.jpg
    将生成的bin文件直接拖到U盘中,重新上电:
    16.jpg
    点亮1个LED~~~

    想自己修改,只需找到PinNames.h文件,看到管脚的定义:
    1. /* mbed Microcontroller Library
    2. * Copyright (c) 2006-2013 ARM Limited
    3. *
    4. * Licensed under the Apache License, Version 2.0 (the "License");
    5. * you may not use this file except in compliance with the License.
    6. * You may obtain a copy of the License at
    7. *
    8. * http://www.apache.org/licenses/LICENSE-2.0
    9. *
    10. * Unless required by applicable law or agreed to in writing, software
    11. * distributed under the License is distributed on an "AS IS" BASIS,
    12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13. * See the License for the specific language governing permissions and
    14. * limitations under the License.
    15. */
    16. #ifndef MBED_PINNAMES_H
    17. #define MBED_PINNAMES_H

    18. #include "cmsis.h"

    19. #ifdef __cplusplus
    20. extern "C" {
    21. #endif

    22. typedef enum {
    23. PIN_INPUT,
    24. PIN_OUTPUT
    25. } PinDirection;

    26. #define PORT_SHIFT 5

    27. typedef enum {
    28. // LPC11U Pin Names
    29. P0_0 = 0,
    30. P0_1 = 1,
    31. P0_2 = 2,
    32. P0_3 = 3,
    33. P0_4 = 4,
    34. P0_5 = 5,
    35. P0_6 = 6,
    36. P0_7 = 7,
    37. P0_8 = 8,
    38. P0_9 = 9,
    39. P0_10 = 10,
    40. P0_11 = 11,
    41. P0_12 = 12,
    42. P0_13 = 13,
    43. P0_14 = 14,
    44. P0_15 = 15,
    45. P0_16 = 16,
    46. P0_17 = 17,
    47. P0_18 = 18,
    48. P0_19 = 19,
    49. P0_20 = 20,
    50. P0_21 = 21,
    51. P0_22 = 22,
    52. P0_23 = 23,
    53. P0_24 = 24,
    54. P0_25 = 25,
    55. P0_26 = 26,
    56. P0_27 = 27,

    57. P1_0 = 32,
    58. P1_1 = 33,
    59. P1_2 = 34,
    60. P1_3 = 35,
    61. P1_4 = 36,
    62. P1_5 = 37,
    63. P1_6 = 38,
    64. P1_7 = 39,
    65. P1_8 = 40,
    66. P1_9 = 41,
    67. P1_10 = 42,
    68. P1_11 = 43,
    69. P1_12 = 44,
    70. P1_13 = 45,
    71. P1_14 = 46,
    72. P1_15 = 47,
    73. P1_16 = 48,
    74. P1_17 = 49,
    75. P1_18 = 50,
    76. P1_19 = 51,
    77. P1_20 = 52,
    78. P1_21 = 53,
    79. P1_22 = 54,
    80. P1_23 = 55,
    81. P1_24 = 56,
    82. P1_25 = 57,
    83. P1_26 = 58,
    84. P1_27 = 59,
    85. P1_28 = 60,
    86. P1_29 = 61,

    87. P1_31 = 63,

    88. // mbed DIP Pin Names
    89. p5 = P0_9,
    90. p6 = P0_8,
    91. p7 = P1_29,
    92. p8 = P0_2,
    93. p9 = P1_27,
    94. p10 = P1_26,
    95. p11 = P1_22,
    96. p12 = P1_21,
    97. p13 = P1_20,
    98. p14 = P1_23,
    99. p15 = P0_11,
    100. p16 = P0_12,
    101. p17 = P0_13,
    102. p18 = P0_14,
    103. p19 = P0_16,
    104. p20 = P0_22,
    105. p21 = P0_7,
    106. p22 = P0_17,
    107. p23 = P1_17,
    108. p24 = P1_18,
    109. p25 = P1_24,
    110. p26 = P1_25,
    111. p27 = P0_4,
    112. p28 = P0_5,
    113. p29 = P1_5,
    114. p30 = P1_2,

    115. p33 = P0_3,
    116. p34 = P1_15,
    117. p35 = P0_20,
    118. p36 = P0_21,

    119. // Other mbed Pin Names
    120. LED1 = P1_8,
    121. LED2 = P1_9,
    122. LED3 = P1_10,
    123. LED4 = P1_11,

    124. USBTX = P0_19,
    125. USBRX = P0_18,

    126. // for Arch V1.1
    127. D0 = P0_18,
    128. D1 = P0_19,
    129. D2 = P0_17,
    130. D3 = P1_17,
    131. D4 = P1_18,
    132. D5 = P1_24,
    133. D6 = P1_25,
    134. D7 = P1_5,
    135. D8 = P1_26,
    136. D9 = P1_27,
    137. D10 = P0_2,
    138. D11 = P0_9, // P1_29 for Arch V1.0
    139. D12 = P0_8,
    140. D13 = P1_29, // P0_9 for Arch V1.0

    141. D14 = P0_5,
    142. D15 = P0_4,

    143. A0 = P0_11,
    144. A1 = P0_12,
    145. A2 = P0_13,
    146. A3 = P0_14,
    147. A4 = P0_16,
    148. A5 = P0_22,

    149. I2C_SCL = D15,
    150. I2C_SDA = D14,

    151. // Not connected
    152. NC = (int)0xFFFFFFFF,
    153. } PinName;

    154. typedef enum {
    155. CHANNEL0 = FLEX_INT0_IRQn,
    156. CHANNEL1 = FLEX_INT1_IRQn,
    157. CHANNEL2 = FLEX_INT2_IRQn,
    158. CHANNEL3 = FLEX_INT3_IRQn,
    159. CHANNEL4 = FLEX_INT4_IRQn,
    160. CHANNEL5 = FLEX_INT5_IRQn,
    161. CHANNEL6 = FLEX_INT6_IRQn,
    162. CHANNEL7 = FLEX_INT7_IRQn
    163. } Channel;

    164. typedef enum {
    165. PullUp = 2,
    166. PullDown = 1,
    167. PullNone = 0,
    168. Repeater = 3,
    169. OpenDrain = 4,
    170. PullDefault = PullDown
    171. } PinMode;

    172. #ifdef __cplusplus
    173. }
    174. #endif

    175. #endif
    复制代码


    点亮全部4个LED,修改文件,就这么简单:
    17.jpg

    18.jpg

    总结:MBED OS使用起来真简单啊~~~

    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    开心
    前天 14:17
  • 签到天数: 1337 天

    [LV.10]以坛为家III

    88

    主题

    4294

    帖子

    12

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    9059
    最后登录
    2024-5-6
    发表于 2023-7-9 18:09:04 | 显示全部楼层
    mbed os 想往高阶使用感觉有点难度
    今天天气不错!签到!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 09:07
  • 签到天数: 2163 天

    [LV.Master]伴坛终老

    17

    主题

    4629

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    9801
    最后登录
    2024-5-7
     楼主| 发表于 2023-7-10 08:32:18 | 显示全部楼层
    jobszheng5 发表于 2023-7-9 18:09
    mbed os 想往高阶使用感觉有点难度

    看需求吧,高阶肯定要偏向底层编程
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-4-7 20:47
  • 签到天数: 537 天

    [LV.9]以坛为家II

    69

    主题

    2521

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    7150
    最后登录
    2024-4-9
    发表于 2023-7-12 09:34:17 | 显示全部楼层
    感谢分享,我也试试
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    前天 14:28
  • 签到天数: 541 天

    [LV.9]以坛为家II

    6

    主题

    2867

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    4719
    最后登录
    2024-5-7
    发表于 2023-8-15 16:19:43 | 显示全部楼层
    下载了mbed studio没有mbed2库,只有OS5和OS6
    在线的注册了用户,一登陆
    显示:Unauthorized
    永远开心快乐
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 09:07
  • 签到天数: 2163 天

    [LV.Master]伴坛终老

    17

    主题

    4629

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    9801
    最后登录
    2024-5-7
     楼主| 发表于 2023-8-15 18:18:52 | 显示全部楼层
    ldptest 发表于 2023-8-15 16:19
    下载了mbed studio没有mbed2库,只有OS5和OS6
    在线的注册了用户,一登陆
    显示:Unauthorized ...

    在线编程应该可以的吧,我就是在线编的
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2024-5-8 03:19 , Processed in 0.128153 second(s), 25 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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