OpenEdv-开源电子网

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

txt文件有大小没有内容?大家帮忙看一看谢谢了

[复制链接]

15

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
120
金钱
120
注册时间
2013-2-5
在线时间
0 小时
发表于 2013-2-18 16:38:05 | 显示全部楼层 |阅读模式
 最近在学习fatfs,往SD卡里面创建了txt文档,写入数据并且用串口读出数据,但是出现了以下的奇怪现象:

上面是我创建的文档,我想把数据发送并写入到上面这个文档里但是写入的都是0,并且这个文档打开后里面没有东西,下面是我使用的程序:
1.//USART1用DMA方式接收数据
void USART_Receive_DMA(void)
{    
 u16 i=0;
 i=sizeof(ReceiveBuffer);
 if(i!=0){       //清空ReceiveBuffer
  for(;i>0;i--)
   ReceiveBuffer=0; 
 }    
 MYDMA_Config(DMA1_Channel5,(u32)&USART1->DR,(u32)ReceiveBuffer,512);//DMA1通道5,外设为串口1,存储器为ReceiveBuffer,长度512.    
    USART1->CR3=1<<6;           //使能串口1的DMA接收      
 MYDMA_Enable(DMA1_Channel5);//开始一次DMA接收  
    //等待DMA接收完成,此时我们来做另外一些事,点灯
    //实际应用中,传输数据期间,可以执行另外的任务
    while(1){
  if(DMA1->ISR&(1<<17))
  {  
      //等待通道5传输完成
   DMA1->IFCR|=1<<17;//清除通道5传输完成标志
   break;
        }
  
    }      
 
}
2.DMA的配置:
u16 DMA1_MEM_LEN;//保存DMA每次数据传送的长度      
//DMA1的各通道配置
//这里的传输形式是固定的,这点要根据不同的情况来修改
//从存储器->外设模式/8位数据宽度/存储器增量模式
//DMA_CHxMA通道CHx
//cpar:外设地址
//cmar:存储器地址
//cndtr:数据传输量 
void MYDMA_Config(DMA_Channel_TypeDef*DMA_CHx,u32 cpar,u32 cmar,u16 cndtr)
{
 RCC->AHBENR|=1<<0;//开启DMA1时钟
 __nop();
 __nop();
 __nop();
 DMA_CHx->CPAR=(u32)cpar;   //DMA1 外设地址
 DMA_CHx->CMAR=(u32)cmar; //DMA1,存储器地址
 DMA1_MEM_LEN=cndtr;      //保存DMA传输数据量
 DMA_CHx->CNDTR=cndtr;    //DMA1,传输数据量
 DMA_CHx->CCR=0X00000000;//复位
 DMA_CHx->CCR|=1<<4;  //从存储器读
 DMA_CHx->CCR|=0<<5;  //普通模式
 DMA_CHx->CCR|=0<<6;  //外设地址非增量模式
 DMA_CHx->CCR|=1<<7;  //存储器增量模式
 DMA_CHx->CCR|=0<<8;  //外设数据宽度为8位
 DMA_CHx->CCR|=0<<10; //存储器数据宽度8位
 DMA_CHx->CCR|=1<<12; //中等优先级
 DMA_CHx->CCR|=0<<14; //非存储器到存储器模式     
}
//开启一次DMA传输
void MYDMA_Enable(DMA_Channel_TypeDef*DMA_CHx)
{
 DMA_CHx->CCR&=~(1<<0);       //关闭DMA传输
 DMA_CHx->CNDTR=DMA1_MEM_LEN; //DMA1,传输数据量
 DMA_CHx->CCR|=1<<0;          //开启DMA传输
}  

 不大清楚上面的程序问题出在哪了……


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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-2-19 13:11:28 | 显示全部楼层
回复【楼主位】lyballack:
---------------------------------
先建立小一点的文件,看看是否正常。
直接发送内容即可,不要选择发送HEX。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-22 06:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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