【原创】初次把玩零知标准板(F103RB)-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5352|回复: 3

【原创】初次把玩零知标准板(F103RB)

[复制链接]
发表于 2019-1-7 02:29 | 显示全部楼层 |阅读模式
本帖最后由 t3486784401 于 2019-1-7 02:29 编辑

前阵子经坛子推荐,入手了零知的标准板:主控 F103RB,辅助一片 CH340G,外引原生USB+调试 USB.
入手这个主要是想复用手头已有的 Arduino 扩展板,实现性能大幅提升(从 AVR 到 ARM 快的肯定不是一点)。

以下几点把玩经验,针对 <暂没安装零知IDE> 的环境,仅把零知当作 STM32 开发板进行调试。

【关于BOOTLOADER】

玩 Arduino 的朋友估计都了解,BOOTLOADER 是向单片机灌入程序的关键。
有别于 AVR,STM32 预装了串口 BOOTLOADER 并且不可擦除(也就没有掉固件的说法).
启动 BOOTLOADER(STM32称为“System Memory”)时序为:BOOT0/1=H/L,RST复位之。

因此零知开发板的硬件设计中,应该针对 BOOT0/1、RST 有所侧重。
具体的硬件电路这里就不扒了,amobbs 上已有前辈上传,我说下功能:

a. 使用 CH340.RTS/DTR 可以实现“复位至BOOTLOADER”或“复位至用户程序”;
b. CH340.RTS/DTR= L/H 时:F103 强制复位并保持复位;
c. 在 b 状态下,改变 DTR=L 后:F103 进入 BOOTLOADER 模式;
d. 在 b 状态下,改变 RTS=H 后:F103 进入 用户程序模式;
e. 在串口未连接(例如外插电)情况下,CH340 复位至 RTS/DTR=H/H,不影响用户程序.

在 BOOTLOADER 模式下,可以使用 STM 官方 Flash_Loader(附件#A)上载任何 HEX/BIN 程序。
比如我上载这个带有皂片的 Mass_Storage 执行文件(附件#B),就把原生 USB 口虚拟成了 U 盘....

[附件#A] STM32 官方 FLASH 烧录器(太大我放度娘了):
链接: https://pan.baidu.com/s/1Ab0O7yQRRliei1bYNzEVSw 提取码: 3txb
[附件#B] 带有 Horo 皂片的 Mass_Storage 执行文件: mass_stm32f103_horo.rar (17.7 KB, 下载次数: 13)


【关于硬件用料】

初次拿到这个零知的开发板,感觉做工中规中矩,有这么几点意见:

1. EEPROM 采用了 24C02(256 B)真不够玩的,怎么着装一个 24C16、24C512(成本要飞起),
    不能比 UNO(1KB) 还差啊,过几天我自己换上 24C512 玩玩。

2. 锂电插口不是 2.54 间距! 不能忍不能忍,不过要我是团队成员,目测也得用这玩意,还指着这个卖电池挣生活费.....

3. 高压供电部分暂时没试,但是高压滤波的高大壮电容直接顶起了零件的平均身高,外壳(如果有)不能太薄了。

4. 建议团队开模做一批外壳吧,我用 UNO 的壳切了切也算装进去了,立刻比裸板高大上了。

Photo#B.JPG


【关于出厂程序】

出厂程序是 L 指示灯闪烁示意,并且貌似串口周期发送。如果用普通串口助手,怎么调波特率都是乱码。

用串口助手测试了波特率,应该就是 9600bps,于是用 HEX 模式接收,发现数据为 Ex xx xx Ex xx xx,
并且有 0D 0A 这样的换行符,凭经验这个应该就是 UTF-8 格式的中文文本,只是助手没支持而已。

接收数据拷贝出来,使用 WinHex 写入到一个文本文档,果然内容正确解开了,好朴实的语言:

RECV-BIN.PNG

RECV-TXT.PNG

特在这里把原始接收的数据也写下来,供其他乱码的各位参考.... 目测这个问题在 零知 IDE 里已经不存在了。


【总结】

零知的这套 F103RB 开发板整体可玩性还是很高的,最方便的在于它能兼容现有的 Arduino 扩展盾板。
实测 F103C8 的程序(不涉及IO)拿来可以直接跑,例如虚拟个 U 盘啥的。

至于硬件用料,建议团队给个官方的外壳,省的天天裸板拿来拿去电坏了(房东家木地板静电真酸爽)。


发表于 2019-1-7 13:13 | 显示全部楼层
帖子写的很用心,赞一个!也谢谢你的建议,不过增加外壳,成本就增加了,我们目前还在初始阶段,主要就靠性价比
发表于 2020-4-28 11:47 | 显示全部楼层
楼主好

使用 CH340.RTS/DTR 可以实现“复位至BOOTLOADER”或“复位至用户程序

这一步不知道应该如何操作,是要给什么引脚一个高电压么?
 楼主| 发表于 2020-4-28 20:29 | 显示全部楼层
chinawow 发表于 2020-4-28 11:47
楼主好

使用 CH340.RTS/DTR 可以实现“复位至BOOTLOADER”或“复位至用户程序

这两个信号一个是对应 RST,一个是对应 BOOT0,可以操作 RTS/DTR 的串口助手下就能搞。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 01:29 , Processed in 0.081347 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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