首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

STM32与FPGA通信写数据出错问题解决方法(2)

STM32与FPGA通信写数据出错问题解决方法(2)

84      85     FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure); 86      87     // Enable FSMC Bank1_SRAM Bank 88     FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM4, ENABLE); 89       90     //CPLD 复位信号,这里使用普通IO PD7 91     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;    92     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;    //开漏输出 93     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;    //50M时钟速度 94     GPIO_Init(GPIOC, &GPIO_InitStructure); 95      96     GPIO_ResetBits(GPIOD, GPIO_Pin_7); 97     GPIO_SetBits(GPIOD, GPIO_Pin_7);    //根据CPLD程序设置低电平复位 98 } 99 /*******************************************************************************100 名称:CPLD_Write101 功能:CPLD写时序102 参数:uint8_t pBuffer-写入的数据 uint32_t WriteAddr-写入的地址103 时间:2011.1.15104 版本:1.0105 注意:在硬件设计中使用了八根地址线和数据线,因此以八位的数据写入106 *******************************************************************************/107 void CPLD_Write(uint16_t pBuffer, uint16_t WriteAddr)108 {109     *(uint16_t *) (Bank1_SRAM4_ADDR + WriteAddr) = pBuffer;  110 }111 /*******************************************************************************112 名称:uint16_t CPLD_Read(uint32_t ReadAddr)113 功能:CPLD读114 参数:uint32_t ReadAddr需要读取的地址,返回读取的值115 时间:2011.4.26116 版本:1.0117 注意:在硬件设计中使用了16根地址线和数据线,因此以16位的数据写入118 *******************************************************************************/119 uint16_t CPLD_Read(uint16_t ReadAddr)120 {121     uint16_t pBuffer; 122     pBuffer = *(__IO uint16_t*) (Bank1_SRAM4_ADDR + ReadAddr);123     return pBuffer; 124 }
继承事业,薪火相传
返回列表