在线时间23 小时
UID2098806
注册时间2014-12-7
NXP金币0
TA的每日心情 | 开心 2019-10-28 09:18 |
---|
签到天数: 1 天 [LV.1]初来乍到
中级会员
- 积分
- 357
- 最后登录
- 2022-9-29
|
用Polling方式的SPI读写外部flash
1、SPI设置
lpc55s69 有 9个SPI,其中SPI0-7为普通SPI,速度只能达到最高37.5Mhz ?而SPI8可以高达48Mhz。因为SPI8下一步我将把它用于刷屏,所以这里随便选个0-7的SPI进行驱动外部flash。
- #define EXAMPLE_SPI_MASTER SPI1
- #define EXAMPLE_SPI_MASTER_IRQ FLEXCOMM1_IRQn
- #define EXAMPLE_SPI_MASTER_CLK_SRC kCLOCK_Flexcomm1
- #define EXAMPLE_SPI_MASTER_CLK_FREQ CLOCK_GetFlexCommClkFreq(1U)
- #define EXAMPLE_SPI_SSEL 1
- #define EXAMPLE_SPI_SPOL kSPI_SpolActiveAllLow
- void spi_init()
- {
- SPI_MasterGetDefaultConfig(&userConfig);
- srcFreq = EXAMPLE_SPI_MASTER_CLK_FREQ;
- userConfig.sselNum = (spi_ssel_t)EXAMPLE_SPI_SSEL;
- userConfig.sselPol = (spi_spol_t)EXAMPLE_SPI_SPOL;
- userConfig.baudRate_Bps = srcFreq;
- SPI_MasterInit(EXAMPLE_SPI_MASTER, &userConfig, srcFreq);
- }
- uint8_t spi_write_read(uint8_t dat)
- {
- static uint8_t rxdat=0xff;
- spi_transfer_t xfer = {0};
- xfer.txData = &dat;
- xfer.rxData = &rxdat;
- xfer.dataSize = 1;
- SPI_MasterTransferBlocking(EXAMPLE_SPI_MASTER, &xfer);
- return rxdat;
- }
复制代码
2、外部flash
这里使用一个8MBytes的GD flash。
IC手册:
gd25q64c_v3.2_20191210.pdf
(1.82 MB, 下载次数: 13)
|
|