⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 高速flash AT45db041B驱动程序。msp430f149+at45db041b,包括源件和项目文件。
💻 C
字号:
#include    <msp430x14x.h>
#include    "at45db_spi.h"

uchar ucMgBuf[264];
uchar ucCos[264];
uchar ucMcc[264];
uint tot_time_card;
uint tot_data_card;
void delay_ms(uint ms)  //延时
{
    uint i,j;
    for(i=0;i<ms;i++)
    {
      //WDTCTL = WDTPW + WDTHOLD;    // Stop watchdog timer
      for(j=0;j<4000;j++);
    }
    // WDTCTL = WDT_MRST_32;       // start watchdog timer 
}

/******************主函数*******************************************************************************/
void main( void )
{	
    uint i;      
    uint count;
    uint mm=0;
    /***********************初始化系统************************************************************************/
    WDTCTL = WDTPW + WDTHOLD;       // Stop watchdog timer    
    BCSCTL1 &=~ XT2OFF;             // XT2 = HF XTAL     
    do
    {
        IFG1 &=~ OFIFG;
        for (i = 0xFF; i>0; i-- );
    }   while(( IFG1 & OFIFG ) != 0);
    BCSCTL2 |= SELM_2 +SELS; 		// MCLK=8MHZ SMCLK=8MHZ
    
    delay_ms(100);        
    AT45_ini();
    count =0;
    tot_time_card=0x1234;
    tot_data_card=0x5555;
    for(i=0; i<40; i++)
    {ucMgBuf[i]=0xBB;}
    for(i=0; i<20; i++)
    {
    	Write_data_AT45(1,i*8, ucMgBuf, 8);    	
    }
    for(i=0; i<40; i++)
    {ucMgBuf[i]=0x33;}
    for(i=0; i<20; i++)
    {
    	Write_data_AT45(1,536+i*8, ucMgBuf, 8);    	
    }    
    Read_data_AT45(0,ucMgBuf,264);
    Read_data_AT45(264,ucCos,264);
    Read_data_AT45(528,ucMcc,264);    
    
    ucMgBuf[1]=tot_data_card; ucMgBuf[0]=tot_data_card>>8;
    Write_data_AT45(1,ADDR_TOT_DATA_CARD_AT45, ucMgBuf, 2);
    Read_data_AT45(0,ucMgBuf,264);
    Read_data_AT45(264,ucCos,264);
    Read_data_AT45(528,ucMcc,264);
    PageToBuffer1(500,2);
    ucMgBuf[1]=tot_time_card; ucMgBuf[0]=tot_time_card>>8;
    Write_data_AT45(2,ADDR_TOT_TIME_CARD_AT45, ucMgBuf, 2);
    Read_data_AT45(0,ucMgBuf,264);
    Read_data_AT45(264,ucCos,264);
    Read_data_AT45(528,ucMcc,264);
    PageToBuffer1(500,2);
    ucMgBuf[1]=tot_data_card; ucMgBuf[0]=tot_data_card>>8;
    Write_data_AT45(2,ADDR_TOT_DATA_CARD_AT45, ucMgBuf, 2);
    Read_data_AT45(0,ucMgBuf,264);
    Read_data_AT45(264,ucCos,264);
    Read_data_AT45(528,ucMcc,264);
    tot_time_card=0;
    tot_data_card=0;      
    while(1)
    {   
    	if(tot_time_card<128)
    	{    	
			for(i=0; i<8; i++)	ucMgBuf[i]=count;
			count++;
			Write_data_AT45(1,ADDR_TIME_CARD_HEAD+tot_time_card*8,ucMgBuf,8);//年月日及当前记录号存到AT45DB041B
			//Read_data_AT45(ADDR_TIME_CARD_HEAD,ucMgBuf,100);
			ucMgBuf[1]=tot_time_card; ucMgBuf[0]=tot_time_card>>8;
			Write_data_AT45(1,ADDR_TOT_TIME_CARD_AT45, ucMgBuf, 2);			
			//Read_data_AT45(0,ucCos,10);		//存时间卡总数
			Read_data_AT45(0,ucMgBuf,100);
			Read_data_AT45(100,ucCos,100);
			tot_time_card++; 
		}
		else{
			Read_data_AT45(ADDR_TIME_CARD_HEAD+mm*100,ucMgBuf,100);
			Read_data_AT45(mm*100,ucMgBuf,100);
			Read_data_AT45(ADDR_TOT_TIME_CARD_AT45,ucCos,10);
			mm++;
		}
	}
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -