各位大大,这是逻辑分析仪的波形结果(压缩包是完整的波形,金士顿的),很奇怪的是我明明设置了dma_transfer_number_config为1,但是后面还会跟一个数据位,不知道有没有影响,还有05读取status,写使能位一直没被置1
void w25q32_dma_trans(uint16_t size)
{
spi_dma_disable(DMA0, DMA_CH7);;
dma_flag_clear(DMA0, DMA_CH7, DMA_FLAG_FTF);
dma_memory_address_config(DMA0, DMA_CH7, 0,(uint32_t)tx_buffer);
dma_transfer_number_config(DMA0, DMA_CH7, size);
spi_dma_enable(SPI2, SPI_DMA_TRANSMIT);
dma_channel_enable(DMA0, DMA_CH7);
while (dma_flag_get(DMA0, DMA_CH7, DMA_FLAG_FTF) == RESET);
spi_dma_disable(SPI2, SPI_DMA_TRANSMIT);
}
void w25q32_write_enable(void) {
uint8_t cmd = 0x06;
tx_buffer[0] = cmd;
tx_buffer[1] = cmd;
w25q32_cs_low();
w25q32_dma_trans(1);
while(spi_i2s_flag_get(SPI2, SPI_FLAG_TRANS) == SET){};
w25q32_cs_high();
}
|