最近被 ESP8266 的设计整崩溃了, 一个半的 串口 真的 坑。  为了让 我毕设中的 ESP8266 和 Stm32F4  单片机进行数据传输,我需要找到一种除了 串口意外的 通讯方式(吐槽一下,要是用串口的话 真的太简单啊)  最终我盯上了 SPI 的协议 所以就有这个博客。 这是我的 一个试验程序。

代码地址: https://download.csdn.net/download/weixin_41534481/12230493

声明一下 这个博客中的主要代码不是我写的,是我在网上找到的   原作者是

在这里向原作者致敬,如果您不希望我写这个博客  那么请联系我。  我这里只是分享一下代码的思路(我的代码做了一定的自己的修改) 。

这是  GPIO的 初始化部分,其中的  PA4  是NSS 引脚 这里我使用的是 软件 NSS  所以就单独配置一下输出

手册中的引脚复用在这里

这一部分是  SPI 的 参数设置,  都是一些基本的参数  就不去介绍了

 这是实际测试的  速度

这个是  DMA 的配置部分 也是整个程序的精华所在  主要就是 设置了一些 DMA 的基本参数, 后面的注释是我跟据 意思加的

 这是 DMA 双工发送的 代码  同时进行收和发

这是原本的代码 相比我的多了一个    设置 存储器地址的自增   这部分 应该是不需要的

写这篇博客 主要是给自己以后一个参考,  ESP8266 的 通讯还是不好解决的 。

如果用SPI 协议的话 还是需要一个主机 一个从机 而 ESP8266 做 从机比较难做

代码的下载地址:

https://download.csdn.net/download/weixin_41534481/12230493

https://blog.csdn.net/weixin_41534481/article/details/104675738?utm_medium=distribute.pc_relevant.none-task-blog-utm_term-1&spm=1001.2101.3001.4242

stm32 学习--Stm32F407 SPI1 全双工DMA 收发数据相关推荐

  1. 2020-03-05-stm32 学习--Stm32F407 SPI1 全双工DMA 收发数据

    最近被 ESP8266 的设计整崩溃了, 一个半的 串口 真的 坑.  为了让 我毕设中的 ESP8266 和 Stm32F4  单片机进行数据传输,我需要找到一种除了 串口意外的 通讯方式(吐槽一下 ...

  2. STM32学习之串口采用DMA收发数据:需要利用状态机加DMA加串口

    写在前面 在学习这一节知识点的时候,真的是感觉太抽象了,没有一个合适的视频讲的我有那种豁然开朗的感觉,直到我看到了这篇文章,大家可以去看看,里面的描述特别形象. 链接:https://blog.csd ...

  3. STM32f407与STM32F103 串口采用DMA收发数据配置方法的异同

    最近有个项目需要用到STM32F407ZET6这款芯片,其中有一个串口收发数据的应用.因为之前有用过STMF32F103ZET6通过DMA收发数据的方案,所以我打算移植之前的代码实现这个功能,STM3 ...

  4. STM32F407ZG 实现DMA收发数据

    正点原子的DMA测试实验,代码只包含了DMA发送数据,而没有接收数据,而我需要实现DMA收发数据,经过查找资料,以及验证,终于实现了DMA发送和接收数据. 本人将dma的驱动代码写入了dma.c和dm ...

  5. STM32F0系列串口DMA收发数据

    关于STM32F0系列串口DMA收发数据详解 这里用的库函数版本,芯片型号为stm32f030c8t6.在用到串口DMA时,要按以下几个步骤进行. 1.确定使用的串口号,这里,我用的是usart2,对 ...

  6. STM32 进阶教程 15 - 串口DMA收发

    前言 串口操作相信大家一定很熟悉,如果你已经会串口的收发数据,并可以灵活使用轮询及中断方式对串口进行数据收发,那么恭喜你,学完本节内容后,也将可以学会串口的更高级操作方式,DMA方式,DMA操作串口可 ...

  7. 【华大测评】+串口DMA收发数据

    串口传输用中断实现的话,要频繁的进入中断函数,这样无疑增加MCU的负担,干扰正常程序的运行,对于一些实时性强的应用,如数字显示应用中,液晶屏显示可能受影响而不能正常显示.用DMA实现串口收发数据,进行 ...

  8. STM32学习1之ADC+DMA(使用定时器触发)

    笔者之前用STM32的ADC外设通过DMA通道来传输数据,通常有两种方法,一个是直接通过DMA通道传输数据,二是通过定时器触发.相较而言,后者在实际中比较常使用,因为ADC读取传感器数据需要一段时间, ...

  9. GD32F103配置SPI+DMA收发数据

      GD32是国产的32位单片机,它和STM32非常非常像,就连以前的库函数都差不多(现在从GD官网下载的库函数换了一种风格).配置SPI和DMA的方法和STM32差不多.   上图是DMA0各通道请 ...

最新文章

  1. 【错误记录】Android Studio 编译报错 ( Deprecated Gradle features were used in this build, making it incompat )
  2. python3 装饰器_python3装饰器
  3. c 多语言切换dll,【图片】老C教学之——给你的程序添加多语言支持【dll】【vb吧】_百度贴吧...
  4. misc_register、 register_chrdev 的区别总结
  5. Exclusive monitor在spinlock中的应用
  6. boost::graph模块实现bellman-ford算法的测试程序
  7. 【Vue.js学习】生命周期及数据绑定
  8. java自动加空格吗_程序加上空格和不加空格运行结果不一样
  9. 定位position详解:relative与absolute
  10. c 语言中fgetc函数,C 库函数 - fgetc()
  11. Intellij IDEA社区版集成Maven插件
  12. Android 功耗(9)---MTK功耗基础知识
  13. D. Closest Equals(线段树)
  14. 003《区块链开发指南》一一1.2 区块和区块链 转
  15. 【NOIP2007】【Luogu1093】奖学金
  16. OpenAI Gym 是一个优秀开发和比较强化学习算法的工具
  17. aardio中获取网络图片经GDI处理后保存到本地
  18. 机器学习中的「相似度度量」方法及应用
  19. oracle11 刚刚安装后提示invalid username password logon denied
  20. 网页游戏脱机脚本制作视频教程

热门文章

  1. 【JavaScript练习】用户输入一个数判断是否是素数,并弹出返回值
  2. 机器学习中的数学——距离定义(二十):相对熵(Relative Entropy)/KL散度(Kullback-Leibler Divergence)
  3. 微信小程序接入腾讯云的对象存储
  4. mac-怎么查询mac苹果电脑的保修期
  5. HTML顶部状态栏更改背景,html css导航菜单点击后改变背景图片
  6. 【密码学基础】03 传统加密技术
  7. MySQL--日期和时间
  8. oracle如何实现自增?----用序列sequence的方法来实现
  9. 在微信小游戏中实现语音互动
  10. cmmi实践访谈测试ppt_CMMI模型基础知识考试试题-(标准答案).xls