共6条
1/1 1 跳转至页
sd卡
只看楼主 1楼
导入sd卡的库这是必须的!不然编译会出错的哟!
/*GR-SAKURA Sketch Template Version: V1.01*/
#include <rxduino.h>
#include "sdmmc.h"
SDMMC mySD;
void setup()
{
pinMode(PIN_LED0,OUTPUT); //set LED0 pin output
Serial.begin(9600);//set baudrate 9600bps
mySD.begin();
Serial.println ("Please send me a command.");
}
void loop()
{
digitalWrite (PIN_LED0, 1);//set led0 on
File myFile = mySD.open ("my.txt", FILE_WRITE);
if (myFile == false)
{
Serial.println ("Fail to access MMC");
digitalWrite (PIN_LED0, 0);
while (1)
{
}
}
// Write
Serial.println ("Success to access MMC");
myFile.println ("Hello, my MMC");
myFile.close ();
//Read
myFile = mySD.open ("my.txt", FILE_READ);
while (myFile.available ())
{
Serial.print ((char) myFile.read ());
delay (50);
}
// Size
Serial.print (myFile.size ());
Serial.println ();
myFile.close ();
digitalWrite (PIN_LED0, 0);
Serial.println ("Remove the file!/ n");
while (! Serial.available ()); //wait command from upper computer
char c = Serial.read ();
// Remove
if (c == 'y')
{
mySD.remove ("my.txt");
Serial.println ("my.txt has been removed");
}
delay (400);
}
小弟结合 campozeng的帖子和官网的例程吧上面的程序编译了下,测试下我的sd卡,原来在樱花板里读写sd卡是如此简便,但是底层驱动还是不清楚。
测试完成
函数介绍
使用sdmmc库,要导入库后在文件头加入# include <Sdmmc.H>,这个大家懂的 同时要建立一个类SDMMC mySD;可参考实验程序 begin 初始化SPI库 参数:
cspin:用于片选的IO,如果无可忽略 语法: SDMMC.begin
SDMMC.begin(int cspin) insert SD卡是否插入,状态检测由pin 33侦测 语法: SDMMC.insert(bool ins) 参数: ins:1为卡已经插入,0为未插入 exists 检测文件是否存在 语法: bool SDMMC.exists (const char * filename) 参数: 要检测的文件名 返回: 文件存在返回true,否则返回false mkdir 新建目录 语法: bool SDMMC.mkdir (const char * pathname) 参数: 目录名 返回: true or false open 打开指定文件 语法: File SDMMC.Open (const char * filename, file_mode mode) 参数: filename: 要打开的文件 文件打开模式:FILE_READ:只读, FILE_WRITE: 写) 返回: true or false remove 清除指定文件 语法: bool SDMMC.remove (const char * filename) 参数: 指定的文件名 返回: true or false rename 重命名文件 语法: bool SDMMC.rename (const char * oldname, const char * newname) 参数: 旧文件名: oldname 新文件名: newname 返回: true or false rmdir 删除目录 语法 bool SDMMC.rmdir (const char * pathname) 参数: 要删除的目录: pathname 返回: true or false close 关闭文件,操作文件结束后记得用此命令关闭文件 语法: File.close available 指定文件是否有可读内容 语法: bool File.available () 返回: true or false read 从指定文件读一个字节 语法: int File.read() 返回读取到的内容,如果文件结束,返回-1 write 写内容到指定字符串或文件 语法: File.write(Data)File.write (* buf, len) 参数: 数据buffer: buf 长度: len flush 语法: File.flush () position 文件定位 语法: unsigned long File.position() 返回: 返回指针在文件当前的位置,以byte计算 seek 移动指针到文件中指定的位置 语法: bool File.Seek (unsigned long pos) 参数: pos:要读文件的位置(in bytes) 返回: true or false print 写内容到文件 语法: File.Print(Data)File.Print(Data, BASE) 参数: 要写的内容: Data BASE:格式(BYTE, BIN, DEC, HEX, OCT) println 写内容到文件,以换行符结束 语法: File.println(Data)File.println(Data, BASE) 参数: 要写的内容: Data BASE:格式(BYTE, BIN, DEC, HEX, OCT) size 检测文件大小 语法: unsigned long File.size() 返回文件大小(bytes) name 查找已经打开的文件 语法: char * File.name() Parameters No 返回文件名 isDirectory 打开的是否目录 语法: bool File.isDirectory () 返回: true or false openNextFile 打开下一文件 语法: File File.OpenNextFile() rewindDirectory 指向找到的第一个目录 语法: void File.RewindDirectory()
关键词: false 文件 参数 语法 返回
共6条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
vscode+cmake搭建雅特力AT32L021开发环境被打赏30分 | |
【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板被打赏47分 | |
【分享评测,赢取加热台】RISC-V GCC 内嵌汇编使用被打赏38分 | |
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 |