马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
- #ifndef __CPU_H
- #define __CPU_H
- #include "stm32f10x.h"
- #include "sys.h"
- #define FPGA_RST PEout(1) //FPGAD¾Æ¬¸′λ1|Äü£¬μíμçƽòì2½¸′λ 1--Î′¸′λ 0--¸′λ PE1
- #define FPGA_CS PDout(0) //ƬѡFPGA 0--Î′Ñ¡éÏ 1--Ñ¡éÏ CPU_IDAT0 PD0
- #define FPGA_WR PDout(3) //D′FPGAê1Äü¶Ë £» 1 -D′FPGA CPU_IDAT2 PD3
- //#define FPGA_A PDout(1) //¶áD′FPGAê±êy¾YÃüáî¿ØÖÆ×Ö 1--¶áD′Ãüáî 0--¶áD′êy¾Y CPU_IDAT1 PD1
- //#define FPGA_RD PCout(11) //¶áFPGAê1Äü¶Ë 1-¶áFPGA
- #define FPGA_DONE PCout(9) //êäèë1ü½Å 1-FPGAÅäÖÃíê3é 0--Î′íê3é FPGA_DONE PC9
- #define DATA0 PDout(5)
- #define DATA1 PDout(6)
- #define DATA2 PDout(7)
- #define DATA3 PDout(13)
- #define DATA4 PDout(14)
- #define DATA5 PDout(15)
- #define DATA6 PDout(12)
- #define DATA7 PCout(8)
- #define DATA8 PCout(10)
- #define DATA9 PCout(11)
- #define DATA10 PDout(10)
- #define DATA11 PDout(11)
- #define DATA12 PCout(6)
- #define DATA13 PCout(7)
- #define DATA14 PCout(12)
- #define DATA15 PDout(2)
- void Parallel_Init(void);
- void Dataout(u16 data);
- void write_data(u16 data);
- void write_data_num(u16 *str ,u16 num);
- #endif
复制代码
复制代码
- #include "sys.h"
- #include "delay.h"
- #include "cpu.h"
- //#include "w25qxx.h"
- //******************************************************************************
- //oˉêyÃû£o int main(void)
- //1|ÄüÃèêö£o Ö÷oˉêy£¬Ä£Äa80802¢DD×üÏߣ¬·¢Ëíêy¾Yμ½FPGA
- //êäèë2Îêy£o ÎT
- //±»μ÷óÃoˉêy£oÎT
- //******************************************************************************
- //òaD′èëμ½W25Q128μÄ×Ö·û′®êy×é
- //u16 spi_Buffer[2048];
- //#define SIZE sizeof (spi_Buffer)
- int main(void)
- {
- //u16 datatemp[SIZE];
- u16 spi_Buffer[2048];
- u16 i;
- u16 num = 2048;
- //u32 wraddr = 0;
- Stm32_Clock_Init(9); //Ïμí3ê±ÖóéèÖÃ
- delay_init(72); //Ñóê±3õê¼»ˉ
- //W25QXX_Init(); //W25QXX3õê¼»ˉ
- Parallel_Init(); //2¢¿ú3õê¼»ˉ;
- for(i=0; i<num; i++) //2úéúêy×é;
- {
- spi_Buffer[i]=i;
- }
- //W25QXX_Write((u16*)spi_Buffer,wraddr,SIZE);
- //delay_ms(500);
- //W25QXX_Read(datatemp,wraddr,SIZE); //¶á3öSIZE¸ö×Ö½ú
- //delay_ms(500);
- FPGA_RST = 0;
- delay_ms(500);
- FPGA_RST = 1;
- delay_ms(500);
- delay_ms(500);
- write_data_num(spi_Buffer,num); //êy¾Y¾-2¢¿ú·¢Ëíμ½FPGA
- delay_ms(500);
- }
复制代码
这是我这边编写的部分代码,大致意思是将16位并行数据发送至fpga,模拟的是8080并行口,但是没有读的部分,也没有地址,在FPGA部分设置双口RAM缓存数据,考虑到是按顺序存储,就自加产生写地址;FPGA部分编写完成,功能仿真也可以,但是好像数据没有发送过去,不知问题出在哪儿,STM32刚学习不久,所以怀疑这边出现问题,希望大家可以帮我看看。多多指点!万分感谢!
(本来还有一部分读写W25Q16部分,因为数据是先缓冲到那里面,但是考虑到一步一步调试,所以先注销了,后面再研究) |