
带DAP-LINK的AT32F435RGT7开发板
简介
带DAP-LINK的AT32F435RGT7开发板
简介:带DAP-LINK的AT32F435RGT7开发板开源协议
:GPL 3.0
描述
AT32F435RGT7开发板
还记得之前的AT32F403AVGT7开发板吗?经过一段时间的学习,本次为大家带来了AT32高性能系列AT32F435的开发板。
AT32F403A开发板连接:https://oshwhub.com/fanhuacloud/at32f403avgt7
芯片说明
基于ARM®32位的CortexTM-M4F微控制器+FPU,带256K字节至4032K字节内部闪存、sLib、双QSPI、SDRAM、双OTGFS、以太网、摄像头、18个定时器、3个ADC、23个通信接口
特点
1. GPIO几乎全引出
2. 带SD卡接口
3. 板载DAP-LINK调试器
4. 双OTG(考虑到空间没做USB Host口,可以自行打板转接)
开发板外设
1. AT24C02 EEPROM
2. W25Q128JVPIQ 128Mbit Nor flash
3. 板载DAP-LINK调试器(基于CH549G)
4. SD卡接口
5. 蜂鸣器
6. 两个LED灯
7. 按钮(不使用时可以当普通IO用)
WCH-Link程序烧录
全新芯片,首次上电会自动进入烧录模式,按照附件中WCH-LinkSCH.pdf下载软件,然后烧录程序即可。
如果烧录出现问题,可以按住CH549旁边的按钮,手动进入烧录模式,进行烧录程序。
测试代码
SD卡IO配置
crm_periph_clock_enable(CRM_GPIOB_PERIPH_CLOCK, TRUE);
crm_periph_clock_enable(CRM_GPIOC_PERIPH_CLOCK, TRUE);
crm_periph_clock_enable(CRM_GPIOD_PERIPH_CLOCK, TRUE);
crm_periph_clock_enable(CRM_SDIO1_PERIPH_CLOCK, TRUE);
gpio_init_struct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER;
gpio_init_struct.gpio_mode = GPIO_MODE_MUX;
gpio_init_struct.gpio_out_type = GPIO_OUTPUT_PUSH_PULL;
gpio_init_struct.gpio_pins = GPIO_PINS_10 | GPIO_PINS_11 | GPIO_PINS_12;
gpio_init_struct.gpio_pull = GPIO_PULL_NONE;
gpio_init(GPIOC, &gpio_init_struct);
gpio_init_struct.gpio_pins = GPIO_PINS_0 | GPIO_PINS_6;
gpio_init(GPIOB, &gpio_init_struct);
gpio_init_struct.gpio_pins = GPIO_PINS_2;
gpio_init(GPIOD, &gpio_init_struct);
gpio_pin_mux_config(GPIOC, GPIO_PINS_SOURCE10, GPIO_MUX_12);
gpio_pin_mux_config(GPIOC, GPIO_PINS_SOURCE11, GPIO_MUX_12);
gpio_pin_mux_config(GPIOC, GPIO_PINS_SOURCE12, GPIO_MUX_12);
gpio_pin_mux_config(GPIOB, GPIO_PINS_SOURCE0, GPIO_MUX_12);
gpio_pin_mux_config(GPIOB, GPIO_PINS_SOURCE6, GPIO_MUX_14);
gpio_pin_mux_config(GPIOD, GPIO_PINS_SOURCE2, GPIO_MUX_12);
QSPI IO配置
gpio_init_type gpio_init_struct;
/* enable the dma clock */
crm_periph_clock_enable(CRM_DMA2_PERIPH_CLOCK, TRUE);
/* enable the qspi clock */
crm_periph_clock_enable(CRM_QSPI1_PERIPH_CLOCK, TRUE);
/* enable the pin clock */
crm_periph_clock_enable(CRM_GPIOA_PERIPH_CLOCK, TRUE);
crm_periph_clock_enable(CRM_GPIOB_PERIPH_CLOCK, TRUE);
crm_periph_clock_enable(CRM_GPIOC_PERIPH_CLOCK, TRUE);
/* set default parameter */
gpio_default_para_init(&gpio_init_struct);
/* configure the io0 gpio */
gpio_init_struct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER;
gpio_init_struct.gpio_out_type = GPIO_OUTPUT_PUSH_PULL;
gpio_init_struct.gpio_mode = GPIO_MODE_MUX;
gpio_init_struct.gpio_pins = GPIO_PINS_6;
gpio_init_struct.gpio_pull = GPIO_PULL_NONE;
gpio_init(GPIOA, &gpio_init_struct);
gpio_pin_mux_config(GPIOA, GPIO_PINS_SOURCE6, GPIO_MUX_10);
/* configure the io1 gpio */
gpio_init_struct.gpio_pins = GPIO_PINS_7;
gpio_init(GPIOA, &gpio_init_struct);
gpio_pin_mux_config(GPIOA, GPIO_PINS_SOURCE7, GPIO_MUX_10);
/* configure the io2 gpio */
gpio_init_struct.gpio_pins = GPIO_PINS_4;
gpio_init(GPIOC, &gpio_init_struct);
gpio_pin_mux_config(GPIOC, GPIO_PINS_SOURCE4, GPIO_MUX_10);
/* configure the io3 gpio */
gpio_init_struct.gpio_pins = GPIO_PINS_5;
gpio_init(GPIOC, &gpio_init_struct);
gpio_pin_mux_config(GPIOC, GPIO_PINS_SOURCE5, GPIO_MUX_10);
/* configure the sck gpio */
gpio_init_struct.gpio_pins = GPIO_PINS_1;
gpio_init(GPIOB, &gpio_init_struct);
gpio_pin_mux_config(GPIOB, GPIO_PINS_SOURCE1, GPIO_MUX_9);
/* configure the cs gpio */
gpio_init_struct.gpio_pins = GPIO_PINS_10;
gpio_init(GPIOB, &gpio_init_struct);
gpio_pin_mux_config(GPIOB, GPIO_PINS_SOURCE10, GPIO_MUX_9);
EEPROM IO配置
#define I2Cx_PORT I2C3
#define I2Cx_CLK CRM_I2C3_PERIPH_CLOCK
#define I2Cx_DMA DMA1
#define I2Cx_DMA_CLK CRM_DMA1_PERIPH_CLOCK
#define I2Cx_SCL_GPIO_CLK CRM_GPIOA_PERIPH_CLOCK
#define I2Cx_SCL_GPIO_PIN GPIO_PINS_8
#define I2Cx_SCL_GPIO_PinsSource GPIO_PINS_SOURCE8
#define I2Cx_SCL_GPIO_PORT GPIOA
#define I2Cx_SCL_GPIO_MUX GPIO_MUX_4
#define I2Cx_SDA_GPIO_CLK CRM_GPIOC_PERIPH_CLOCK
#define I2Cx_SDA_GPIO_PIN GPIO_PINS_9
#define I2Cx_SDA_GPIO_PinsSource GPIO_PINS_SOURCE9
#define I2Cx_SDA_GPIO_PORT GPIOC
#define I2Cx_SDA_GPIO_MUX GPIO_MUX_4
#define I2Cx_DMA_TX_Channel DMA1_CHANNEL1
#define I2Cx_DMA_TX_DMAMUX_Channel DMA1MUX_CHANNEL1
#define I2Cx_DMA_TX_DMAREQ DMAMUX_DMAREQ_ID_I2C3_TX
#define I2Cx_DMA_TX_IRQn DMA1_Channel1_IRQn
#define I2Cx_DMA_RX_Channel DMA1_CHANNEL2
#define I2Cx_DMA_RX_DMAMUX_Channel DMA1MUX_CHANNEL2
#define I2Cx_DMA_RX_DMAREQ DMAMUX_DMAREQ_ID_I2C3_RX
#define I2Cx_DMA_RX_IRQn DMA1_Channel2_IRQn
#define I2Cx_EVT_IRQn I2C3_EVT_IRQn
#define I2Cx_ERR_IRQn I2C3_ERR_IRQn
#define I2Cx_DMA_TX_IRQHandler DMA1_Channel1_IRQHandler
#define I2Cx_DMA_RX_IRQHandler DMA1_Channel2_IRQHandler
#define I2Cx_EVT_IRQHandler I2C3_EVT_IRQHandler
#define I2Cx_ERR_IRQHandler I2C3_ERR_IRQHandler
测试例程
稍后整理后更新,可以使用测试例程测试焊接好坏
展示图片
设计图

BOM


评论