微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > stm32f407硬件spi读写sst25vf闪存flash代码

stm32f407硬件spi读写sst25vf闪存flash代码

时间:11-24 来源:互联网 点击:
  1. ----------------------------------------------------------
  2. 函数名称 : SPI_FLASH_Writenbyte
  3. 函数功能 : 写一个字节数据
  4. 入口参数 : address:地址 buffer:数据 num :数量
  5. 出口参数 : 无
  6. ------------------------------------------------------------------------------*/
  7. void SPI_FLASH_Writenbyte(unsigned int Addr, unsigned char *buf,u16 num)
  8. {
  9. u8 i;
  10. for(i=0;i
  11. {
  12. SPI_FLASH_Writebyte(Addr++,&buf[i]);
  13. }
  14. }
  15. /*------------------------------------------------------------------------------
  16. 函数名称 : SPI_FLASH_Readnbyte
  17. 函数功能 : 写一个字节数据
  18. 入口参数 : address:地址 buffer:数据 num :数量
  19. 出口参数 : 无
  20. ------------------------------------------------------------------------------*/
  21. void SPI_FLASH_Readnbyte(unsigned int Addr,unsigned char *buf,u16 num)
  22. {
  23. unsigned short i = 0;
  24. SPI_FLASH_CS_LOW();
  25. SPI_FLASH_SendByte(0x0b);
  26. SPI_FLASH_SendByte(Addr>>16);
  27. SPI_FLASH_SendByte(Addr>>8);
  28. SPI_FLASH_SendByte(Addr);
  29. //dummy
  30. SPI_FLASH_SendByte(Dummy_Byte);
  31. for(i=0;i
  32. {
  33. buf[i]= SPI_FLASH_SendByte(Dummy_Byte);
  34. }
  35. SPI_FLASH_CS_HIGH();
  36. }
  37. main()
  38. {
  39. u8 bufda[25]="123456789abcdefghijkl";
  40. SPI_FLASH_Init();
  41. // Write_74HC595(HC595_OUT,3,&davalu);
  42. // Write_595_ENABLE();
  43. SPI_FLASH_157_EN();//kang 2014.07.10
  44. SPI_FLASH_ChipErase();
  45. SPI_FLASH_157_DIS();
  46. SPI_FLASH_157_EN(); //kang 2014.07.10
  47. i= SPI_FLASH_ReadID();
  48. SPI_FLASH_157_DIS();
  49. SPI_FLASH_157_EN();
  50. SPI_FLASH_Writenbyte(5,bufda,20);
  51. SPI_FLASH_157_DIS();
  52. SPI_FLASH_157_EN();
  53. SPI_FLASH_Readnbyte(5,readbuf,20);
  54. SPI_FLASH_157_DIS();
  55. }

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top