OpenEdv-开源电子网

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

SD不加文件系统怎样读写数据?

[复制链接]

37

主题

89

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
382
金钱
382
注册时间
2011-7-25
在线时间
31 小时
发表于 2012-4-12 19:08:56 | 显示全部楼层 |阅读模式
u8 buf2[10]={1,2,3,4,5,6,7,8,9,10};
u8 buf1[20];

MSD_WriteBuffer(buf2,100,10);
MSD_ReadBuffer(buf1,100,10);

请问为什么buf1 没有读出buf2 中的数据?上述两个函数的返回值都是0应该没有出错啊!

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-4-12 20:24:57 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

37

主题

89

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
382
金钱
382
注册时间
2011-7-25
在线时间
31 小时
 楼主| 发表于 2012-4-12 21:08:28 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
原子哥,是不是我代码有问题啊? 
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-4-12 21:46:03 | 显示全部楼层
肯定是的.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

37

主题

89

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
382
金钱
382
注册时间
2011-7-25
在线时间
31 小时
 楼主| 发表于 2012-4-12 21:59:51 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
应该怎么改呢?能不能指点下
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-4-12 22:48:11 | 显示全部楼层
不知道你代码怎么写的,参考我们SD卡读卡器实验的代码吧.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

37

主题

89

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
382
金钱
382
注册时间
2011-7-25
在线时间
31 小时
 楼主| 发表于 2012-4-13 10:06:37 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
#include <stm32f10x_lib.h>
#include "sys.h"
#include "usart.h"  
#include "delay.h"  
#include "led.h" 
#include "key.h"
#include "exti.h"
#include "wdg.h"
#include "timer.h"
#include "lcd.h"       
#include "rtc.h"
#include "wkup.h"
#include "adc.h"
#include "dma.h"
#include "24cxx.h"
#include "flash.h"
#include "touch.h"
#include "24l01.h"
#include "mmc_sd.h"
//Mini STM32开发板范例代码20
//SD卡 实验
//正点原子@ALIENTEK
//技术论坛:www.openedv.com
u8 buf2[10]={0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a};    
u8 buf1[20];                                                                  
u8 buf[512];//SD卡数据缓存区
int main(void)
{   
    u32 sd_size;
    u8 t=0;              
    Stm32_Clock_Init(9);//系统时钟设置
    delay_init(72);     //延时初始化
    uart_init(72,9600); //串口1初始化     
    LCD_Init();         //初始化液晶 
    LED_Init();         //LED初始化                          
            
    OINT_COLOR=RED;//设置字体为红色       
    LCD_ShowString(60,50,"Mini STM32");
    LCD_ShowString(60,70,"SD Card TEST");
    LCD_ShowString(60,90,"ATOM@ALIENTEK");
    LCD_ShowString(60,110,"2011/1/1");    
    while(SD_Init()!=0)//检测不到SD卡
    {
        LCD_ShowString(60,130,"SD Card Failed!");
        delay_ms(500);
        LCD_ShowString(60,130,"lease Check!      ");
        delay_ms(500);
        LED0=!LED0;//DS0闪烁
    }
    //检测SD卡成功                   
    LCD_ShowString(60,130,"SD Card Checked OK ");
    LCD_ShowString(60,150,"SD Card Size:    Mb");
    sd_size=SD_GetCapacity();
    LCD_ShowNum(164,150,sd_size>>20,4,16);//显示SD卡容量
    while(1)
    {
        if(t==30)//每6s钟执行一次
     {
            if(SD_ReadSingleBlock(0,buf)==0)//读取MBR扇区
         {
                LCD_ShowString(60,170,"USART1 Sending Data...");
                printf("SECTOR 0 DATA:\n");
                //for(sd_size=0;sd_size<512;sd_size++)printf("%x ",buf[sd_size]);//打印MBR扇区数据  
          MSD_WriteBuffer(buf2,1000,10);
                MSD_ReadBuffer(buf1,1000,10);
                for(t=0;t<10;t++)
                {   USART1->DR=buf2[t];
                    while((USART1->SR&0X40)==0);
         }
                for(t=0;t<10;t++)
                {   USART1->DR=buf1[t];
                    while((USART1->SR&0X40)==0);
                }       
                printf("\nDATA ENDED\n");
                LCD_ShowString(60,170,"USART1 Send Data Over!");
     }
         t=0;
        }   
        t++;
        delay_ms(200);
        LED0=!LED0;
    }
}
回复 支持 反对

使用道具 举报

37

主题

89

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
382
金钱
382
注册时间
2011-7-25
在线时间
31 小时
 楼主| 发表于 2012-4-13 10:07:55 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
只是改了您的SD卡程序一点点,您看看哪出错了。。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-4-13 10:46:03 | 显示全部楼层
搜索最新代码.下载最新版本的代码试试.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

37

主题

89

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
382
金钱
382
注册时间
2011-7-25
在线时间
31 小时
 楼主| 发表于 2012-4-13 11:09:21 | 显示全部楼层
回复【9楼】正点原子:
---------------------------------
在哪有新代码,能给个链接吗??
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-4-13 13:41:13 | 显示全部楼层
论坛有搜索功能啊.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-25 13:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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