最近在用STM MCU 的SPI3,把一些使用时的注意点给大家记录一下,该注意的几点都注意了:

1,开GPIO时种

2,开SPI3时钟

3,GPIO引脚功能设定

4,如果有引脚复用的或与JTAG口有共用的引脚要对GPIO进行remap等

代码如下:

void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO | RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB, ENABLE);

// NSS
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;         
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);

// SPI
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4 |GPIO_Pin_5;         
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);

GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);

}

void SPI3_Configuration(void)
{
SPI_InitTypeDef SPI_InitStructure;

RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI3, ENABLE);
RCC_PCLK1Config(RCC_HCLK_Div2);  // 36M

SPI_I2S_DeInit(SPI3);
  SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;
  SPI_InitStructure.SPI_Mode = SPI_Mode_Master;
  SPI_InitStructure.SPI_DataSize = SPI_DataSize_16b;
  SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;
  SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;
  SPI_InitStructure.SPI_NSS = SPI_NSS_Hard;  // SPI_NSS_Soft
  SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_4;
  SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;
  SPI_InitStructure.SPI_CRCPolynomial = 7;
SPI_Init(SPI3,&SPI_InitStructure);

SPI_SSOutputCmd(SPI3, ENABLE);

SPI_Cmd(SPI3, ENABLE);

}

int main(void)
{
RCC_Configuration();
GPIO_Configuration();
SPI3_Configuration();
delay_init(72);

while(1)
{
GPIO_ResetBits(GPIOA,GPIO_Pin_15);
SPI_I2S_SendData(SPI3,0xAA55);
while( SPI_I2S_GetFlagStatus(SPI3, SPI_I2S_FLAG_BSY));
SPI_I2S_ReceiveData(SPI3);
        GPIO_SetBits(GPIOA,GPIO_Pin_15);
delay_ms(1);
}
}

//仿真观看SPI3寄存器状态 -- 正常

成功输出信号波形

STM32F103/302 SPI3 接口使用例程相关推荐

  1. PB proUSB门锁接口函数例程

    下载地址 因为程序在PB9中调用,但官方只提供了VB,DELPHI的代码实例,自己费了点心,写了个PB9调用的代码,本程序参照官方提供的Delphi和VB示例,如果你懒得自己动手,,请支持一下.

  2. Labelmx条码软件接口版调用例程

    <Label mx通用条码标签设计系统>是一款简单易用的专业条码标签设计系统.集画图设计.条码生成.标签制作.批量打印于一体. 恒佑科技为满足其它管理软件.进销存等软件调用label mx ...

  3. stm32f103利用HC06进行蓝牙通信,在7针的OLED屏幕上显示,带数据更新功能(带超详细讲解)

    stm32f103利用HC06进行蓝牙通信,在7针的OLED屏幕上显示,带数据更新功能(带超详细讲解) 首先看看效果吧 手机端发送一个数据在OLED屏幕上显示 其实蓝牙通信就是个蓝牙转串口的过程,手机 ...

  4. ESP32 SPI 接口的应用

    总体介绍 1. ESP32 共有 4 个 SPI 控制器 SPI0.SPI1.SPI2.SPI3,用于连接支持 SPI 协议的设备. SPI0 控制器作为 cache 访问外部存储单元接口使用; SP ...

  5. Aurora8B10B IP使用 -04- IP例程应用实例

    前言 本文主要介绍了关于Aurora8B10B IP官方提供的模板工程的使用,并进行了简要的仿真查看测试结果,确保仿真传输的正确性. 示例设计架构 示例设计 每个 Aurora 8B/10B 内核都包 ...

  6. Henry的VB.NET之旅(十)—何时用接口

    ?????? Henry的VB.NET之旅(十)-何时用接口 ??????????????????????????????????????? 韩睿? 大李没告诉我接口与抽象类的区别,什么时候用接口,什 ...

  7. 【Esp32】Esp32+sx1268 Spi接口驱动SX1268模块

    [Esp32]Spi接口驱动SX1268模块 0. 实验结果 1.原理解析 2.硬件接线 3. SX1268 模块的 SPI 时序分析 4. 基于 ESP32 实现函数封装 4.1 读寄存器 4.2 ...

  8. LED显示屏二次开发接口的设计方案

    引言 在LED 显示屏工程应用中,有单块显示屏项目,但更多的是多块显示屏项目.对于单块显示屏,直接使用厂商配置的控制软件就满足要求了:但对于多块显示屏,尤其是系统集成项目,厂商配置的控制软件就很难满足 ...

  9. 基于STM32和W5500的Modbus TCP通讯

     在最近的一个项目中需要实现Modbus TCP通讯,而选用的硬件平台则是STM32F103和W5500,软件平台则选用IAR EWAR6.4来实现. 1.移植前的准备工作 为了实现Modbus ...

最新文章

  1. 三朵云 华为_携手共进,华为云推出“Go Africa”计划
  2. 人生感悟 --是人才就不要等着老板来安排你的工作
  3. java 动态绑定原理_详解Java动态绑定机制的内幕(图)
  4. WSS Alert(邮件提醒) 定制
  5. 45张令程序员泪流满面的趣图
  6. cdr图片随意拉伸变形_如何操作才能使照片拉伸不变形
  7. mysql 中序号要怎么写_如何在mysql的字段ID中插入自动编号?
  8. 借助xUnit减少了生产问题
  9. pku 1276 Cash Machine 多重背包
  10. 减速器的参数优化 毕业设计 matlab,matlab减速器计算机辅助设计系统+程序+CAD图纸+源程序...
  11. java开发学生管理系统
  12. 实验02 使用网络模拟器Packet Tracer
  13. 位深度8位什么水平_佳能1DX3视频12位RAW拍摄和8位mp4拍摄的色彩有多大差别
  14. 数据库课程设计矿大_中国矿业大学选课系统
  15. 从零开始变成一个脚本小子001-初窥密码
  16. 赵小楼《天道》《遥远的救世主》深度解析(66)辩证思维的讨论:人性、教义、逻辑
  17. 用python画年度和月度的日历图
  18. 【开工】知道创宇网络安全线上服务指南
  19. 【王老师说运维】:高级运维开发工程师在线评测
  20. 软件工程实践结对作业二

热门文章

  1. 考研编程练习----递推数列(矩阵相乘法)
  2. C#中动态加载和卸载DLL
  3. spring源码学习之路---深入AOP(终)
  4. SQL Server学习1(建数据库,建表,建约束)
  5. 作为Leader如何与团队成员更好地沟通?
  6. Entity Framework 学习高级篇2—改善EF代码的方法(下)
  7. 抓取网页并解析HTML
  8. UA MATH563 概率论的数学基础 鞅论初步1 条件期望
  9. CentOS下初次使用MySQL
  10. 初步了解超图官网提供的应用程序