GD32F470IIH6技术指标
时间: 2023-12-23 15:03:49 浏览: 156
1. 处理器核心:ARM Cortex-M4
2. 主频: 120 MHz
3. 存储器:
- Flash 存储器: 1 MB
- SRAM 存储器: 128 KB
4. 通信接口:
- 10/100 Mbps 以太网 MAC 接口
- USB 2.0 接口
- CAN 接口
- USART 接口
- SPI 接口
- I2C 接口
5. 时钟和定时器:
- 三个基本定时器
- 一个高级定时器
- 一个 SysTick 定时器
- 一个 RTC 定时器
6. 中断和 DMA:
- 21 个中断向量
- 12 个 DMA 通道
7. 电源管理:
- 低功耗模式: Sleep、Deep-sleep、Standby
- 供电电压: 2.6 V - 3.6 V
8. 封装形式: LQFP100
9. 工作温度范围: -40℃ ~ 85℃
相关问题
GD32F470IIH6的SPI驱动程序
GD32F470IIH6是一款基于ARM Cortex-M4内核的微控制器,其SPI外设是一种全双工同步串行通信接口,可以实现与其他外设的高速数据传输。下面是一个简单的SPI驱动程序示例,仅供参考:
```c
#include "gd32f4xx.h"
void spi_gpio_init(void)
{
/* 使能GPIO时钟 */
rcu_periph_clock_enable(RCU_GPIOB);
/* 配置PB12为CS引脚 */
gpio_mode_set(GPIOB, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_12);
gpio_output_options_set(GPIOB, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_12);
gpio_bit_set(GPIOB, GPIO_PIN_12);
/* 配置PB13、PB14、PB15为SPI引脚 */
gpio_af_set(GPIOB, GPIO_AF_5, GPIO_PIN_13 | GPIO_PIN_14 | GPIO_PIN_15);
gpio_mode_set(GPIOB, GPIO_MODE_AF, GPIO_PUPD_PULLUP, GPIO_PIN_13 | GPIO_PIN_14 | GPIO_PIN_15);
gpio_output_options_set(GPIOB, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_13 | GPIO_PIN_14 | GPIO_PIN_15);
}
void spi_config(void)
{
/* 使能SPI时钟 */
rcu_periph_clock_enable(RCU_SPI1);
/* 配置SPI参数 */
spi_parameter_struct spi_init_struct;
spi_init_struct.device_mode = SPI_MASTER;
spi_init_struct.trans_mode = SPI_TRANSMODE_FULLDUPLEX;
spi_init_struct.frame_size = SPI_FRAMESIZE_8BIT;
spi_init_struct.nss = SPI_NSS_SOFT;
spi_init_struct.prescale = SPI_PSC_4;
spi_init_struct.endian = SPI_ENDIAN_MSB;
spi_init_struct.clock_polaraity_phase = SPI_CK_PL_HIGH_PH_2EDGE;
spi_init(SPI1, &spi_init_struct);
}
void spi_write_byte(uint8_t data)
{
/* 使能CS引脚,选中从设备 */
gpio_bit_reset(GPIOB, GPIO_PIN_12);
/* 等待发送缓冲区为空 */
while(spi_i2s_flag_get(SPI1, SPI_FLAG_TBE) == RESET);
/* 发送数据 */
spi_i2s_data_transmit(SPI1, data);
/* 等待接收缓冲区不为空 */
while(spi_i2s_flag_get(SPI1, SPI_FLAG_RBNE) == RESET);
/* 读取接收数据,清除RXNE标志位 */
spi_i2s_data_receive(SPI1);
}
void spi_disable(void)
{
/* 禁用SPI外设 */
spi_disable(SPI1);
/* 禁用SPI时钟 */
rcu_periph_clock_disable(RCU_SPI1);
}
int main(void)
{
spi_gpio_init();
spi_config();
/* 发送数据 */
spi_write_byte(0x55);
spi_disable();
}
```
gd32F470配置以太网 gd32F470配置以太网 gd32F470配置以太网,以太网使用的为HR911105A2418
GD32F470是一款基于ARM Cortex-M4的微控制器,要将其配置成支持以太网功能,通常需要配合外部网络模块,如你提到的HR911105A2418,这是一款嵌入式以太网MAC+PHY控制器。
以下是基本步骤:
1. **硬件连接**:
- 将HR911105A2418的以太网接口连接到GD32F470的GPIO引脚上,包括TXD(发送数据),RXD(接收数据)、MDIO/MDC(管理接口)等。
- 如果有中断信号,也需要将它们接入微控制器的中断系统。
2. **软件配置**:
- 初始化外设:在GD32F470的固件库或驱动程序中,编写函数来配置HR911105A2418,设置MAC地址、IP地址以及网络工作模式(自动获取或静态分配)。
3. **MAC设置**:
- 配置MAC地址,这是设备在网络上的唯一标识。
- 开启MAC引擎,并配置PHY(物理层),设置通信速率(例如10/100 Mbps)和双工模式。
4. **PHY配置**:
- 设置PHY的工作模式,如果是MDI-X(自协商)模式,需要配置PHY的MII或RMII模式。
5. **网络协议栈初始化**:
- 可能还需要配置TCP/IP堆栈,例如使用LwIP或者FreeRTOS+ lwIP这样的开源网络库,设置路由器信息和DNS服务器。
6. **应用程序接口**:
- 实现应用程序接口(API),通过这些接口,上层应用可以读取和发送网络数据。
注意:每个微控制器的具体操作可能会有所不同,实际配置过程应参考官方文档和具体的驱动程序示例代码。
阅读全文