STM32之间SPI通信

本文介绍了如何在STM32中设置和使用SPI通信,包括SPI初始化、发送端程序和中断配置。通过示例代码解析了SPI的读写过程,并提出了在SPI通信中遇到的两个疑问:CPOL配置对通信的影响以及SPI读写为何要同时进行。

    这几天实验室比较忙,所以博客这边停了一下,继续吧。

    继串口中断后,大家可以尝试单片机间串口通信,这里就不再多赘述。串口完了之后,我接着学的就是SPI通信了,作为hello moto公司推出的这种4线全双工通信,很节约PCB布局空间,但缺点就是没有指定的流控制,没有应答机制来确定信号收到与否,比I2C在硬件上要稍微复杂一点。

    话不多说,上程序最有助理解。下面是SPI通信的发送端的SPI初始化主程序。

void SPI_Configuration(void)
{
   //定义GPIO,SPI结构体
   GPIO_InitTypeDef GPIO_InitStructure;
   SPI_InitTypeDef  SPI_InitStructure;
   //开PA口复用时钟,初始化系统时钟
   SystemInit();
   RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOC|RCC_APB2Periph_AFIO|RCC_APB2Periph_SPI1,ENABLE);
   //配置PA5,PA6,PA7即SPI1__SCK,SPI1_miso,SPI1_mosi
   GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;
   GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
   GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;
   GPIO_Init(GPIOA,&GPIO_InitStructure);
  &n

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值