栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

GD32高密度 SPI2重映射不能配置问题

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

GD32高密度 SPI2重映射不能配置问题

一、问题描述

1.GD32F103RCT6(高密度芯片)在配置SPI2的重映射时,发现程序中没有对应的映射函数;但是查看文档中确实可以配置。

1)GD32F103RCT6(高密度芯片)包含3个SPI

2)SPI2的重映射引脚(可以配置)

3)寄存器中显示(可以配置)

4)gd32f10x_gpio.h文件中的重映射配置---此版本是GD32F10x_Demo_Suites_V2.1.0(但是程序中不能进行配置)

二、问题所在

1.gd32f10x_gpio.h文件中没有包含SPI2的重映射配置。

2.下载新版GD32F10x_Demo_Suites_V2.1.1资料包,查看gd32f10x_gpio.h,发现已支持SPI2的重映射(官方的注释需要改啊)

三、解决办法

1.需要下载最新版的,更新驱动库。

2.最终程序

#define EX_FLASH_CS_PIN 		GPIO_PIN_15
#define EX_FLASH_CS_GPIO 		GPIOA
#define EX_FLASH_CS_GPIO_CLK 	RCU_GPIOA

#define EX_FLASH_MOSI_PIN 		GPIO_PIN_12
#define EX_FLASH_MISO_PIN 		GPIO_PIN_11
#define EX_FLASH_CLK_PIN 		GPIO_PIN_10
#define EX_FLASH_GPIO 			GPIOC
#define EX_FLASH_GPIO_CLK 		RCU_GPIOC


static void ex_flash_pin_init(void)
{
	rcu_periph_clock_enable(EX_FLASH_CS_GPIO_CLK);
	rcu_periph_clock_enable(EX_FLASH_GPIO_CLK);
	rcu_periph_clock_enable(RCU_AF);

	
	gpio_init(EX_FLASH_CS_GPIO, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, EX_FLASH_CS_PIN);
	
	gpio_pin_remap_config(GPIO_SWJ_SWDPENABLE_REMAP,ENABLE);

	
	gpio_init(EX_FLASH_GPIO_CLK, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, EX_FLASH_CLK_PIN | EX_FLASH_MOSI_PIN);
	gpio_init(EX_FLASH_GPIO_CLK, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, EX_FLASH_MISO_PIN);
	 
	gpio_pin_remap_config(GPIO_SPI2_REMAP,ENABLE);
	
	
	SPI_FLASH_CS_HIGH();
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/629616.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号