娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年04月25日(星期五)

2019年04月25日 | STM8S105K4 SPI相關(guān)代碼

發(fā)布者:好的哎 來源: eefocus關(guān)鍵字:STM8S105K4  SPI相  代碼 手機看文章 掃描二維碼
隨時隨地手機看文章

/* 初始化函數(shù) */

void SPI_FLASH_Init(void)

{

   SPI_Init(SPI_FIRSTBIT_MSB, SPI_BAUDRATEPRESCALER_2, SPI_MODE_MASTER,

            SPI_CLOCKPOLARITY_HIGH, SPI_CLOCKPHASE_2EDGE,

            SPI_DATADIRECTION_2LINES_FULLDUPLEX, SPI_NSS_SOFT, 0x07);

   SPI_Cmd(ENABLE);

   GPIO_Init(SPI_CS , SPI_Pin_CS, GPIO_MODE_OUT_PP_HIGH_FAST);

   GPIO_WriteHigh(SPI_CS, SPI_Pin_CS)

}


/*


寫使能


*/


void SPI_FLASH_WriteEnable(void)

{

  /* Select the FLASH: Chip Select low */

  SPI_FLASH_CS_LOW();



  /* Send "Write Enable" instruction */

  SPI_FLASH_SendByte(WREN);



  /* Deselect the FLASH: Chip Select high */

  SPI_FLASH_CS_HIGH();

}


/**


發(fā)送一個字節(jié)的數(shù)據(jù)


*/


u8 SPI_FLASH_SendByte(u8 byte)

{

 while (SPI_GetFlagStatus( SPI_FLAG_TXE) == RESET);

 SPI_SendData(byte);

  while (SPI_GetFlagStatus(SPI_FLAG_RXNE) == RESET);

  return SPI_ReceiveData();  

 }


/*


等待寫數(shù)據(jù)結(jié)束


*/


void SPI_FLASH_WaitForWriteEnd(void)


{

  u8 FLASH_Status = 0;

  SPI_FLASH_CS_LOW();

  SPI_FLASH_SendByte(RDSR);

  do

  {

    /* Send a dummy byte to generate the clock needed by the FLASH

    FLASH_Status = SPI_FLASH_SendByte(Dummy_Byte);

 }

  while ((FLASH_Status & WIP_Flag) == SET); /* Write in progress */

  SPI_FLASH_CS_HIGH();

}


/*


寫一頁數(shù)據(jù)


*/


void SPI_FLASH_PageWrite(u8* pBuffer, u32 WriteAddr, u16 NumByteToWrite)


{

  SPI_FLASH_WriteEnable();

  SPI_FLASH_CS_LOW();

 SPI_FLASH_SendByte(WRITE);

  /****************************************************************/

  /* Send WriteAddr high nibble address byte to write to */

  SPI_FLASH_SendByte((WriteAddr & 0xFF0000) >> 16);

  /* Send WriteAddr medium nibble address byte to write to */

  SPI_FLASH_SendByte((WriteAddr & 0xFF00) >> 8);

  /* Send WriteAddr low nibble address byte to write to */

  SPI_FLASH_SendByte(WriteAddr & 0xFF);

 /*****************************************************************/



  /* while there is data to be written on the FLASH */

  while (NumByteToWrite--)

  {

    /* Send the current byte */

    SPI_FLASH_SendByte(*pBuffer);

    /* Point on the next byte to be written */

    pBuffer++;

  }

  SPI_FLASH_CS_HIGH();

  SPI_FLASH_WaitForWriteEnd();

}


/*


寫B(tài)UFFER數(shù)據(jù)


*/


void SPI_FLASH_BufferWrite(u8* pBuffer, u32 WriteAddr, u16 NumByteToWrite)

{

  u8 NumOfPage = 0, NumOfSingle = 0, Addr = 0, count = 0, temp = 0;



  Addr = WriteAddr % SPI_FLASH_PageSize;// 判斷是否是頁對齊

  count = SPI_FLASH_PageSize - Addr;   //一頁里的第幾個

  NumOfPage =  NumByteToWrite / SPI_FLASH_PageSize;

  NumOfSingle = NumByteToWrite % SPI_FLASH_PageSize;



  if (Addr == 0) /* WriteAddr is SPI_FLASH_PageSize aligned  */

  {

    if (NumOfPage == 0) /* NumByteToWrite < SPI_FLASH_PageSize */

    {

      SPI_FLASH_PageWrite(pBuffer, WriteAddr, NumByteToWrite);

    }

    else /* NumByteToWrite > SPI_FLASH_PageSize */

    {

      while (NumOfPage--)

      {

        SPI_FLASH_PageWrite(pBuffer, WriteAddr, SPI_FLASH_PageSize);

        WriteAddr +=  SPI_FLASH_PageSize;

        pBuffer += SPI_FLASH_PageSize;

      }



      SPI_FLASH_PageWrite(pBuffer, WriteAddr, NumOfSingle);

    }

  }

  else /* WriteAddr is not SPI_FLASH_PageSize aligned  */

  {

    if (NumOfPage == 0) /* NumByteToWrite < SPI_FLASH_PageSize */

    {

      if (NumOfSingle > count)

      { /* (NumByteToWrite + WriteAddr) > SPI_FLASH_PageSize */

        temp = NumOfSingle - count;



        SPI_FLASH_PageWrite(pBuffer, WriteAddr, count);

        WriteAddr +=  count;

        pBuffer += count;



        SPI_FLASH_PageWrite(pBuffer, WriteAddr, temp);

      }

      else

      {

        SPI_FLASH_PageWrite(pBuffer, WriteAddr, NumByteToWrite);

      }

    }

    else /* NumByteToWrite > SPI_FLASH_PageSize */

    {

      NumByteToWrite -= count;

      NumOfPage =  NumByteToWrite / SPI_FLASH_PageSize;

      NumOfSingle = NumByteToWrite % SPI_FLASH_PageSize;



      SPI_FLASH_PageWrite(pBuffer, WriteAddr, count);

      WriteAddr +=  count;

      pBuffer += count;



      while (NumOfPage--)

      {

        SPI_FLASH_PageWrite(pBuffer, WriteAddr, SPI_FLASH_PageSize);

        WriteAddr +=  SPI_FLASH_PageSize;

        pBuffer += SPI_FLASH_PageSize;

      }



      if (NumOfSingle != 0)

      {

        SPI_FLASH_PageWrite(pBuffer, WriteAddr, NumOfSingle);

      }

    }

  }

}


/*


讀一個buffer數(shù)據(jù)


*/


void SPI_FLASH_BufferRead(u8* pBuffer, u32 ReadAddr, u16 NumByteToRead)

{

  /* Select the FLASH: Chip Select low */

  SPI_FLASH_CS_LOW();

  SPI_FLASH_SendByte(READ);

  /* Send ReadAddr high nibble address byte to read from */

  SPI_FLASH_SendByte((ReadAddr & 0xFF0000) >> 16);

  /* Send ReadAddr medium nibble address byte to read from */

  SPI_FLASH_SendByte((ReadAddr& 0xFF00) >> 8);

  /* Send ReadAddr low nibble address byte to read from */

  SPI_FLASH_SendByte(ReadAddr & 0xFF);



  while (NumByteToRead--) /* while there is data to be read */

  {

    /* Read a byte from the FLASH */

    *pBuffer = SPI_FLASH_SendByte(Dummy_Byte);

    /* Point to the next location where the byte read will be saved */

    pBuffer++;

  }


  SPI_FLASH_CS_HIGH();

}


關(guān)鍵字:STM8S105K4  SPI相  代碼 引用地址:STM8S105K4 SPI相關(guān)代碼

上一篇:keil編譯后load一直是灰色的解決辦法
下一篇:最后一頁

推薦閱讀

中興通訊近日在美遭遇禁售的風波,同時也將華為推上了輿論關(guān)注的前臺。4月22日開幕的首屆數(shù)字中國建設峰會上,日前剛剛接任華為技術(shù)有限公司董事長的梁華到場參會,他將如何發(fā)聲與表態(tài)成為關(guān)注熱點。22日上午進行的主論壇上,梁華發(fā)表了演講,主題是圍繞ICT數(shù)字產(chǎn)業(yè)的發(fā)展。他表示,華為將依托核心能力“芯片設計、數(shù)學算法、架構(gòu)設計”,構(gòu)建端、網(wǎng)、云協(xié)...
一、UCOSIII任務堆棧1、任務堆棧的創(chuàng)建堆棧是在RAM中按照“先進先出(FIFO)”的原則組織的一塊連續(xù)的存儲空間。為了滿足任務切換和響應中斷時保存CPU寄存器中的內(nèi)容及任務調(diào)用其它函數(shù)時的需要,每個任務都應該有自己的堆棧。如何創(chuàng)建?#define START_STK_SIZE 512 //堆棧大小CPU_STK START_TASK_STK[START_STK_SIZE]; //定義一個數(shù)...
1、編譯時出現(xiàn).ubsct size overflow--http://blog.sina.com.cn/s/blog_817a5eb601018186.html----------- Project roewe - STM8 Cosmic - Configuration Debug -------------Running Linkerclnk -l"C:Program FilesCOSMICCXSTM8Lib" -o Debugroewe.sm8 -mDebugroewe.map Debugroewe.lkf#error clnk Debugroewe.lkf:1 segment .ubsc...
日前,芯原聯(lián)合Khronos(科納斯)組織在上海召開了技術(shù)研討會。在技術(shù)研討會上,包括來自科納斯、芯原、騰訊、阿里巴巴、ax株式會社、英特爾、中國移動研究院、彌知科技以及華為等多家廠商或機構(gòu)進行了相關(guān)技術(shù)分享。芯原商業(yè)運營高級副總裁汪洋在開幕致辭中說道,Vivante 2008年加入科納斯工業(yè)協(xié)會。隨著Vivante加入芯原之后,芯原也成為了協(xié)會董事會成...

史海拾趣

問答坊 | AI 解惑

關(guān)于變化線寬的問題

我要對一個0.8mm間距的BGA芯片布線,在芯片引腳間走線線寬取為5mil,然后引到芯片外面以后變線寬為10mil,請問這樣變化線寬對信號會產(chǎn)生影響嗎?…

查看全部問答∨

關(guān)于空氣凈化器

本帖最后由 jameswangsynnex 于 2015-3-3 19:59 編輯 傳統(tǒng)空氣凈化產(chǎn)品要么是由化學成份組成、要么會有臭氧等毒副作用產(chǎn)生、要么凈化效果很弱..... 力天世紀空氣凈化系統(tǒng)工程有限公司自主研發(fā)的等離子室內(nèi)空氣凈化器,可以在任何相對封閉的室 ...…

查看全部問答∨

基于Windows CE的嵌入式操作系統(tǒng)實時性分析.pdf

基于Windows CE的嵌入式操作系統(tǒng)實時性分析.pdf…

查看全部問答∨

LPC2210調(diào)試成功愿把心得與大家分享

來自:http://www.embedinfo.com/wen-list.asp?id=381   我不是最優(yōu)秀的嵌入式開發(fā)人員,但我是優(yōu)秀的,至少我每天都在不懈努力著……     以前是用51做東西的,雖然沒有大的研究成果但自己研究的小產(chǎn)品也在被使用著,談不上 ...…

查看全部問答∨

系統(tǒng)定時的問題

*********************************************************************************************************** Function name:       InitSysTick** Descriptions:        ...…

查看全部問答∨

wince ReadFile函數(shù)讀取數(shù)據(jù)失敗

        CString strFilePath = _T("\\\\硬盤\\\\AccountFile.dll");          HANDLE        m_hAccountFile =  CreateFile(strFilePath,GENERIC_READ|GENERI ...…

查看全部問答∨

windows CE無法瀏覽完整的顯示屬性對話框?

各位大哥好:       我使用的是顯示屏是480X234的分辨率.windows CE桌面顯示正常,但是右鍵->顯示屬性的時候,對話框太大,無法瀏覽完整的對話框,請問怎么設置系統(tǒng)對話框的大小?小弟剛剛注冊,分全供上了,謝謝!!!…

查看全部問答∨

求通用開發(fā)板和征求開發(fā)項目合作

我想找一塊使用時間比較長的成熟開發(fā)板,帶SD卡驅(qū)動,USB接口和液晶顯示功能就可以了,提供相關(guān)PCB制板文件,這是其一 其二,想在上面再擴展個心電采集電路部分,調(diào)通該部分功能 如有對以上擅長者,有合作意向請聯(lián)系本人 QQ:12665590 …

查看全部問答∨

求教 linux設備usb驅(qū)動中的中斷信號問題

近日在看linux下的嵌入式平臺下的usb設備驅(qū)動,苦讀代碼之后始終沒找到寫入中斷信號的地方,我在想中斷信號是不是自己由usb控制器對控制數(shù)據(jù)解碼后產(chǎn)生的呢? 問題: 中斷信號是USB控制器的硬件產(chǎn)生的,還是由軟件讀取那8個字節(jié)的控制數(shù)據(jù)產(chǎn)生的? ...…

查看全部問答∨

有沒有好的辦法實現(xiàn)大幅度降頻?!

是典型的高速處理器與慢速外設之間的通信問題,我的設想是盡可能減少硬件而實現(xiàn)通信.現(xiàn)在DSP的頻率為40MHz,還可以降些下來,但是不能降得過低,最好是不降,因為還要與別的DSP通信. 而慢速外設的頻率只有100KHz.相差實在太遠,不知道有沒有折衷的辦法既 ...…

查看全部問答∨
小廣播
設計資源 培訓 開發(fā)板 精華推薦

最新單片機文章

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發(fā)圈

 
機器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 广汉市| 邹平县| 新绛县| 织金县| 洮南市| 安平县| 循化| 赤峰市| 隆子县| 蚌埠市| 徐水县| 拉孜县| 东乡| 东山县| 堆龙德庆县| 勃利县| 巴塘县| 建德市| 康定县| 商都县| 信阳市| 日喀则市| 温州市| 上高县| 中江县| 贵德县| 奈曼旗| 汾阳市| 樟树市| 都昌县| 阳西县| 彝良县| 普洱| 积石山| 巴楚县| 芷江| 新民市| 靖江市| 铜山县| 嘉善县| 科尔|