AG32 MCU以太网应用实例demo

news2024/12/23 3:33:02

一. 前言

AGM32系列32位微控制器旨在为MCU用户提供新的自由度和丰富的兼容外设,以及兼容的引脚和功能。AG32F407系列产品具有卓越的品质,稳定性和卓越的价格价值。

AG32产品线支持其所有接口外设尽可能接近主流兼容性,并提供丰富的参考设计资源,帮助客户快速的熟悉开发流程,完成产品研发。

- 芯片特性

max CPU speed of 248 Mhz
Zero-wait state execution from Flash
SRAM 128KB
Support floating point
Flash 1MB
1 x CAN2.0
5 x UART
2 x I2C
2 x Basic Timer
5 x Advanced Timer
Ethernet MAC
Support USB FS+OTG
Watchdog
3 x 12 bit, up to 3M SPS ADCs(17 channels), 2 DACs
1 dual channel 2 x Comparator
RTC
SPI

二. AG32 片内资源列表:

CAN0 — CAN0_BASE
UART0 ~ 4 — UART0_BASE
IIC0 ~ 1 — I2C0_BASE
TIMER0 ~ 1 — base timer, TIMER0_BASE
GPTIMER0~4 — advanced timer, GPTIMER0_BASE
MAC0 — MAC0_BASE
USB0 — USB0_BASE
watchDog0 — WATCHDOG0
ADC0 ~ 2 — ADC0 —默认 IP 下 3 路, 参考 example_analog;
DAC0 ~ 1 — DAC0 —默认 IP 下 2 路
SPI0 ~ 1 — SPI0

三. 描述项

  1. 时钟的配置;
  2. GPIO 使用;
  3. MTimer 的使用;
  4. Base Timer 的使用;
  5. GpTimer 的使用;
  6. Uart 的使用;
  7. IIC 的使用;
  8. CAN 的使用;
  9. USB 的使用;
  10. MAC 的使用;
  11. SPI 的使用;
  12. ADC/DAC 的使用;
  13. WatchDog 的使用;
  14. RTC 的使用;
  15. 中断说明;
  16. 系统休眠(sleep、 stop、 stanby) ;
  17. 使用 custom_ip;
  18. 片内 flash 的使用;

四. AG32 MCU 以太网 MAC 的使用:
AG32 支持 MAC 模块。
支持 RMII/MII 接口。
目前 SDK 中集成了 Lwip2.1.0 版本。 在 lwip 样例中, 使用了 server 端的功能。
以太网MAC的demo包含在SDK包中,可以从《AG32 IDE 开发环境搭建》文档链接中下载。
Demo样例的使用:
打开样例工程 lwip。
以太网应用例程 lwip
PIO

在开发板上测试例程时, 步骤:

  1. 分别编译并烧录 ve 和 code;
  2. 然后用网线连接 PC 和开发板, 并修改 PC 的 IP 地址为 192.168.5.2;
  3. 在 PC 的浏览器上输入: http://192.168.5.1
    此时, 可以在网页上看到开发板中展示的画面:
    lwIP

移植到自己的板子上时, 注意两项配置:
4. 根据自己的板子, 可能需要修改的是 phy 地址:
phy_addr

  1. 修改 ve 配置文件中 mac 相关 IO 对应, 如:上层部分, 使用什么样的网络, 则自行配置 lwip。
    自行配置 lwip
    更多关于AG32 MCU的驱动demo,可以查阅《AG32 驱动的使用》,或者后台联系交流。
    agmsemi

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1523732.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CSS学习(2)-盒子模型

1. CSS 长度单位 px :像素。em :相对元素 font-size 的倍数。rem :相对根字体大小,html标签就是根。% :相对父元素计算。 注意: CSS 中设置长度,必须加单位,否则样式无效&#xff…

Arduino IDE配置ESP8266开发环境

一、配置步骤 在Arduino IDE中配置ESP8266开发环境的详细步骤如下: 1.打开Arduino IDE,依次点击“文件”->“首选项”,在“附加开发板管理器网址”一栏添加ESP8266开发板的网址。常用的网址是: http://arduino.esp8266.com/s…

精细化运营从开店到抖音运营

本课程将覆盖精细化运营的各个方面,从实体店开店筹备到在抖音平台进行运营推广。学员将学习品牌定位、市场调研、社交媒体营销策略等内容,深入了解如何利用抖音等平台推动业务发展,提升品牌影响力。 课程大小:6.2G 课程下载&…

快速排序(数据结构)

1. 前言: 这两种排序经常使用,且在算法题中经常遇见。 这里我们简单分析讨论一下。 1. 快速排序 平均时间复杂度:O(nlogn) 最坏时间复杂度: O(n^2) 1.1. 左右向中遍历: 取最右侧4…

MechanicalSoup,一个非常实用的 Python 自动化浏览器交互工具库!

目录 前言 什么是 Python MechanicalSoup 库? 核心功能 使用方法 1. 安装 MechanicalSoup 库 2. 创建 MechanicalSoup 客户端 3. 打开网页并与之交互 实际应用场景 1. 网页自动化测试 2. 网络爬虫与数据提取 3. 网页自动化操作 4. 自动化填写和提交多个表单 5.…

数字IC实践项目(9)—SNN加速器的设计和实现(tiny_ODIN)

数字IC实践项目(9)—基于Verilog的SNN加速器 写在前面的话项目整体框图完整电路框图 项目简介和学习目的软件环境要求 Wave&CoverageTiming,Area & Power总结 写在前面的话 项目介绍: SNN硬件加速器是一种专为脉冲神经网…

【论文笔记合集】Transformers in Time Series A Survey综述总结

本文作者: slience_me 文章目录 Transformers in Time Series A Survey综述总结1 Introduction2 Transformer的组成Preliminaries of the Transformer2.1 Vanilla Transformer2.2 输入编码和位置编码 Input Encoding and Positional Encoding绝对位置编码 Absolute …

GPT-1, GPT-2, GPT-3, InstructGPT / ChatGPT and GPT-4 总结

1. GPT-1 What the problem GPT-1 solve? 在 GPT-1 之前,NLP 通常是一种监督模型。 对于每个任务,都有一些标记数据,然后根据这些标记数据开发监督模型。 这种方法存在几个问题:首先,需要标记数据。 但 NLP 不像 CV&…

[ Linux ] vim的使用(附:命令模式的常见命令列表)

1.下载安装 这里是在通过yum进行下载安装 yum install -y vim 2.了解 vim是一款编辑器,它具有多模式的特点 主要有:插入模式,命令模式,底行模式 3.使用 打开 vim 文件名 命令模式的常见命令列表 插入模式 按「 i 」切换…

MQ组件之RabbitMQ学习

MQ组件之RabbitMQ入门 同步调用和异步调用 在微服务架构中,服务之间的调用有同步调用和异步调用两种方式。 我们使用OpenFeign去调用是同步调用,同步调用的缺点很明显,在下图的场景中,支付完成后需要调用订单服务、仓库服务、短…

echarts实践总结(常用二):折线图(特点:渐变、面积区域)

目录 第一章 echarts基本使用 第二章 echarts实践——折线图 效果展示 第一章 echarts基本使用 Echarts常用配置项(详细入门)_echarts配置项手册-CSDN博客 柱状图案例: echarts实践总结(常用一):柱状图(特点:渐变色、点击缩放、…

JavaScript Object对象

创建object类型对象的三种方式 ES中object类型的对象大致由三种创建方式: 直接使用花括号创建使用function创建使用Object.create方法创建。 直接使用花括号创建 代码示例: var obj {v: 6,innerObj: {v: 7,},logV: function() {console.log(this.v…

C#求水仙花数

目录 1.何谓水仙花数 2.求三位数的水仙花数 3.在遍历中使用Math.DivRem方法再求水仙花数 1.何谓水仙花数 水仙花数(Narcissistic number)是指一个 n 位正整数,它的每个位上的数字的 n 次幂之和等于它本身。例如,153 是一个 3 …

慢sql优化

1.避免使用select *,而是明确列出需要的列, 2.小表驱动大表,in适用于左边大表,右边小表。 exists适用于左边小表,右边大表。 3.批量操作:如果每次插入数据库数据,都要连接一次数据库&#xf…

【LeetCode每日一题】2684. 矩阵中移动的最大次数

文章目录 [2684. 矩阵中移动的最大次数](https://leetcode.cn/problems/maximum-number-of-moves-in-a-grid/)思虑:代码: 2684. 矩阵中移动的最大次数 思虑: 1.将第一列的所有行坐标,用IntStream 来生成一个范围 [0, m) 内的整数…

一命通关递归

递归 简介 递归是我们在学C语言的时候,就已经接触到了的一个概念,相信大家的递归都是从这里开始的: 但是,在老师念ppt的时候,伴随着一些前轱辘不转后轱辘转的语言,我们往往都没有太去了解递归的工作原理和…

【C语言】字符函数与字符串函数以及内存函数 { 超详细攻略,一篇学会 }

今日分享:字符、字符串函数和内存函数 内存函数就是对内存进行操作的函数 字符串函数就是对字符串进行操作的函数 字符函数就是对字符进行操作的函数 str前缀的函数是字符串函数,头文件string.h mem前缀的函数是内存函数,头文件stdlib.h 字符…

【pynput】监控是否打开百度贴吧网页

文章目录 简介Demo 简介 有网友提过一个要求,用 Python 实现一个 电脑打开某网站就自动关机的功能。 想到的思路有两个: 【windows 平台】, 获取活动的窗口标题,如果标题里包含了某些网站名称, 那就使用关机命令 可以定时拉取标题, 也可以使…

代码算法训练营day9 | 28. 实现 strStr() 、459.重复的子字符串

day9: 28. 实现 strStr()KMP的主要应用:什么是前缀表:前缀表是如何记录的: 如何计算前缀表:构造next数组:1、初始化2、处理前后缀不相同的情况3、处理前后缀相同的情况 代码: 459.重复的子字符串…

P1303 A*B Problem(高精度乘法)

题目描述&#xff1a; 图解&#xff1a; 此图来源于ACwing一位大佬的题解 AC代码&#xff1a; #include<iostream> #include<vector>using namespace std;vector<int> mul(vector<int> &A,vector<int> &B) {vector<int> C(A.…