欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
字庫MX25L1605D的驅動(dòng)程序

#include "MX25L1605D.h"
#include "config.h"
#include <intrins.H>

/*********************************************************************************
*函數原型:SPI_WriteByte(U8 byte)
*函數功能: SCK上升沿向芯片輸入數據有效
*函數參數:
*返回值:
*說(shuō)明:入口是,sck為高,出口時(shí)sck仍為高
*********************************************************************************/
void SPI_WriteByte(U8 byte)
{
    U8 data count;
    for(count=0;count<8;count++)
    {
        SCK=0;
        _nop_();
        if (byte&0x80)
  {   
   SI=1;
  }
        else
  {           
   SI=0;
  }
        byte=byte<<1;   
        SCK=1;
        _nop_();
    }
}

/*********************************************************************************
*函數原型:U8 SPI_ReadByte()
*函數功能:SCK下降沿從芯片讀出數據有效
*函數參數:
*返回值:
*說(shuō)明:入口是,sck為高,出口時(shí)sck仍為高
*********************************************************************************/


U8 SPI_ReadByte()
{
    U8 data count,byte;
    byte=0;
    for(count=0;count<8;count++)
    {    
       
        SCK=0;
        byte<<=1;
        if(SO)
  {
   byte++;
        }
        _nop_();
        SCK=1;
        _nop_();
       
    }
    return(byte);
}

/*********************************************************************************
*函數原型:void Flash_WaitBusy(void)
*函數功能:
*函數參數:
*返回值:
*說(shuō)明:
*********************************************************************************/
void Flash_WaitBusy(void)
{
 U8 state_reg = 0x00;
 CLS_CS; 
 SPI_WriteByte(WREN);
 SET_CS;
 CLS_CS;
 SPI_WriteByte(RDSR);
 do
 {
  state_reg = SPI_ReadByte();
 }
 while(state_reg&0x01);
 SET_CS;
}

/*********************************************************************************
*函數原型:U8 Flash_Read_ID(void)
*函數功能:
*函數參數:
*返回值:
*說(shuō)明:
*********************************************************************************/
U8 Flash_Read_ID(void)   //ID讀取

 U8 Manu_ID;
 CLS_CS;
 SPI_WriteByte(RDID);  //ID = C2
 Manu_ID = SPI_ReadByte(); 
 SET_CS;
 Flash_WaitBusy();
 return Manu_ID; 
}

/*********************************************************************************
*函數原型:void Earse_Flash(void)
*函數功能:整片擦除
*函數參數:
*返回值:
*說(shuō)明:整片擦除時(shí)間為10秒左右
*********************************************************************************/
void Earse_Flash(void)
{
 U8 state = 0;
 CLS_CS; 
 SPI_WriteByte(WREN);
 SET_CS;
 CLS_CS; 
 SPI_WriteByte(CE);   //60 or C7  to erase whole chip
 SET_CS; 
    CLS_CS; 
 SPI_WriteByte(RDSR); //to read out the values of the status register
 do
 {
  state = SPI_ReadByte();
 }
 while(state&0x01);
 SET_CS;
}

///*********************************************************************************
//*函數原型:void Earse_Sector(U16 i)
//*函數功能:扇區擦除
//*函數參數:扇區首地址
//*返回值:
//*說(shuō)明:  4K-byte,16頁(yè)
//*********************************************************************************/
//void Earse_Sector(U16 i)
//{
// U8 state = 0;
// CLS_CS;
// SPI_WriteByte(WREN);
// SET_CS;
//
// CLS_CS; 
// SPI_WriteByte(SE);    //to erase the selected sector
// SPI_WriteByte(i>>4);
// SPI_WriteByte(i<<4);
// SPI_WriteByte(0x00);
// SET_CS;
// 
//    CLS_CS; 
// SPI_WriteByte(RDSR); //to read out the values of the status register
// do
// {
//  state = SPI_ReadByte();
// }
// while(state&0x01);
// SET_CS; 
//}

/*********************************************************************************
*函數原型:Flash_PageWrite(u16 page,u8 *Data_Buf)
*函數功能:
*函數參數:
*返回值:
*說(shuō)明:  寫(xiě)一整頁(yè),頁(yè)范圍0-8192*********************************************************************************/
void Flash_PageWrite(U16 page,U8 *Pdata)  
{
 U32 j=((U32)page<<8);
 U16 i;
 CLS_CS; 
 SPI_WriteByte(WREN);
 SET_CS;

 CLS_CS;
 SPI_WriteByte(PP);    //to program the selected page
 SPI_WriteByte((U8)((j& 0x00FF0000)>>16));
// SPI_WriteByte(0x00); 
 SPI_WriteByte((U8)((j& 0x0000FF00)>>8));
 SPI_WriteByte((U8)((j& 0x000000FF)));
// SPI_WriteByte(0x00);
 for(i = 0; i< 256; i++)
 {
  SPI_WriteByte(Pdata[i]);
//  _nop_();
 }
 SET_CS;
 Flash_WaitBusy(); 
}

/*********************************************************************************
*函數原型:void Flash_PageRead(U16 page,U8 *Data_Buf)
*函數功能:
*函數參數:
*返回值:
*說(shuō)明:
*********************************************************************************/
void Flash_PageRead(U16 page,U8 *Pdata)   //頁(yè)讀取
{
 U32 adr = ((U32)page<<8);
 U16  i  = 0;
 CLS_CS; 
 SPI_WriteByte(WREN);
 SET_CS;
 
 CLS_CS;
 SPI_WriteByte(FAST_READ);  //n bytes read out until CS# goes high
 SPI_WriteByte((U8)((adr& 0x00FF0000)>>16));
 SPI_WriteByte((U8)((adr& 0x0000FF00)>>8));
 SPI_WriteByte((U8)(adr& 0x000000FF));
 SPI_WriteByte((U8)0x00);  
 for(i = 0 ; i< 256; i++)
 {
  Pdata[i] = SPI_ReadByte(); 
 }
 SET_CS;
 Flash_WaitBusy(); 
}


/*********************************************************************************
*函數原型:void SPI_Read(U16 page,U16 addr,U16 len,U8 *Data_Buf)
*函數功能:從指定頁(yè)指定地址讀出指定長(cháng)度數據
*函數參數:
*返回值:
*說(shuō)明:
*********************************************************************************/
void Flash_Read(U16 page,U16 addr,U16 len,U8 *Data_Buf)
{
 U32 adr = ((U32)page<<8)+addr;
 U16  i  = 0;
 CLS_CS; 
 SPI_WriteByte(WREN);  //sets the (WEL)write enable latch bit
 SET_CS;
 
 CLS_CS;
 SPI_WriteByte(FAST_READ);  //n bytes read out until CS# goes high
 SPI_WriteByte((U8)((adr& 0x00FF0000)>>16)); //AD1 send out the address, high byte, middle byte, then low byte
 SPI_WriteByte((U8)((adr& 0x0000FF00)>>8));
 SPI_WriteByte((U8)(adr& 0x000000FF));   
 SPI_WriteByte((U8)0x00); //Dummy 
 for(i = 0 ; i<len; i++)
 {
  Data_Buf[i] = SPI_ReadByte(); 
 }
 SET_CS;
 Flash_WaitBusy(); 
}


 

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
【青風(fēng)帶你學(xué)stm32f051系列教程】第13課 通過(guò)SPI讀寫(xiě)SD卡 | 愛(ài)板網(wǎng)
nRF24L01高速嵌入式無(wú)線(xiàn)數傳模塊SPI
long、int轉為byte[]
調試51+nrf905無(wú)線(xiàn)模塊,可以保證穩定的收發(fā),正在完善中。。 (www.ouravr...
st7735s SPI驅動(dòng)顯示圖標
6800(LCD1602)/I2C/SPI/PCF8591/DAAD/底層程序
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久