打印
[技术问答]

nano100 做 DMA往SPI中写数据的问题

[复制链接]
1861|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
DMA, AN, spi, pd, CSR
本帖最后由 sandou2013 于 2014-7-8 14:10 编辑

SPI前段已做了初始化,怎么SPI接收不到数据?请各位大牛指教一下,是哪里还需要配置吗?

  SPI2->FF_CTL = SPI_FFCTL_RX_THRESHOLD_L1               
                                  | SPI_FFCTL_TX_CLR
                                  | SPI_FFCTL_RX_CLR ;                        
  PDMA_Init();
  PDMAGCR->CSR   |= PDMAGCR_CSR_CLK2 ;                    
  PDMAGCR->PDSSR0 = (PDMAGCR->PDSSR0 & 0xFF00FFFF )
                               | PDMA_CH2_SPI2_TX ;                  
  PDMA2->SAR = (uint32_t)LCD_SHOW_ALL ;                 
  PDMA2->DAR = (uint32_t)(&SPI2->RX0) ;                     
PDMA2->CSR = PDMA_CSR_APB_TWS_8BIT                       
                            | PDMA_CSR_DAD_FIX                           
                            | PDMA_CSR_SAD_INC                           
                            | PDMA_CSR_MEM2IP                        
                            | PDMA_CSR_CEN ;                          
PDMA2->BCR = 32*128 ;                                       
NVIC_EnableIRQ(PDMA_IRQn);
PDMA2->CSR |= PDMA_CSR_TRIG_EN ;                     
SPI2->PDMA |= SPI_PDMA_TX_DMA_EN ;                  
沙发
haolaishi| | 2014-7-8 15:23 | 只看该作者
你这个不好说,真的不好说,建议你烧官方的程序试试,一般是硬件问题,不行抓波形

使用特权

评论回复
板凳
sandou2013|  楼主 | 2014-7-8 15:34 | 只看该作者
本帖最后由 sandou2013 于 2014-7-8 15:38 编辑
haolaishi 发表于 2014-7-8 15:23
你这个不好说,真的不好说,建议你烧官方的程序试试,一般是硬件问题,不行抓波形 ...

没有官方的板子,但是烧进去是SPI也是没有数据的。直接MEM写到SPI是有用的, 或者用PDMA 将数据 MEM TO MEM TO SPI 也是可用的,就是不能用PDMA直接写数据到SPI

使用特权

评论回复
地板
haolaishi| | 2014-7-8 15:42 | 只看该作者

我意思是你直接烧官方的程序看看,他这里有用PDMA SPI的设置,不用官方的板子也可以的,官方给的也是最小板

使用特权

评论回复
5
sandou2013|  楼主 | 2014-7-8 16:02 | 只看该作者
haolaishi 发表于 2014-7-8 15:42
我意思是你直接烧官方的程序看看,他这里有用PDMA SPI的设置,不用官方的板子也可以的,官方给的也是最小 ...

谢谢,直接烧数据也是写不进去,仿真它一直死在
/* Wait PDMA transfer done */
while(g_PdmaIntFlag==0);

使用特权

评论回复
6
haolaishi| | 2014-7-8 17:21 | 只看该作者
sandou2013 发表于 2014-7-8 16:02
谢谢,直接烧数据也是写不进去,仿真它一直死在
/* Wait PDMA transfer done */
while(g_PdmaIntFlag==0) ...

这个问题好奇怪,应该烧官方的程序肯定可以的,建议你下个最新的BSP包看看

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

17

帖子

0

粉丝