本帖最后由 vincent20120907 于 2024-9-10 13:21 编辑
#申请原创#
NUCLEO-H563ZI 是一款由意法半导体(STMicroelectronics)推出的基于 STM32H563ZI 的微控制器开发板。这款微控制器采用了高性能的 ARM Cortex-M33 32位 RISC 核心,工作频率高达 250 MHz,并且具备单精度浮点运算器(FPU)和内存保护单元(MPU),以增强应用程序的安全性。 本篇笔记分享为NUCLEO-H563ZI烧录Micropython固件,并点亮板载LED灯。 1、NUCLEO-H563ZI简介NUCLEO-H563ZI 开发板的主要特点包括: 2MB 的闪存和 640KB 的 SRAM 丰富的外设资源,包括但不限于 ADC、DAC、SPI、I2C、UART、USB接口、以太网口等 板载 ST-Link V3 调试器,方便程序下载和调试 支持多种开发环境,包括 IAR、Keil、STM32CubeIDE、Arduino以及MicroPython环境
在实际应用中,NUCLEO-H563ZI 可以用于各种物联网(IoT)设备的开发,其高性能和丰富的外设使其成为机器学习程序和低功耗 AIoT 控制器的理想选择。 2、以太网介绍以太网是一种广泛使用的局域网技术,定义了数据传输的物理和数据链路层标准。它最初由Xerox公司在1970年代发明,并由DEC、Intel和Xerox共同开发成为标准化技术。以太网使用CSMA/CD协议来管理网络中的设备如何共享通信媒介。 以太网的传输速度从最初的10Mbps发展到如今的10Gbps甚至更高。它由网络接口卡(NIC)、传输介质(如双绞线、光纤)、集线器、交换机和路由器等设备组成。以太网帧结构包括目的和源MAC地址、类型、数据和校验和。 尽管无线技术发展迅速,以太网因其高稳定性和速度,仍然是有线网络连接的首选。 3、原理 以太网通信的原理基于 OSI 模型的物理层和数据链路层。在物理层,以太网使用双绞线或光纤作为传输介质,通过电信号或光信号传输数据。数据链路层则负责在物理层的基础上实现数据的封装、传输和错误检测。
以太网使用 MAC 地址来标识网络上的每个设备,确保数据能够准确送达目标。每个以太网帧都包含目的 MAC 地址和源 MAC 地址,这样网络设备就可以识别数据包的发送者和接收者。此外,以太网帧还包含类型字段,用于指示上层协议类型,如 IP、ARP 等。
为了有效管理网络资源,以太网采用 CSMA/CD 协议。当设备想要发送数据时,它会首先监听信道是否空闲。如果信道空闲,设备会发送数据;如果信道忙,则等待直到信道空闲。如果在数据发送过程中发生冲突,设备会停止发送,并在随机时间后重试,这个过程称为碰撞检测。
以太网的这种工作机制虽然简单,但非常有效,能够支持高速、可靠的数据传输。随着技术的发展,以太网的传输速率不断提高,从最初的 10Mbps 到现在的 10Gbps 甚至更高,满足了日益增长的数据传输需求。 4、连接以太网官方示例:https://docs.micropython.org/en/latest/library/network.LAN.html DHCP:https://forum.micropython.org/viewtopic.php?t=6804 我们看到了这个开发板上面有网口,于是便用micropython对其编程测试,参考代码如下: import network from microdot import Microdot nic = network.LAN() nic.active(True) print(nic.isconnected()) print(nic.status()) nic.ifconfig('dhcp') print(nic.ifconfig()) print(nic.config("mac")) app = Microdot() @app.route('/') def index(request): return '''<!doctype html><html> <head> <title>NUCLEO_H563ZI网页测试</title> <meta charset="UTF-8"> </head> <body> <h1>NUCLEO_H563ZI网页测试</h1> </body></html>''', 200, {'Content-Type': 'text/html; charset=utf-8'} if __name__ == '__main__': print(nic.ifconfig()[0]+':5000') app.run(debug=True)
连接成功,效果: @21小跑堂
|