📄 main.c
字号:
#include <msp430x16x.h>
#include <stdio.h>
#include "mmc.h"
unsigned long cardSize = 0;
unsigned char status = 1;
unsigned int timeout = 0;
int i = 0;
unsigned char buffer[512];
void Init_CLK(void);
int main( void )
{
//停止看门狗
WDTCTL = WDTPW + WDTHOLD;
//初始化时钟
Init_CLK();
//初始化MMC卡
while (status != 0)
{
status = initMMC();
timeout++;
if (timeout == 50)
{
break;
}
}
//判断卡是否插入
while ((mmc_check() != MMC_SUCCESS));
for (i = 0; i <= 512; i++) buffer[i] = i;
//写入一块数据
mmcWriteBlock(1,512,buffer);
for (i = 0; i <= 512; i++) buffer[i] = i + 64;
//写入一块数据
mmcWriteBlock(512,512,buffer);
//读出一块数据
mmcReadBlock(1,512,buffer);
//读出一块数据
mmcReadBlock(512,512,buffer);
}
void Init_CLK(void)
{
unsigned int i;
//将寄存器的内容清零
//XT2震荡器开启
//LFTX1工作在低频模式
//ACLK的分频因子为1
BCSCTL1 = 0X00;
do
{
// 清除OSCFault标志
IFG1 &= ~OFIFG;
for (i = 0x20; i > 0; i--);
}
while ((IFG1 & OFIFG) == OFIFG); // 如果OSCFault =1
//open XT2, LFTX2 选择低频率
BCSCTL1 &= ~(XT2OFF + XTS);
//DCO Rsel=7(Freq=3200k/25摄氏度)
BCSCTL1 |= RSEL0 + RSEL1 + RSEL2;
BCSCTL1 |= 0x07;
//MCLK的时钟源为TX2CLK,分频因子为1
BCSCTL2 += SELM1;
//SMCLK的时钟源为TX2CLK,分频因子为1
BCSCTL2 += SELS;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -