stm32如何读取并口_STM32 的并口总线的所有接口类型解决方法

本文详细介绍了STM32F207IG如何配置并口总线以支持NOR, SRAM, PSRAM接口,特别是PSRAM的同步非复用、异步复用和异步非复用操作。通过初始化GPIO和FSMC,以及提供相应的读写函数,实现了对PSRAM的访问。同步模式下通常不需要调整建立时间,而在异步模式下可能需要调试建立时间。" 105725471,7563855,离线安装VS2019在32位Windows7上的解决方案,"['Visual Studio', 'Windows7', '安装教程', '软件问题', '开发者工具']
摘要由CSDN通过智能技术生成

STM32 的并口总线的所有接口类型解决方法

STM32的并口总线支持NOR, SRAM, PSRAM,NAND接口,本文以PSRAM为例实现并口的同步非复用, 异步复用和异步非复用操作!以STM32F207IG(176脚)系列为例,步骤如下:

1.  初始化并口的各个引脚

//Add[0-25] : F0-F5(6); F12-F15(4); G0-G5(6); D11-D13(3); E3-E6(4); E2(1); G13-G14(2)

//Data[0-15]: D14-D15(2);D0-1(2);E7-15(9);D8-10(3)

//FSMC_NIORD: F6   NC           for PC CARD

//FSMC_NREG : F7   NC           for PC CARD

//FSMC_NIOWR: F8   NC           for PC CARD

//FSMC_CD   : F9   NC           for PC CARD

//FSMC_INTR : F10  NC           for PC CARD

//FSMC_INT2 : G6   NC           for COMMON

//FSMC_INT3 : G7   NC           for COMMON

//FSMC_CLK  : D3                for NOR/PSRAM

//FSMC_NOE  : D4                for COMMON

//FSMC_NWE  : D5                for COMMON

//FSMC_NWAIT: D6                for COMMON

//FSMC_NE1  : D7   FSMC_NCE2    for NOR/PSRAM  for NAND

//FSMC_NE2  : G9   FSMC_NCE3    for NOR/PSRAM  for NAND

//FSMC_NE3  : G10  NC           for NOR/PSRAM

//FSMC_NCE4 : G11  NC           for NOR/PSRAM

//FSMC_NE4  : G12  NC           for NOR/PSRAM

//FSMC_NL   : B7                for NOR/PSRAM

//FSMC_NBL0 : E0                for NOR/PSRAM

//FSMC_NBL1 : E1                for NOR/PSRAM

void FsmcInit(void)

{

u8 i=0;

// 1.

GPIO_InitTypeDef GPIO_InitStructure;

RCC_AHB3PeriphClockCmd(RCC_AHB3Periph_FSMC, ENABLE);

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB  | RCC_AHB1Periph_GPIOD  |        RCC_AHB1Periph_GPIOE | RCC_AHB1Periph_GPIOF | RCC_AHB1Periph_GPIOG, ENABLE);

for(i=0; i

{

GPIO_PinAFConfig((GPIO_TypeDef *)GPIOx,  GPIO_PinSourceX, GPIO_AF_FSMC);

}

GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_0 ;

GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_AF;

GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;

GPIO_InitStructure.GPIO_PuPd  = GPIO_PuPd_NOPULL;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init(GPIOD, &GPIO_InitStructure);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值