[原创] maple:arduino兼容的 stm32f103 开发板入门

ssawee   2011-1-10 11:37 楼主
maple是一个和arduino兼容的arm32开发平台使用简便,适合进行验证设计、做小制作等等同时也可以使用flashloader通过isp下载或是jtag调试

IDE下载:
win32 :   http://static.leaflabs.com/pub/leaflabs/maple-ide/maple-ide-LATEST-windowsxp32.zip
linux 32bit:   http://static.leaflabs.com/pub/leaflabs/maple-ide/maple-ide-LATEST-linux32.tgz
linux 64bit: http://static.leaflabs.com/pub/leaflabs/maple-ide/maple-ide-LATEST-linux64.tgz
os x:http://static.leaflabs.com/pub/leaflabs/maple-ide/maple-ide-LATEST-macosx-10_6.dmg

win驱动安装
1.dfu驱动:按下reset键放开后蓝色指示灯会先快速闪烁然后慢闪烁,在快闪时按下BUT键(板子右上方),在慢闪烁时放开此键,这事蓝色指示灯会一直闪烁保持在bootloader等待下载程序,这时系统会提示安装驱动,选择手工选择驱动位置,选择maple IDE目录下driver/dfu目录,系统会自动安装驱动
2.usb 虚拟串口驱动:打开maple IDE,点击file》example随便选择一个例程下载到板中,按下reset键运行程序系统会自动提示要求安装虚拟串口驱动程序,选择手工选择驱动位置,选择maple IDE目录下driver/serial目录,系统会自动安装驱动

maple.JPG
从左到右键按键的功能是:
1验证程序是否能通过编译
2停止执行
3新建
4打开
5保存
6上传程序到maple核心板
7打开串口显示

tools》board》  可以选择上传到开发板的ram运行还是上传到开发板的flash运行
tools》serial》选择虚拟串口的串口号以方便进行串口交互
file》example》  这里有很多例程

Untitled-1.jpg Untitled-2.jpg


上传程序:

1默认模式上传
按下reset键当蓝色指示灯快速闪烁时按下BUT键(板子右上方),在慢闪烁时放开此键,这事蓝色指示灯会一直闪烁保持在bootloader等待下载程序,这时点击IDE中的上传程序键即可开始编译和下载,如有错误和提示信息会显示在下方的状态窗口
2.uart isp下载
请到st官方网站下载 flash loader 准备一个uart转usb模块,将tx端连接到开发板的8号引脚,rx连接到7号引脚,gnd连到开发板的gnd,
按下reset键不要放开,再按下右上角的BUT键,保持BUT键按下而先放开reset键再放开BUT键,这时会进入isp下载模式通过flashloader下载

3jtag下载/调试

按图连接jtag(上下拉电阻可省略)
jtag-wiring.jpg


编程入门

基本语法为C

程序结构
void setup(){

只在开始运行一次
}
void loop(){

循环执行程序
}


注意:在引脚旁的数字编号为arduino中操作的编号,使用analogWrite函数得使用标有PWM的引脚
使用analogRead函数的引脚得标有AIN,而PB0,PC3这样的符号表示的是芯片原来的引脚名称以方便大家用通用工具编程。
tx1,rx1为第一硬件uart   tx2,rx2同理为第二硬件串口

示例:

void setup() {
 吧pin15配置为模拟输入
  pinMode(15, INPUT_ANALOG);
}

void loop() {
 读取pin15的电压值
  sensorValue = analogRead(15);     
向 pin19输出pwm,值为5 
  analogWrite(19, 5);          
通过usb虚拟串口显示,运行程序,打开IDE中的串口显示就可以看到输出
  SerialUSB.print("sensor = " );                      
  SerialUSB.print(sensorValue);     
  SerialUSB.print("\t output = ");     
  SerialUSB.println(outputValue);  
延时10ms
  delay(10);                    
}



使用硬件spi:http://leaflabs.com/docs/lang/api/hardwarespi.html#lang-hardwarespi
使用硬件i2c:http://leaflabs.com/docs/i2c.html
使用硬件串口:http://leaflabs.com/docs/lang/api/serial.html#lang-serial
步进电机库,1602液晶等库的使用:http://leaflabs.com/docs/libraries.html
[ 本帖最后由 ssawee 于 2011-1-10 19:25 编辑 ]

回复评论 (24)

好消息……关注
Python全文搜索引擎:<url>http://code.google.com/p/ming-search/</url>
点赞  2011-1-11 20:43
关注中。。。
   不过LZ。。。。这块板子的资源不够呀。。。也就一最小系统板了,能值这个价吗???
只有想不到,没有做不到。
点赞  2011-1-12 10:47

回复 板凳 shilaike 的帖子

这个价格是成本价格,
这个板子的定位是做一些小设计,做验证实验,所以只是块核心板,
用户的用途十分的不确定,加上外设或许对有些用户是累赘
不知道你想要什么外设
举个例, 有时候觉得自己万用表反应慢,可以随便写个程序来测电压当个直流电压表用,
 有时想做温度计接个ds18b20用现成的库读出温度串口就行了,
 有时想做个温控接个18b20通过mos管接个直流电机用pwm控制就行了
接w25x16也要不了几根线

每个板子都那么多外设多浪费?

以前用arduino做 1602+nrf14l01直接用面包板和那种跳线线接好就是了,

也不麻烦啊,

我做用atmega8的东西就是在arduino上写程序,验证,然后下载到设计好的板子上使用

板上有电池管理,做出来的东西脱离usb供电也可以用,

 
这个的定位和arduino是一样的,还和某些arduino外设板兼容的 ,这个价格比arduino还便宜而性能还更强。这个的优势主要是其ide的简便,不要光看硬件。 [ 本帖最后由 ssawee 于 2011-1-12 13:24 编辑 ]
点赞  2011-1-12 12:54
大约什么时候做好呢?;P
Python全文搜索引擎:<url>http://code.google.com/p/ming-search/</url>
点赞  2011-1-13 07:25
收到了呵呵,包装的弱不经风滴,打开测试okay!
Python全文搜索引擎:<url>http://code.google.com/p/ming-search/</url>
点赞  2011-1-27 16:03

回复 6楼 elulis 的帖子

恩,要改进下包装。
点赞  2011-1-27 17:23

弱弱地问下,这个maple:arduino是不是,每个芯片都有一个库

若没这个芯片的库,就用不了这款芯片
http://shop34182318.taobao.com/ https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
点赞  2011-1-28 06:37

回复 8楼 ddllxxrr 的帖子

不是很懂楼上的意思,
如同lm3s8962提供的官方库一样
这个maple的库只是让使用更简单~简单得比较傻瓜化

上面也有jtag口用keil iar等也可以用st官方的库来编程。


usb下载应该是通过调用stm32通用的ufb下载程序下载的,

另外maple还提供libmaple在通用的开发环境中使用这些库函数,这个库应该是针对stm32f103rbt写的。
点赞  2011-1-28 11:40

关于下载到Flash和RAM的问题

通过试验,发现代码下载到RAM时同时也下载到了FLASH,跪求原因???
点赞  2011-8-10 12:57

回复 10楼 minixer 的帖子

下载到ram不会下载到flash,我测试了的。
不过下载到ram后rest仍然会运行ram中的程序而不是运行flash中的程序。
要断电后重新上电才会开始执行flash中的程序。
http://item.taobao.com/item.htm?id=12366456386 Arduino 兼容的  maple
点赞  2011-8-10 13:02
我是新手,想问问,maple板子,怎么驱动 28BYJ48步进电机?有uln2003,不外接电源可以么?
点赞  2011-8-15 16:12

回复 12楼 egomy2010 的帖子

你的步进电机的电流,电压有多大?

不接外接电源,使用锂电池?锂电池只有3.7-4.2V的电压驱动不了把。

通过6mmDC电源口可以提供12V的电源,将ul2003的电源接到VIN就可以取得给步进电机供电的电压了。
http://item.taobao.com/item.htm?id=12366456386 Arduino 兼容的  maple
点赞  2011-8-15 16:29
步进电机是28BVJ48,
点赞  2011-8-16 08:25

回复 14楼 egomy2010 的帖子

28BYJ48   有的是5V的有的是12V的有的6V  有的24V
http://item.taobao.com/item.htm?id=12366456386 Arduino 兼容的  maple
点赞  2011-8-16 09:24
呵呵,谢谢,我的是5V 的,直接用MAPLE的VCC引出到ULN2003上供电,慢慢的转起来了。
点赞  2011-8-16 14:38

回复 16楼 egomy2010 的帖子

不要接到VCC   接到VIN

VCC是经过线性稳压后的3.3V电压
VIN如果是用的USB供电就是5V
http://item.taobao.com/item.htm?id=12366456386 Arduino 兼容的  maple
点赞  2011-8-16 16:19
是USB供电,小电机转的真慢。。
点赞  2011-8-16 16:52

回复 18楼 egomy2010 的帖子

接线要接到VIN引脚哟....
http://item.taobao.com/item.htm?id=12366456386 Arduino 兼容的  maple
点赞  2011-8-16 17:47
驱动L298N驱动板,外接了9V直流电源,现在突然就毫无反应了,298N上的灯是亮的,但是MAPLE上一点反应都没有了,现在拔掉所有线接电脑USB也无反应,通电也没有蓝灯闪烁了,可能是哪里问题?
点赞  2011-8-26 22:34
12下一页
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复