2个stm32怎么用spi通信
1个回答
展开全部
说几点注意的吧:
1、一个设置为主机模式,一个设置为丛机模式
2、将mosi、miso、nss、clk对应的连接起来就是了
3、波特率设置一样
4、配置spi,下面以配置SPI1主机模式为例如:
SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;//双线双向全双工
SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;//8位数据
SPI_InitStructure.SPI_CPOL = SPI_CPOL_High;//空闲时钟为高电平
SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;//第2个时钟边沿读写数据
SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;//软件控制使能脚
SPI_SSOutputCmd(SPI1,ENABLE);
SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_16;//SPI时钟频率
SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;//高位在前
SPI_InitStructure.SPI_CRCPolynomial = 7;//CRC校验
SPI_InitStructure.SPI_Mode = SPI_Mode_Master;//SPI1主机模式
SPI_Init(SPI1,&SPI_InitStructure);
1、一个设置为主机模式,一个设置为丛机模式
2、将mosi、miso、nss、clk对应的连接起来就是了
3、波特率设置一样
4、配置spi,下面以配置SPI1主机模式为例如:
SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;//双线双向全双工
SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;//8位数据
SPI_InitStructure.SPI_CPOL = SPI_CPOL_High;//空闲时钟为高电平
SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;//第2个时钟边沿读写数据
SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;//软件控制使能脚
SPI_SSOutputCmd(SPI1,ENABLE);
SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_16;//SPI时钟频率
SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;//高位在前
SPI_InitStructure.SPI_CRCPolynomial = 7;//CRC校验
SPI_InitStructure.SPI_Mode = SPI_Mode_Master;//SPI1主机模式
SPI_Init(SPI1,&SPI_InitStructure);
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询