为了账号安全,请及时绑定邮箱和手机立即绑定

我为什么制作了AMB25参考指南?因为瑞昱忘了做啊 🤷‍♂️

标签:
杂七杂八
我为什么制作了AMB25参考指南?因为瑞昱忘了做啊 🤷‍♂️

各位开发者们!👋

想象一下:你刚买了一块闪亮的新开发板。它支持双频WiFi、BLE 5.0,搭载强大的ARM Cortex-M33处理器,还兼容Arduino。你激动不已,准备大展身手打造下一个重磅IoT产品。但当你打开文档时...却发现一团糟。资料零散不全,你花在查找信息上的时间比实际编码还多。

听起来很熟悉吧?没错,这就是我在使用AMB25/AMB26(瑞昱RTL8720DF)开发板时的真实经历。

于是,我做了任何稍有挫败感的开发者都会做的事——自己制作了一份完整的参考指南。今天,我就把它分享给大家!

🔗 项目仓库

GitHub地址: https://github.com/nityam2007/AMB25-reference

欢迎Star、Fork、参与贡献。让我们共同打造这份本应从一开始就存在的资源。


等等,AMB25到底是什么?

问得好!AMB25是一款基于瑞昱RTL8720DF芯片的开发板。它的规格其实相当令人印象深刻:

  • CPU: 200MHz的ARM Cortex-M33(对微控制器来说速度很快!)
  • RAM: 512KB
  • Flash: 4MB(其中2MB可用于存储你的代码)
  • WiFi: 支持2.4GHz和5GHz双频(802.11 a/b/g/n)
  • 蓝牙: BLE 5.0
  • 尺寸: 小巧的50.7 × 17.8 mm规格
  • USB: Type-C接口(终于用上了可正反插的接口!)

可以把它想象成ESP32那位很酷但家族聚会上没人谈论的"表亲"。


我为什么要制作这份参考指南

关于AMB25,情况是这样的——它确实是一块扎实的板子。在这个价位提供双频WiFi实属罕见。BLE 5.0很棒。200MHz的处理器速度很快。但它的文档?只能说还有很大的改进空间。

我曾经不得不频繁地在以下来源间切换:

  • 2021年的论坛帖子,内容可能早已过时
  • 零散的代码示例,甚至无法编译通过
  • 需要放大镜和运气的引脚定义图
  • 默认你已无所不知的API参考文档

在我第五次搜索"AMB25如何连接WiFi"却得到五种不同答案后,我"爆发"了。不是消极的爆发,而是"让我来解决这个问题"的爆发。


参考指南包含哪些内容?

我试图涵盖你真正需要的一切:

📍 完整的GPIO参考

每一个引脚都涵盖了。包含真正有用的信息,例如:

  • 哪些引脚支持PWM
  • 哪些引脚具有ADC功能
  • 每个引脚与其他功能的复用情况(避免资源冲突)
  • 常见用例的推荐引脚

以下是引脚定义表示例:

引脚编号 GPIO ADC PWM UART SPI I2C
0 PA15 SPI1_SS
6 PA26 I2C_SDA
7 PA25 I2C_SCL
11 PB1 A4

再也不用猜每个引脚是干什么的了!

📶 真正可用的WiFi示例

包含2.4GHz和5GHz示例。Station模式。AP模式。扫描网络。真正能连接到你家WiFi,而不是耗费三小时。全部经过测试,全部可用。

🔌 串口通信

你知道AMB25有三个UART接口吗?我原来也不知道!直到我凌晨两点仔细查阅数据手册。现在你不需要再这样做了:

  • Serial — USB串口(用于串口监视器)
  • Serial1 — 硬件UART1(引脚PB19/PB18)
  • Serial2 — 硬件UART2(引脚PA12/PA13)

💾 Flash存储

如何使用FlashMemory保存断电不丢失的数据。因为有时候设备需要"记住"一些东西。

🐛 常见问题与解决方法

光是这个部分可能就为我节省了数小时的折腾时间:

  • "上传失败!" — 尝试按住Burn按钮的同时按下Reset键,然后同时释放。再进行上传。
  • "串口监视器显示乱码!" — 将波特率设置为115200。
  • "无法连接到5GHz WiFi!" — 确保你使用了正确的信道。某些地区会限制特定的5GHz信道。

    • *
我最喜欢的发现:自动上传模式

通常,给AMB25上传代码需要执行一套复杂的操作:

  1. 按住Burn按钮
  2. 按下Reset键
  3. 释放两个按钮
  4. 在Arduino IDE中快速点击Upload
  5. 祈祷时机把握正确

但你猜怎么着?其实有一个自动上传模式!只需在Tools → Auto Upload Mode → Enable中启用它,板子就会自动处理上传过程。简直太震撼了。

为什么这不是默认设置?为什么产品页面上没有用加粗大字标明?我不知道。但现在你知道了!


代码片段:连接WiFi

这里有一个快速上手的代码片段:

```c++

include <WiFi.h>

char ssid[] = "你的网络名称";
char pass[] = "你的密码";

void setup() {
Serial.begin(115200);

WiFi.begin(ssid, pass);

while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
}

Serial.println("\n已连接!");
Serial.print("IP地址: ");
Serial.println(WiFi.localIP());

}

void loop() {
// 你牛逼的代码写在这里
}



很简单,对吧?这正是整个参考指南的目标——让事情变得简单且真正可用。

* * *

## 参与贡献

这份参考指南是开源的(显而易见)。如果你发现了错误、有更好的示例,或者发现了AMB25一些隐藏功能——请务必参与贡献!可以提交Issue、Pull Request,或者直接留言。

我特别希望了解:

*   我尚未覆盖的边缘案例
*   你用AMB25完成的项目
*   让你感到困惑、需要我进一步澄清的地方

* * *

## 最后总结

AMB25/AMB26确实是一块被低估的开发板。双频WiFi、BLE 5.0、Arduino兼容、USB-C——它满足了很多条件。唯一拖后腿的就是文档,希望这份参考指南能有所帮助。

如果你正在使用这些开发板,不妨看看这份指南。如果它对你有用,请在仓库点个Star。如果发现任何问题,请告诉我!

**📚 完整参考指南:** <https://github.com/nityam2007/AMB25-reference>

祝编程愉快!🚀

* * *

_附:如果瑞昱的哪位同仁正在读这篇文章...请改进你们的文档。不过,硬件还是很棒的。❤️_
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消