有关使用 SDK 的详细信息,请参阅MAX78000 评估套件入门。
本文采用MAX7800羽毛板
板载资源
windows下eclipse开发环境,搭建见教程:
【window下配置Maxim SDK环境】
例程官网地址:https://github.com/MaximIntegratedAI/MAX78000_SDK/tree/master/Examples/MAX78000
Example | GCC Status | Eclipse Support | Notes |
---|---|---|---|
ADC | Complete | Yes | The overflow, low limit, and high limit are not reported properly in the example. |
AES | Complete | Yes | |
CameraIF | Complete | Yes | |
CNN/cats-dogs_demo | Complete | Yes | The project can be imported into Eclipse, but cannot be created using the New project wizard. |
CNN/cats-vs-dogs | Complete | Yes | The project can be imported into Eclipse, but cannot be created using the New project wizard. |
CNN/cifar-10 | Complete | Yes | The project can be imported into Eclipse, but cannot be created using the New project wizard. |
CNN/cifar-100 | Complete | Yes | The project can be imported into Eclipse, but cannot be created using the New project wizard. |
CNN/faceid | Complete | Yes | The project can be imported into Eclipse, but cannot be created using the New project wizard. |
CNN/faceid_demo | Complete | No | |
CNN/faceid_evkit | Complete | Yes | The project can be imported into Eclipse, but cannot be created using the New project wizard. |
CNN/kws20_demo | Complete | Yes | The project can be imported into Eclipse, but cannot be created using the New project wizard. |
CNN/kws20_v3 | Complete | Yes | The project can be imported into Eclipse, but cannot be created using the New project wizard. |
CNN/mnist | Complete | Yes | The project can be imported into Eclipse, but cannot be created using the New project wizard. |
CNN/mnist-riscv | Complete | Partial | Debug support for code running on the RISC-V is not yet supported in Eclipse. |
CNN/mnist-streaming | Complete | Partial | Debug support for code running on the RISC-V is not yet supported in Eclipse. |
CNN/snake_game_demo | Complete | Yes | The project can be imported into Eclipse, but cannot be created using the New project wizard. |
CRC | Complete | Yes | |
DMA | Complete | Yes | |
ECC | Complete | Yes | |
Flash | Complete | Yes | |
GPIO | Complete | Yes | |
Hello_World | Complete | Yes | |
I2C | Complete | Yes | |
I2S | Complete | Yes | |
ICC | Complete | Yes | |
LP | In Progress | In Progress | |
Pulse_Train | Complete | Yes | |
RTC | Complete | Yes | |
SPI | Complete | Yes | |
TFT_Demo | Complete | Yes | |
TMR | Complete | Yes | |
TRNG | Complete | Yes | |
UART | Complete | Yes | |
Watchdog | Complete | Yes | |
WUT | Complete | Yes |
本文会挑选ADC、GPIO、UART三个幸运的例程进行学习演示
通过持续监控 ADC 输入通道(EvKit 上的 AIN0 和 featherboard 上的 AIN3)演示 ADC 的使用。将 AIN
输入上的电压从 0V 变为 0.9V,以观察来自 ADC 的不同读数。任意设置上下限,分别演示过压和欠压情况的检测。如果 ADC 读数超过 0x300,该示例将报告已达到上限。如果 ADC 读数低于
0x25,该示例将报告已达到下限。任何超过 ADC 满量程值的读数都会在该值后附加一个“*”。
在构建固件之前,您必须在“project.mk”中为BOARD选择正确的值
,“EvKit_V1”或“FTHR_RevA”,具体取决于您用于运行示例的评估套件。这样做之后,使用终端窗口导航到示例所在的目录。输入以下命令以构建运行该示例所需的所有文件。
在 PC 和 CN1 (USB/PWR) 连接器之间连接 USB 电缆。 连接 JH1 (UART 0 EN) 接头连接器的引脚 1 和 2
(P0_1)。 在 PC 上打开一个终端应用程序并连接到评估板的控制台 UART,地址为 115200, 8-N-1。 将 0 到 0.9V
之间的输入电压施加到 JH3(ADC IN)接头连接器的引脚 A0。
在 PC 和 CN1 (USB/PWR) 连接器之间连接 USB 电缆。 在 PC 上打开终端应用程序并连接到评估板的控制台
UART,地址为 115200, 8-N-1。 将 0 到 0.9V 之间的输入电压施加到 J8 接头上的 AIN0 引脚
设备的控制台 UART 将输出以下消息:
******************** ADC Example ********************
ADC readings are taken on ADC channel 0 every 250ms
and are subsequently printed to the terminal.
0: 0x01af
0: 0x01af
0: 0x01af
0: 0x01af
.
.
.
本示例演示了基本的 GPIO 输入、输出和中断。
标准评估套件 (EvKit_V1): P2.6 (PB1) 被连续扫描,然后在该引脚上读取的任何值都会输出到 P0.2 (LED1)。在 P2.7 (PB2) 上设置中断。当中断发生时,P0.3 (LED2) 切换。
羽毛板(FTHR_RevA): P1.7 (SW2) 被连续扫描,然后在该引脚上读取的任何值都会输出到 P2.0(RGB LED 中的红色 LED)。在 P0.2 (SW1) 上设置中断。P0.9(接头 J4 上的 SDIO3 引脚)在该中断发生时切换(LED必须接高电平触发)
在构建固件之前,您必须在“project.mk”中为BOARD选择正确的值
,“EvKit_V1”或“FTHR_RevA”,具体取决于您用于运行示例的评估套件。这样做之后,使用终端窗口导航到示例所在的目录。输入以下命令以构建运行该示例所需的所有文件。
在 PC 和 CN1 (USB/PWR) 连接器之间连接 USB 电缆。 连接 JH1 (UART 0 EN) 接头连接器的引脚 1 和 2
(P0_1)。 在 PC 上打开一个终端应用程序并连接到评估板的控制台 UART,地址为 115200, 8-N-1。 闭合跳线 JP1
(LED1 EN)。 闭合跳线 JP2 (LED2 EN)。
在 PC 和 CN1 (USB/PWR) 连接器之间连接 USB 电缆。 在 PC 上打开终端应用程序并连接到评估板的控制台
UART,地址为 115200, 8-N-1。 将逻辑分析仪连接到接头 J4 上的 SDIO3 引脚,以观察每次按下 SW1
按钮时引脚切换。
设备的控制台 UART 将输出以下消息:
***** GPIO Example *****
1. This example reads P2.6 (PB1 input) and outputs the same state onto
P0.2 (LED1).
2. An interrupt is set up on P2.7 (PB2 input). P0.3 (LED2) toggles when
that interrupt occurs.
您还将观察上面描述部分中给出的 LED 行为。
该应用演示了 MAX78000 两个串口之间的 UART 传输。两个串行端口之间传输 1024个字节,并且比较接收缓冲区和传输缓冲区以验证传输是否成功。
在构建固件之前,您必须在“project.mk”中为BOARD选择正确的值
,“EvKit_V1”或“FTHR_RevA”,具体取决于您用于运行示例的评估套件。这样做之后,使用终端窗口导航到示例所在的目录。输入以下命令以构建运行该示例所需的所有文件。
在 PC 和 CN1 (USB/PWR) 连接器之间连接 USB 电缆。 连接 JH1 (UART 0 EN) 接头连接器的引脚 1 和 2
(P0.1)。 在 PC 上打开一个终端应用程序并连接到评估板的控制台 UART,地址为 115200, 8-N-1。 将 JH2.2
(P0.12) 连接到 JH4.2 (P1.1)。
在 PC 和 CN1 (USB/PWR) 连接器之间连接 USB 电缆。 在 PC 上打开终端应用程序并连接到评估板的控制台
UART,地址为 115200, 8-N-1。 将 J8.8 (P1.0) 连接到 J8.15 (P2.7)
设备的控制台 UART 将输出以下消息:
**************** UART Example ******************
This example sends data from one UART to another.
Connect the TX pin of UART3 to the RX pin of UART2 for this example.
-->UART Baud : 115200 Hz
-->Test Length : 1024 bytes
-->UART Initialized
-->Data verified
-->EXAMPLE SUCCEEDED
通过对这篇文章我们掌握了MAX78000基础案例演示,接下来会有许多有趣的实验,尝试与Arduino通讯做语音小车,进而丰富我们的生活。从而实现对外部世界进行感知,充分认识这个有机与无机的环境,科学地合理地进行创作和发挥效益,然后为人类社会发展贡献一点微薄之力。
再次非常感谢大赛支持和胡同学
参考文献:
window10下配置Maxim SDK
数据手册
MAX78000板卡项目汇总
应用笔记
【window下配置Maxim SDK环境】