嵌入式开发者社区
标题:
SPI读写flash的问题
[打印本页]
作者:
xiaoo125
时间:
2016-11-30 20:42
标题:
SPI读写flash的问题
有一些问题不太明白,需要请教下
void SPIInit(void)
{
unsigned char cs = 0x01;
unsigned char dcs = 0x01;
unsigned int val = SIMO_SOMI_CLK_CS;
SPIReset(SOC_SPI_1_REGS);
SPIOutOfReset(SOC_SPI_1_REGS);
SPIModeConfigure(SOC_SPI_1_REGS, SPI_MASTER_MODE);
SPIClkConfigure(SOC_SPI_1_REGS, 228000000, 20000000, SPI_DATA_FORMAT0);
SPIPinControl(SOC_SPI_1_REGS, 0, 0, &val);
SPIDefaultCSSet(SOC_SPI_1_REGS, dcs);
// 配置 SPI 数据格式
SPIDataFormatConfig(SPI_DATA_FORMAT0);
// 配置 SPI 数据格式及片选信号
SPIDat1Config(SOC_SPI_1_REGS, (SPI_CSHOLD | SPI_DATA_FORMAT0), cs);
其中的cs片选和之前初始化SPI口的SPI1CSPinMuxSetup(0);
1.这两个片选有什么区别?
2.这个SPIDat1Config(SOC_SPI_1_REGS, (SPI_CSHOLD | SPI_DATA_FORMAT0), cs);函数中的片选从0开始还是从1开始,如果要选择其他片选信号,这里还需要修改吗?
作者:
xiaoo125
时间:
2016-11-30 21:49
还有我怎么修改函数SPI1CSPinMuxSetup(0); 参数我无论修改成几,程序运行到这里的时候我看到的SPIPC0寄存器里都是SCS0FUN0复用为SPI(SCS0 function),也就是片选0被选择
作者:
希望缄默
时间:
2016-12-2 08:34
xiaoo125 发表于 2016-11-30 21:49
还有我怎么修改函数SPI1CSPinMuxSetup(0); 参数我无论修改成几,程序运行到这里的时候我看到的SPIPC0寄存器 ...
这是两码事
SPI1CSPinMuxSetup(0); 配置的是 SYSCONFIG 寄存器管脚复用跟 SPI 外设没有关系
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4