欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
SD卡+FATFS Unicode表存儲(chǔ)SD卡中讀取,轉(zhuǎn)為GBK顯示FATFS文件名stm32源碼
[打印本頁(yè)]
作者:
415777314
時(shí)間:
2017-9-29 17:37
標(biāo)題:
SD卡+FATFS Unicode表存儲(chǔ)SD卡中讀取,轉(zhuǎn)為GBK顯示FATFS文件名stm32源碼
Unicode表存儲(chǔ)SD卡中讀取,轉(zhuǎn)為GBK顯示FATFS文件名
本實(shí)驗(yàn)將實(shí)現(xiàn)如下功能:開(kāi)機(jī)的時(shí)候先初始化SD卡,如果SD卡初始化完成,則讀取扇區(qū)0的數(shù)據(jù),然后通過(guò)串口打印到電腦上。如果沒(méi)初始化通過(guò),則在LCD上提示初始化失敗。 同樣用DS0來(lái)指示程序正在運(yùn)行。
注意:
1,本實(shí)驗(yàn)可以SWD下載仿真.
2,如果遇到不能識(shí)別的卡,有可能是不兼容造成的,請(qǐng)換卡.
STM32單片機(jī)源程序如下:
#include <stm32f10x_lib.h>
#include "sys.h"
#include "usart.h"
#include "delay.h"
#include "led.h"
#include "key.h"
#include "exti.h"
#include "timer.h"
#include "lcd.h"
#include "touch.h"
#include "mmc_sd.h"
#include "24cxx.h"
#include "text.h"
#include "SDfont.h"
#include "exfuns.h"
#include "malloc.h"
#include "string.h"
#include "spi.h"
#include "ff.h"
u8 buf[512];//SD卡數(shù)據(jù)緩存區(qū)
const TCHAR flie1[]={"0:news/news.txt"};
const TCHAR flie2[]={"0:news/apple.txt"};
const TCHAR flie3[]={"0:news/love.txt"};
void myflie(const TCHAR *p2)
{
FRESULT res=FR_OK;
u8 a;
LCD_Clear(WHITE);
file=(FIL*)mymalloc(SRAMIN,sizeof(file));
res = f_open(file,p2,FA_OPEN_EXISTING|FA_READ);
if(!res)
{
br=1;
for (;;)
{
for(a=0; a<64; a++) buf[a]=0;
res = f_read(file, buf, sizeof(buf),&br);
if (res || br < sizeof(buf)) break; // error or eof
}
}
Show_Str(50,250,300,16,buf,16,0);
}
u8 sim900a_hex2chr(u8 hex)
{
if(hex<=9)return hex+'0';
if(hex>=10&&hex<=15)return (hex-10+'A');
return '0';
}
int main(void)
{
u8 shuzu[20];
u8 *dst=shuzu;
u16 temp;
const u8 *src="我";
u8 test[2];
u32 total,free;
FRESULT res=FR_OK;
u32 sd_size;
Stm32_Clock_Init(9);//系統(tǒng)時(shí)鐘設(shè)置
delay_init(72); //延時(shí)初始化
uart_init(72,9600); //串口1初始化
LCD_Init(); //初始化液晶
LED_Init(); //LED初始化
KEY_Init();
exfuns_init(); //exfuns 初始化
mem_init(SRAMIN); //初始化內(nèi)部?jī)?nèi)存池
POINT_COLOR=RED;//設(shè)置字體為紅色
LCD_ShowString(50,50,"Mini STM32");
LCD_ShowString(50,70,"SD Card TEST");
LCD_ShowString(50,90,"ATOM@ALIENTEK");
LCD_ShowString(50,110,"Only use sd card");
LCD_ShowString(50,230,"2014/7/31");
while(SD_Initialize()!=0)//檢測(cè)不到SD卡
{
LCD_ShowString(50,130,"SD Card Failed!");
delay_ms(500);
LCD_ShowString(50,130,"Please Check! ");
delay_ms(500);
LED0=!LED0;//DS0閃爍
}
//檢測(cè)SD卡成功
LCD_ShowString(50,130,"SD Card Checked OK ");
LCD_ShowString(50,150,"SD Card Size: Mb");
sd_size=SD_GetSectorCount();//得到扇區(qū)數(shù)
LCD_ShowNum(154,150,sd_size>>11,5,16);//顯示SD卡容量
SDFont_Init();
exfuns_init();
f_mount(0,fs[0]); //掛載SD卡
while(exf_getfree("0",&total,&free))
{
LCD_ShowString(50,170,"fatfs error!") ;
delay_ms(200);
LED0=!LED0;
}
LCD_ShowString(50,170,"fatfs ok!") ;
LCD_ShowString(50,190,"SD Card Size: Mb");
LCD_ShowNum(154,190,total>>10,5,16);
LCD_ShowString(50,210,"SD free Size: Mb");
LCD_ShowNum(154,210,free>>10,5,16);
Show_Str_Mid(0,30,"!漢字測(cè)試成功!",16,240);
LCD_Clear(WHITE);//清屏
/****************讀取SD卡文件**************/
// file=(FIL*)mymalloc(SRAMIN,sizeof(file));
// res = f_open(file,"0:news/news.txt",FA_OPEN_EXISTING|FA_READ);
// if(!res)
// {
// br=1;
// for (;;)
// {
// res = f_read(file, buf, sizeof(buf),&br);
// if (res || br < sizeof(buf)) break; // error or eof
// }
// }
// Show_Str(0,0,300,16,buf,16,0);
// f_close(file);
// myfree(SRAMIN,file);
// Show_Str(50,270,400,16,"好煩躁啊!!!!",16,0);
test[1]=*src++;
test[0]=*src++;
temp=(u16)ff_convert((WCHAR)*(u16*)test,1);
LCD_ShowNum(50,300,(u32)temp,6,16);
// dst[0]=sim900a_hex2chr((temp>>12)&0X0F);
// dst[1]=sim900a_hex2chr((temp>>8)&0X0F);
// dst[2]=sim900a_hex2chr((temp>>4)&0X0F);
// dst[3]=sim900a_hex2chr(temp&0X0F);
// dst[4]=0;
//// LCD_ShowString(60,110,dst);
while(1)
{
// t=KEY_Scan();
// if(t)
// {
// switch(t)
// {
// case 1:
// myflie(flie1);
// break;
// case 2:
// myflie(flie2);
// break;
// case 3:
// myflie(flie3);
// break;
// }
// }else delay_ms(10);
delay_ms(200);
LED0=!LED0;
}
}
復(fù)制代碼
所有資料51hei提供下載:
SD卡 FATFS.rar
(2.23 MB, 下載次數(shù): 37)
2017-9-29 17:36 上傳
點(diǎn)擊文件名下載附件
SD卡+FATFS
下載積分: 黑幣 -5
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1