工具/软件:Code Composer Studio
你好
我编写了一个代码、该代码应该在 SD 卡上创建文件、但实际代码不起作用。 我是}remplace
我使用的是 SDHC 16GB
编译时没有错误。 是否有任何选项可以覆盖此内容,比如我可以控制 SD 卡的节点应用程序?
hier 是代码:
#define MAX_BUF_SIZE 32
#define FRESULT
#define FA_READ 0x01
#define FA_open_Existing 0x00
#define FA_ERROR 0x80
#define CLOCK FREQ 8000000
#define 所需的 SPI_FREQ 400000
#if!_FS_readonly
#define FA_WRITE 0x02
#define FA_CREASE_NEW 0x04
#define FA_CREASE_AST_ALOW_0x08
#define FA_open_always 0x10
#define FA__written 0x20
#define FA__MAD_0x40
#endif
#define MAX_FILE_LEN 12.
#define FRESULT
#ifdef __cplusplus
extern "C"{
#endif
字符文件名[12][MAX_FILE_LEN];
typedef unsigned char 字节;
typedef unsigned int UINT;
//extern int mode=7;
//extern int noSDCard=0;
//void sdcardLog (void);
//void sendDataSDCard (void);
SDCardLib sdCardLib;
uint8_t fileNum = 0;
#if defined (__IAR_systems_ICC__)
#pragma LOCATION = 0x9000
_no_init uint16_t dataArray[12289];
#endif
#define MAX_BUF_SIZE 32
char buffer[212];
char bufsize[32];
FRESULT 分辨率;/*结果代码*/
fil fil;/*文件对象*/
uint8_t test[7]="1234Go";
uint16_t br;
uint16_t toReadSize = bufsize;
const char filName[]="demo.txt";
// FatFs 静态变量
extern void SDCard_setCSLow (void);
extern SDCardLib_Status SDCard_detectCard (void);
extern void SDCard_init (void);
extern SDCardLib_Interface sdIntf_MSP430FR5994LP;
int main (空)
{
PM5CTL0 &=~LOCKLPM5;//禁用 GPIO 上电默认高阻抗模式
sdcard_init();
sdcard_setCSHigh();
// WDTCTL = WDTPW | WDTHOLD;//停止看门狗计时器
SDCardLib_Status SDCard_detectCard();
{
用于 SD 检测引脚的//上拉电阻器
//如果插入 SD 则拉低
GPIO_setAsInputPinWithPullUpResistor (GPIO_PORT_P7、GPIO_PIN2);
if (GPIO_getInputPinValue (GPIO_PORT_P7、GPIO_PIN2)=0){
P1DIR |= 0x01;//将 P1.0设置为输出方向
for (;;){
volatile unsigned int i;// volatile 以阻止优化
P1OUT ^= 0x01;//使用异或切换 P1.0
I = 1000;// SW 延迟
我----
while (i!= 0);
}
printf ("无 SD 卡...");
返回 SDCARDLIB_STATUS_NOT 存在;
}
否则{
返回 SDCARDLIB_STATUS_Present;
}
}
if (SDCARDLIB_STATUS_Present = true){
GPIO_setAsInputPinWithPullUpLowResistor (GPIO_PORT_P7、GPIO_PIN2);
//打开文件
RES = f_open (&fil、fileName、fa_write | fa_create_always);
如果(res!= FR_OK)
{
转到 write_exit;
}
UINT FilWritten;
//写入到文件
RES = f_write (&fil、test、sizeof (test)、&FilWritten);
如果(res!=FR_NO_FILE)
{
f_puts (&fil、"GO");
f_putc (&fil、"2390123");
}
转到 write_exit;
}
Write_exit:
//关闭文件
f_close (&fil);
返回 res;
}