“LPC开发笔记-Cube小车”的版本间的差异
1196357542(讨论 | 贡献) (→代码) |
(→从Arduino移植代码到mbed上的注意事项) |
||
(未显示2个用户的8个中间版本) | |||
第11行: | 第11行: | ||
==代码== | ==代码== | ||
− | 从Arduino移植到mbed上的代码见:https://developer.mbed.org/users/lixianyu/code/CubeFine/ | + | *从Arduino移植到mbed上的代码见:https://developer.mbed.org/users/lixianyu/code/CubeFine/ |
− | clone : https://lixianyu@developer.mbed.org/users/lixianyu/code/CubeFine/ | + | *clone : https://lixianyu@developer.mbed.org/users/lixianyu/code/CubeFine/ |
==从Arduino移植代码到mbed上的注意事项== | ==从Arduino移植代码到mbed上的注意事项== | ||
− | + | *关于mbed的学习指南这里不再赘述,网上已有很多学习资料。或者可以看一下这里的'''[[File:mBed学习指南.pdf]]''' | |
'''注意事项: | '''注意事项: | ||
* Arduino的程序入口是在.ino文件中的setup、loop函数,mbed的程序入口是在main.cpp文件里的main函数。在main函数中用while(true)实现Arduino中的loop函数功能。 | * Arduino的程序入口是在.ino文件中的setup、loop函数,mbed的程序入口是在main.cpp文件里的main函数。在main函数中用while(true)实现Arduino中的loop函数功能。 | ||
* Arduino中的pinMode需改为mbed的AnalogIn、AnalogOut、DigitalOut、DigitalIn等类的实例 | * Arduino中的pinMode需改为mbed的AnalogIn、AnalogOut、DigitalOut、DigitalIn等类的实例 | ||
− | |||
* Arduino中用analogWrite来实现PWM的输出,在mbed中需要替换为PwmOut类的实例。在mbed中,PWM的输出频率、宽度,都是可以通过API动态设置的 | * Arduino中用analogWrite来实现PWM的输出,在mbed中需要替换为PwmOut类的实例。在mbed中,PWM的输出频率、宽度,都是可以通过API动态设置的 | ||
− | |||
* Arduino中用Serial 类实现串口输出,在mbed中需使用Serial类的实例替代。 | * Arduino中用Serial 类实现串口输出,在mbed中需使用Serial类的实例替代。 | ||
* Arduino中的millis、micros函数,在mbed中需使用Timer类的实例替代。另外,在mbed中,Timeout、Ticker两个类,作用是分别实现定时单次操作和定时重复操作。 | * Arduino中的millis、micros函数,在mbed中需使用Timer类的实例替代。另外,在mbed中,Timeout、Ticker两个类,作用是分别实现定时单次操作和定时重复操作。 | ||
* Arduino中的pgm_read_byte函数是从flash中读取数据,在mbed中直接操作uint8_t指针即可,不再需要单独的函数从flash读数据。 | * Arduino中的pgm_read_byte函数是从flash中读取数据,在mbed中直接操作uint8_t指针即可,不再需要单独的函数从flash读数据。 | ||
− | |||
− | |||
− | |||
− | + | * 关于管脚定义,可先clone mbed源码到本地:https://github.com/mbedmicro/mbed.git | |
+ | **在目录hal\targets\hal\TARGET_NXP\TARGET_LPC82X\TARGET_LPC824下面的PinNames.h文件里有对LPC824的所有管脚的定义。 | ||
+ | |||
+ | |||
+ | *mbed已经实现了对LPC824这个TARGET的实现。''' | ||
− | + | *mbed已经对如下厂商的MCU提供支持: | |
+ | [[File:tupian1.jpg]] | ||
+ | *进入TARGET_NXP目录,可看到mbed已实现了对如下具体MCU的实现: | ||
+ | [[File:tupian2.jpg]] | ||
− | 未列出的MCU,目前还不能使用mbed平台。 | + | *未列出的MCU,目前还不能使用mbed平台。 |
2016年6月10日 (五) 06:55的最新版本
概述
- LPC824M201JHI33是NXP的一款MCU,它基于mbed平台开发。目前只移植了蓝牙模式,即通过手机App控制小车。
- Cube小车项目见:开源电驱机器小车CUBE/zh
步骤
- 1、进入mbed 主页,注册。
- 2、注册完毕,回到主页,点击右上角的“Compiler”即可进入在线编译模式。
- 3、程序编辑完毕后,点击“Compile”即可在编译、链接成功后自动下载bin文件。
- 4、下载JFlash:https://www.segger.com/jflash.html
- 5、用JFlash把bin下载到LPC824中运行。
代码
- 从Arduino移植到mbed上的代码见:https://developer.mbed.org/users/lixianyu/code/CubeFine/
从Arduino移植代码到mbed上的注意事项
- 关于mbed的学习指南这里不再赘述,网上已有很多学习资料。或者可以看一下这里的文件:MBed学习指南.pdf
注意事项:
- Arduino的程序入口是在.ino文件中的setup、loop函数,mbed的程序入口是在main.cpp文件里的main函数。在main函数中用while(true)实现Arduino中的loop函数功能。
- Arduino中的pinMode需改为mbed的AnalogIn、AnalogOut、DigitalOut、DigitalIn等类的实例
- Arduino中用analogWrite来实现PWM的输出,在mbed中需要替换为PwmOut类的实例。在mbed中,PWM的输出频率、宽度,都是可以通过API动态设置的
- Arduino中用Serial 类实现串口输出,在mbed中需使用Serial类的实例替代。
- Arduino中的millis、micros函数,在mbed中需使用Timer类的实例替代。另外,在mbed中,Timeout、Ticker两个类,作用是分别实现定时单次操作和定时重复操作。
- Arduino中的pgm_read_byte函数是从flash中读取数据,在mbed中直接操作uint8_t指针即可,不再需要单独的函数从flash读数据。
- 关于管脚定义,可先clone mbed源码到本地:https://github.com/mbedmicro/mbed.git
- 在目录hal\targets\hal\TARGET_NXP\TARGET_LPC82X\TARGET_LPC824下面的PinNames.h文件里有对LPC824的所有管脚的定义。
- mbed已经实现了对LPC824这个TARGET的实现。
- mbed已经对如下厂商的MCU提供支持:
- 进入TARGET_NXP目录,可看到mbed已实现了对如下具体MCU的实现:
- 未列出的MCU,目前还不能使用mbed平台。