OpenEdv-开源电子网

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

通过fatfs文件系统的f_write()函数 可以将串口接收的数据存到sd卡里面吗 哪位老师有源码可以参考 毕业论文 万分感激

[复制链接]

13

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
119
金钱
119
注册时间
2014-10-19
在线时间
2 小时
发表于 2015-5-12 19:29:55 | 显示全部楼层 |阅读模式
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2015-4-10
在线时间
12 小时
发表于 2015-5-12 19:37:34 | 显示全部楼层
用个数组接收串口的数据,然后就直接可以写进去了。。
回复

使用道具 举报

13

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
119
金钱
119
注册时间
2014-10-19
在线时间
2 小时
 楼主| 发表于 2015-5-12 19:41:02 | 显示全部楼层
回复【2楼】Oneperson_1:
---------------------------------
/* void USART1_IRQHandler(void)  //????1????·??????ò
{  
    int i;
   for(i=0;i<512;i++)
   {
        if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)  //????????(????????????????????????
    {   
  TIM_ITConfig(TIM3,TIM_IT_Update ,DISABLE); 
        res =USART_ReceiveData(USART1);//(USART1->DR); //????????????????
   delay_ms(1000);
textFileBuffer=res;
然后通过 f_mount(&fs,"0:",1);  //????SD?¨ 
        res=f_open(&fsrc,"0:shuju.TXT",FA_CREATE_NEW|FA_WRITE);
       if(res==FR_OK)
      {
      res=f_write(&fsrc, textFileBuffer,sizeof( textFileBuffer),&bw);
    printf("/r/n???????¨????/n");
            f_close(&fsrc);       
    }  但写不进去啊
回复

使用道具 举报

13

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
119
金钱
119
注册时间
2014-10-19
在线时间
2 小时
 楼主| 发表于 2015-5-12 19:43:25 | 显示全部楼层
这是main函数 #include "delay.h"
#include "sys.h"
#include "usart.h" 
#include "MMC_SD.h" 
#include "ff.h" 
#include "timer.h"
#include "led.h"

FRESULT res;//??????????·?????
int a,flag;
int t;
FIL fsrc;
FATFS fs;
UINT br,bw;
BYTE buffer[512];
BYTE textFileBuffer[512];
 int main(void)
 {  
    uart_init(9600);
   NVIC_Configuration();  
  delay_init();       //???±??????????   
    LED_Init();
  TIM3_Int_Init(1999,7199);//10Khz??????????????????2000??200ms
      f_mount(&fs,"0:",1);  //????SD?¨ 
        res=f_open(&fsrc,"0:shuju.TXT",FA_CREATE_NEW|FA_WRITE);
       if(res==FR_OK)
      {
      res=f_write(&fsrc, textFileBuffer,sizeof( textFileBuffer),&bw);
    printf("/r/n???????¨????/n");
            f_close(&fsrc);       
    }

    else if(res==FR_EXIST)
     {
         printf("\r\n????????????\n");
      }
res = f_open(&fsrc, "0:shuju.TXT", FA_OPEN_EXISTING | FA_READ);
br=1;
a=0;
for(;;)
{
  for(a=0;a<512;a++)
    buffer[a]=0;
    res = f_read(&fsrc, buffer, sizeof(buffer), &br);
     printf("\r\n %s",buffer);
             if(res||br==0) break;
}
f_close(&fsrc);

}
这是串口的
/* void USART1_IRQHandler(void)  //????1????·??????ò
{  
    int i;
   for(i=0;i<512;i++)
   {
        if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)  //????????(????????????????????????
    {   
  TIM_ITConfig(TIM3,TIM_IT_Update ,DISABLE); 
        res =USART_ReceiveData(USART1);//(USART1->DR); //????????????????
   delay_ms(1000);
textFileBuffer=res;
  //USART_SendData(USART1,usart_buffer);
  TIM_ITConfig(TIM3,TIM_IT_Update ,ENABLE); 
}
  
  }
}*/
回复

使用道具 举报

7

主题

333

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1838
金钱
1838
注册时间
2012-7-16
在线时间
504 小时
发表于 2015-5-12 20:39:18 | 显示全部楼层
C指针熟练使用就很简单,自己多研究研究,这样才能提高。
回复

使用道具 举报

13

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
119
金钱
119
注册时间
2014-10-19
在线时间
2 小时
 楼主| 发表于 2015-5-12 22:10:19 | 显示全部楼层
回复【5楼】hyghyg1234:
---------------------------------
能给个提示吗
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-22 13:53

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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