OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7787|回复: 3

[ALTERA] 串口使用DMA发送,发送没反应,既不提示发送失败,也不提示发送成功。。

[复制链接]

0

主题

3

帖子

0

精华

新手入门

积分
6
金钱
6
注册时间
2020-8-28
在线时间
1 小时
发表于 2020-11-12 18:37:59 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 YBwisdom 于 2020-11-12 18:58 编辑

问题:串口使用DMA发送,发送没反应,既不提示发送失败,也不提示发送成功。
分析:
         另一块板子SDRAM用的是H57V2562GTR,开发板用的是W9825G6KH,都是16位数据总线的SDRAM,同样的串口DMA发送程序,能够正常执行。说明程序是没问题的。
         最新的板子SDRAM用的是MT48LC4M32B2,32位数据总线。DMA发送怎么都没反应。。。。做了个实验,将SDRAM换成片内的RAM,DMA又正常了。



  1. //DMA初始化
  2. alt_u8 dmaReady()
  3. {
  4.      if((txchan=alt_dma_txchan_open(DMA_0_NAME))!=NULL)
  5.             {
  6.                     if((ret=alt_dma_txchan_ioctl(txchan,ALT_DMA_SET_MODE_8,NULL))>=0)
  7.                         {
  8.                                 if((ret=alt_dma_txchan_ioctl(txchan,ALT_DMA_TX_ONLY_ON,(void *)(UART_0_BASE+2)))>=0)
  9.                                 {
  10.                                             //printf("OPEN DMA SUCCEED!!\r\n");
  11.                                             return TRUE;
  12.                                }
  13.                         }
  14.                     else
  15.                     {
  16.                             return FALSE;
  17.                     }
  18.             }
  19.         return FALSE;
  20. }
  21. /*
  22. *函数功能:uart发送字符串
  23. * */
  24. void uart_printf(const char *const TxData, ...)
  25. {
  26.      unsigned short n;
  27.         va_list ap;                       //定义了一个数组名为ap的指针数组,该数组只含有一个元素
  28.         va_start(ap,TxData);         //ap指向可变参数函数....号前的最后一个参数
  29.         while (!tx_done);
  30.         n=vsnprintf(string,txd_data_size,TxData,ap);  //用于向string指定的串缓冲区写入以data_chars为格式化,以ap为参数首址的数据
  31.         tx_done=0;
  32.         ret=alt_dma_txchan_send(txchan,string,n,(void*)dma_done,NULL);
  33.     //    if(!(ret=alt_dma_txchan_send(txchan,string,n,(void*)dma_done,NULL)))
  34.     //        printf("DMA transmit!!\r\n");
  35.     //    else
  36.     //        printf ("Error: failed to post transmit request\n");
  37.         va_end(ap);
  38. }
复制代码




正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
6
金钱
6
注册时间
2020-8-28
在线时间
1 小时
 楼主| 发表于 2020-11-13 09:54:53 | 显示全部楼层
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
6
金钱
6
注册时间
2020-8-28
在线时间
1 小时
 楼主| 发表于 2020-11-13 09:55:32 | 显示全部楼层

回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
6
金钱
6
注册时间
2020-8-28
在线时间
1 小时
 楼主| 发表于 2020-11-13 09:55:53 | 显示全部楼层

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-10-3 16:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表