查看“MK22 Core:项目移植笔记”的源代码
←
MK22 Core:项目移植笔记
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
==概述== *'''[[Microduino-Core MK22/zh]]'''是基于NXP的MK22FN512VLH12的一个M4架构Core,本文实现了基于mbed平台的一些应用开发移植工作。 *本文档是在移植'''[[开源电驱机器小车CUBE/zh]]'''、'''[[开源LED点阵屏幕/zh]]'''、'''[[开源平衡车/zh]]'''、'''[[开源WiFi气象站系统/zh]]'''基础上实现。 *除了平衡车,其他3个均可工作在MK22上了。平衡车,已有立起来的趋势,但还未真正立起来。 ==开发步骤== *1、进入[https://developer.mbed.org mbed 主页],注册。 *2、注册完毕,回到[https://developer.mbed.org 主页],点击右上角的“Compiler”即可进入在线编译模式。 *3、程序编辑完毕后,点击“Compile”即可在编译、链接成功后自动下载bin文件。 *4、下载JFlash:https://www.segger.com/jflash.html *5、用JFlash把bin下载到LPC824中运行。 ==程序代码== *Cube小车:'''[[开源电驱机器小车CUBE/zh]]''' https://developer.mbed.org/users/lixianyu/code/CubeFine/ *点阵屏幕:'''[[开源LED点阵屏幕/zh]]''' https://developer.mbed.org/users/lixianyu/code/LED_DZ/ *平衡车:'''[[开源平衡车/zh]]''' https://developer.mbed.org/users/lixianyu/code/BalanceCar/ *WIFI气象站:'''[[开源WiFi气象站系统/zh]]''' https://developer.mbed.org/users/lixianyu/code/Io_moon/ {| style="width: 1000px;" |- | *用MK22来实现Cube小车,开发笔记:[[MK22开发笔记-Cube小车/zh]] *用MK22来实现点阵屏幕,开发笔记: *用MK22来实现WIFI气象站,开发笔记: *用MK22来实现平衡车,开发笔记: |} ==从Arduino移植代码到mbed上的注意事项== *关于mbed的学习指南这里不再赘述,网上已有很多学习资料。 *可以看一下这里的'''[[File: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读数据。 * Arduino中用Wire进行I2C的操作,在mbed上需要改为I2C类的实例。 * AM2321的取温度间隔得大于2s,否则,i2c会不工作了。 * SimpleTimer有个bug,会导致快速调用两次定时函数。例如,setInterval(4000, sendCH4),每4秒执行一次sendCH4函数,但实际运行时发现sendCH4的执行间隔会小于4秒钟。 '''有问题可给我发邮件:lixianyu@toweer.com,一起讨论mbed的世界 * 关于管脚定义,可先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平台。
返回至
MK22 Core:项目移植笔记
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
Welcome
首页
创客大赛
大赛详情
3D打印
安装月球车
图形化编程
操控月球车
升级月球车
编程工具下载
软件下载
Arduino
Processing
Mixly
Scratch
模块套件
Microduino 102
mCookie 102
mCookie 202
mCookie 302
IBC
其他
应用套件
四轴飞行器
平衡车
小车CUBE
音乐播放器
刷卡音乐播放器
wifi气象站
彩虹音乐触摸灯
分贝检测仪
迎门汇报
LED点阵时钟
LED点阵屏幕
硬件
mCookie
Sensor
Microduino
MicroWrt
MicroNux
MicroRobot-Core
MicroRobot-CoreESP
ideaBoard
ideaBox
MicroMV
MicroAI
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息