关于nios ii的SPI内核使用问题

2019-03-25 07:51发布

使用nios自带的SPI 内核的IORD_ALTERA_AVALON_SPI_RXDATA()命令,但在MISO线上观察不到数据,也就是说rxdata没有读取到数据,同时读取的过程中SCK上也是没有时钟信号的,这很怪异,使用读命令的话SCK不是应该输出时钟信号的么??。。。有没有人能帮忙解决下?谢谢啊~     代码如下:   void FlashRead(alt_u32 len, alt_u8 *buffer) //读入指定字节
{                                      
     unsigned int i;     IOWR_ALTERA_AVALON_SPI_SLAVE_SEL(SPI_0_BASE,1);// select slave device
    IOWR_ALTERA_AVALON_SPI_CONTROL(SPI_0_BASE,0x400);//force the SS_n to output
   for (i=0;i<len;i++)
  {
     while((IORD_ALTERA_AVALON_SPI_STATUS(SPI_0_BASE) & ALTERA_AVALON_SPI_STATUS_RRDY_MSK) == 1);
      *buffer++ = GetSPIByte();                   // read data from SPI
     }
  while ((IORD_ALTERA_AVALON_SPI_STATUS(SPI_0_BASE) & ALTERA_AVALON_SPI_STATUS_TMT_MSK) == 0);
  IOWR_ALTERA_AVALON_SPI_CONTROL(SPI_0_BASE, 0);
} [ 本帖最后由 libindavis 于 2011-8-20 17:36 编辑 ] 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。