- 打卡等级:初来乍到
- 打卡总天数:4
- 最近打卡:2025-04-15 09:48:57
注册会员
- 积分
- 64
|
通过SPI驱动MB85RS64V,SPI口初始化如下:
void SPI_config(void)
{
SPI_InitTypeDef SPI_InitStructure;
SPI_InitStructure.SPI_Enable = ENABLE; //SPI启动 ENABLE, DISABLE
SPI_InitStructure.SPI_SSIG = ENABLE; //片选位 ENABLE, DISABLE
SPI_InitStructure.SPI_FirstBit = SPI_MSB; //移位方向 SPI_MSB, SPI_LSB
SPI_InitStructure.SPI_Mode = SPI_Mode_Master; //主从选择 SPI_Mode_Master, SPI_Mode_Slave
SPI_InitStructure.SPI_CPOL = SPI_CPOL_High; //时钟相位 SPI_CPOL_High, SPI_CPOL_Low
SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge; //数据边沿 SPI_CPHA_1Edge, SPI_CPHA_2Edge
SPI_InitStructure.SPI_Speed = SPI_Speed_4; //SPI速度 SPI_Speed_4, SPI_Speed_8, SPI_Speed_16, SPI_Speed_32/SPI_Speed_2
SPI_Init(&SPI_InitStructure);
NVIC_SPI_Init(DISABLE,Priority_3); //中断使能, ENABLE/DISABLE; 优先级(低到高) Priority_0,Priority_1,Priority_2,Priority_3
}
当写入时,如果操作 SS=0片选时,SPIF就一直不为0
SPDAT = dat;
while(SPIF == 0);
SPI_ClearFlag();
|
|