试了好几天,感觉没什么错误啊,我是采用GPIO11接收外部FPGA传来控制命令,GPIO11设置为输入引脚,当其为高电平说明数据已经准备传,随后在FPGA那边按照SPI 时钟依次传8个数到DSP的MISO口,SpiaRegs.SPIFFRX.bit.RXFFST=1时说明装完1个字,再将BUFFER中数据给RDATA,按理说应该没错,可是RDATA就是没反应,编译时警告我RDATA虽然设置了,但是没有用到。求大神指教,点通了也就实现了DSP通过FPGA读数据了,而且可以实时处理,作用超屌的。实在不行,我就考虑用中断试试了。备注:(我这程序是在28335例程中找的,也就是SPI_LOOPBACK的那个,在那个的基础上改的,SPICCR寄存器中禁用了自测模式,GPIO11默认为禁止内部上拉引脚)
#include "DSP28x_Project.h" // Device Headerfile and Examples Include File
void delay_loop(void);
void spi_xmit(Uint16 a);
void spi_fifo_init(void);
void spi_init(void);
void error(void);
void main(void)
{
// Uint16 sdata; // send data
Uint16 rdata; // received data
InitSysCtrl();
InitSpiaGpio();
DINT;
InitPieCtrl();
IER = 0x0000;
IFR = 0x0000;
InitPieVectTable();
|