Advertisement
sniper_nuko

SPI_Flash_Write_Page

Nov 8th, 2020
900
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.72 KB | None | 0 0
  1. // フラッシュメモリへデータ書き込み
  2. static void spi_flash_write_page(uint32_t f_addr, const uint8_t* sf_buf, int32_t e_count)
  3. {
  4.     int32_t count;
  5.     const uint8_t* w_buf = (const uint8_t*)sf_buf;
  6.    
  7.     // 書き込み許可
  8.     spi_flash_write_enable();
  9.    
  10.     // SPI通信開始
  11.     spi_flash_comm_start();
  12.  
  13.     // コマンド送信
  14.     spi_flash_transfer(FCMD_PP);
  15.    
  16.     // メモリアドレス送信
  17.     spi_flash_transfer(f_addr >> 16);
  18.     spi_flash_transfer(f_addr >> 8);
  19.     spi_flash_transfer(f_addr);
  20.    
  21.     // 書き込み
  22.     for(count = 0; count < e_count; count++)
  23.     {
  24.         spi_flash_transfer(w_buf[count]);
  25.     }
  26.  
  27.     // SPI通信終了
  28.     spi_flash_comm_end();
  29.    
  30.     // 書き込み終了まで待機
  31.     spi_flash_wait_for_write();
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement