三分钟教你玩转cubeMX+USB+FATFS+FREERTOS

2023-05-16

1、真的只要三分钟吗?

可能还不要,cubeMX的强大,你想都想不到,话不多说,直接开始。

2、配置过程

配置时钟源、配置USB、配置FATFS、配置FREERTOS,与其说是配置,其实就是勾选,除了特定选择的几个参数外,一切采用默认参数,完美通过。

2.1、配置时钟

选择外部时钟源,我的板子是12M晶振。
在这里插入图片描述
按照下面选择时钟
在这里插入图片描述

2.2、调试接口配置

SYS里面选择调试接口,这个地方不要忘记了,否则烧写不了程序。
在这里插入图片描述

2.3、USB配置

忽略我配置的其他东西,选择USB_OTG_FS后,选择Host_Only。
在这里插入图片描述
下面在USB_HOST里面选择MassStorageHostClass。
在这里插入图片描述

2.4、文件系统配置

直接勾选USB Disk。
在这里插入图片描述

2.5、操作系统配置

直接勾选打开就好了。
在这里插入图片描述
下面要注意一下,任务栈要设置的大一点,文件系统里面定义的一些结构体比较占空间,笔者开始没有注意这个地方,采用默认值,结果程序一直进hardfault,这里设置到512bytes
在这里插入图片描述

2.6、项目工程设置

最小堆和最小栈设置一下,其他的根据自己的工程来。
在这里插入图片描述

所有参数都默认就好了,不用折腾,下面直接生成代码,打开工程。

3、测试代码

打开工程后,直接在fatfs.c里面,编写一个测试代码,如下
在这里插入图片描述
在这里插入图片描述
然后在main.c里面的开始任务里面加入测试代码
在这里插入图片描述

4、结论

插一个U盘在你的板子上面,根据测试代码的编写逻辑,会在你的U盘里面简历一个STM32.TXT的文件,然后在文件里面写上一段话“The site is STM32cube.com working with FatFs”。看看你的成功了没有,就是这么简单。不要再去配置什么寄存器了。
USB的基本流程,先mount,再open,再write,最后close,然后unmount。在挂载前,注意检查USB的状态,要在READY状态下才可以,操作完了之后设置为DISCONNECT,然后卸载掉U盘。
笔者开始碰到一个问题,弄了半天,重建了几个工程,发现,重复这个过程,三分钟就搞定了。
有问题,可以给我留言。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

三分钟教你玩转cubeMX+USB+FATFS+FREERTOS 的相关文章

  • 批量传输和 Android USB API

    我有一个程序 我尝试通过 USB 将我的 Android 设备连接到网络摄像头 我在一些事情上遇到了麻烦 即正确传输数据 我尝试过使用bulkTransfer 但似乎无法识别它的使用情况 我一直在尝试寻找可能对我有帮助的例子 例如here
  • 如何禁用 Android 设备 USB 端口

    我正在尝试搜索是否有一种方法可以禁用 Android 设备 USB 端口 主要是软件级别 因此用户仍然可以为 Android 设备充电 但无法再与 PC 通信 我得到了一些线索link1 https groups google com fo
  • 关闭 USB 端口的电源

    我正在寻找扭转的方法power关闭 然后重新打开 USB 端口 解决方案可以是 C bash 等 我使用运行 32 位 Ubuntu 16 04 的 BeagleBone for armhf gt uname srvm Linux 4 4
  • 使用“设备过滤器”解决方案时如何处理 Android 上的 USB 权限对话框事件?

    当我将 已知 USB 设备连接到 Android 手机时出现的自动权限对话框中 用户按下 确定 或 取消 时 我试图处理该事件 我正在使用 android usb host 库 可以在 Android 手机和设备之间发送和接收 此外 我使用
  • ALSA 记录 - 了解内存映射

    我尝试使用 ALSA 从 USB 音频设备获取输入并将其作为一系列内容写入磁盘signed short价值观 我最终得到的是看似有效的数据块 其中散布着大块的零 我猜测我的缓冲区设置不正确并且没有正确使用内存映射 我正在尝试什么 采样率 8
  • 使用 DeviceWatcher 监视 USB 驱动器并检索设备信息?

    I m a WinForms开发人员和我已经知道如何使用 WMI 监视连接或断开连接的 USB 但不久前我发现了设备观察者 http msdn microsoft com en us library windows devices enum
  • 如何在 OSX Catalina (10.15) 中使用 Wireshark 捕获 USB 流量

    我正在尝试让 Wireshark USB 捕获工作 显然 Catalina 之前的技巧就是调出界面 以便 Wireshark 可以看到它 https forums developer apple com thread 95380 https
  • 软件和与外部设备串行通信的波特率限制

    我使用 USB 端口作为虚拟 COM 端口运行 以使用 MATLAB 或 Visual Basic 6 实现与外部设备的串行通信 我面临波特率限制 具体取决于我用于与设备通信的软件 MATLAB 2018a 没有问题 因为它可以设置高波特率
  • python的跨平台usb模块?

    我有兴趣在 python 中使用 USB 设备进行一些跨平台工作 关于可以执行此类操作的模块有任何提示或建议吗 我浏览了 SF 和 googlecode 但运气不佳 thanks ct PyUSB http pyusb berlios de
  • 使用 python 检测 Windows 10 上的 USB 设备插入

    我无法获取以下代码检测USB设备插入 http timgolden me uk python win32 how do i detect device insertion html在我的 Windows 10 64 位 计算机上使用 Pyt
  • Android 到 PC USB 读/写

    我在 PC 上有一个程序 从 USB 接收字符串输入 旧程序 我有一个 Android 4 X 平板电脑 需要向在 PC 上运行的程序提供 USB 上的字符串输入 当我在 Android 上使用示例代码时 以下代码给出了空的哈希图 PC 在
  • Ubuntu 10.1下如何识别多个USB串口适配器

    我正在 Ubuntu 10 1 下从多个相同的 USB 串行适配器读取数据 有时 它们的 dev tty 路径会发生变化 例如 如果在启动时连接了其他 USB 设备 我需要一种通过任何此类更改重复引用同一适配器的方法 据 udevadm 称
  • Android:与充当主机的 USB 设备通信

    我们制作了一个可以充当 USB 主机或从机并处理其接收到的数据的设备 我想使用Android手机通过USB向其发送数据 我的研究使我得出结论 如果不修改硬件或操作系统 我们就无法在 USB 主机模式下使用 Android 设备 这样做不是一
  • 如何在没有窗口句柄的情况下使用 RegisterDeviceNotification?

    我正在编写一个 DLL 库 该库使用 VB NET 中的 winusb 连接到 USB 设备 由于它是一个 DLL 所以我没有窗口 而且我的库的用户也可能没有窗口 例如命令行应用程序 我见过的检测设备连接和分离的示例都使用RegisterD
  • libv4l2:打开流时出错:设备上没有剩余空间

    我尝试为 opencv 获取立体声对 我将 Logitech B910 和 Logitech C910 网络摄像头连接到 USB 但有这个错误 我玩弄了怪癖参数并设置outfmt mjpeg在mplayer中 但又出现此错误 在哪里可以找到
  • 如何在 DriverKit 中将我的 dex 与 USB 设备匹配?

    我正在编写一个驱动程序包扩展 其目标是阻止 USB 设备 例如闪存驱动器 作为起点 我选择了示例项目https developer apple com documentation driverkit communicating Betwee
  • 使用自定义 INF 的微控制器的 USB 驱动程序安装问题

    我正在使用 NXP LPC1788 微控制器 并尝试在主机上创建一个驱动程序以通过 USB 与其进行通信 我相信我已经设法让设备正确处理标准 USB 请求 PC 能够正确读取字符串描述符 不过 我在编写示例 USB 驱动程序并为设备安装它时
  • 我无法找到 libftdi 的 mpsse (SPI) 模式的示例代码

    这不是一个家庭作业问题 尽管这是一个工作问题 几个月前 我刚写完一份规范 老板就会把它外包出去 因为资金紧张 所以我正在尝试自己做这件事 我是一个很弱的 C 编码员 如果 gcc 能输出一些运行时不会出现段错误的东西 或者有时根本没有任何东
  • 哪些变量类型/大小在 STM32 微控制器上是原子的?

    以下是 STM32 微控制器上的数据类型 http www keil com support man docs armcc armcc chr1359125009502 htm http www keil com support man d
  • 获取已连接 USB 设备的端口名称

    当USB设备连接到计算机时 如何使用C 代码获取它所连接的端口名称 我找到了很多方法来查找 USB 何时连接 断开 驱动器号 路径 设备 ID 等 但没有找到任何明确的示例来说明如何知道它连接到哪个端口 我看到了一种可能的解释 但这涉及很多

随机推荐

  • Windows下载安装Intel RealSense SDK2.0

    下载地址 xff1a https github com IntelRealSense librealsense releases 选择下载Intel RealSense SDK WIN10 2 50 0 3785 exe 安装 xff08
  • 英特尔深度相机- Python 包装器的示例代码

    这些示例演示了如何使用 SDK 的 python 包装器 设备 xff1a RealSense D435i相机 代码链接 xff1a https github com IntelRealSense librealsense tree mas
  • 二维码识别与定位-方法2-利用opencv扩展库aruco

    二维码识别作为一种快捷准确的技术已经应用与生活中的购物支付 物体识别及工业AGV导航等领域 xff0c 典型的二维码识别开源库有arcuo alvar以及OpenCV中的二维码检测API如QRCodeDetector xff0c 在本节中我
  • Python 端口扫描器

    目录 前言一 TCP全连接二 程序编写1 获得主机名和端口2 解析主机名和端口3 抓取应用的Banner4 线程扫描5 信号量机制 总结 前言 任何一个靠谱的网络攻击都是起步于侦查的 在这里 xff0c 我们将使用Python来编写一个扫描
  • Windows+VS+OpenCV(多版本)环境配置

    Index 目录索引 写在前面1 OpenCV 的安装2 OpenCV 在 VS 中的配置配置方法一配置方法二 3 不同 OpenCV 版本的切换附录 查看OpenCV 版本的代码 写在前面 本篇文章记录如何安装OpenCV xff0c 以
  • 使用双天线G-RTK+Ardupilot小车完成厘米精度自动导航 pixhawk px4

    作为多年使用PIXHAWK的玩家 xff0c 相信大家或多或少被磁罗盘报错折磨过 由于磁非常容易受周围环境的干扰和自身结构的金属部分干扰 经常我们今天校准好的罗盘 xff0c 什么也没动 xff0c 明天上电发现罗盘报错 对于330 450
  • Cmake基础知识讲解

    本文主要参考https www cnblogs com cv pr p 6206921 html 1 CMake编译原理 CMake是一种跨平台编译工具 xff0c 比make更为高级 xff0c 使用起来要方便得多 CMake主要是编写C
  • 基于opencv的ArUco的视觉定位之ArUco安装

    小编之前在前面的文章里是通过安装opencv 43 contirb来实现使用aruco xff0c 但在进行aruco的源码学习时 xff0c 发现不少类contirb里库是没有的 xff0c 于是不得不再装一个独立的aruco的库 xff
  • 使用opencv的aruco库进行位姿估计

    1 姿态估计在许多计算机视觉应用中非常重要 xff1a 机器人导航 xff0c 增强现实等等 该过程基于查找真实环境中的点与其2D图像投影之间的对应关系 这通常是一个困难的步骤 xff0c 因此通常使用合成或基准标记使其更容易 最流行的方法
  • linux centos 命令行 安装 teamviewers ___yyw合并版

    参考 xff1a 1 http blog csdn net changgongzhao article details 52299314 2 http blog csdn net dreamhai article details 57080
  • aruco字典如DICT_4X4_50含义

    其中DICT是dictionary的缩写 xff0c 4x4位表示marker标记要被划分的位数 xff0c 边界为1比特位 xff0c 所以4x4的marker识别时会被分割为6x6格 xff0c 如下图时6x6的 最下面的个数时字典里包
  • 单片机如何发出类似和弦的声音

    蜂鸣器声音优化 1 优化思路 蜂鸣器的控制 xff0c 在单片机领域 xff0c 大多数人都是给一定周期的脉冲 xff0c 蜂鸣器就会发出声音 xff0c 而本质上 xff0c 蜂鸣器只是一个金属弹片 xff0c 声音大小取决于弹片的幅值
  • 3年5年10年的嵌入式工程师,他们的区别在哪里

    嵌入式工程师与嵌入式工程师的区别在哪里 1 维度1 1 基础知识1 2 项目心态1 3 技术架构1 4 技术视野1 5 成熟方案1 6 一通百通1 7 选型能力1 8 其他能力 2 还有其他要说的 做过很多项目 xff0c 招了一些人 xf
  • 陀螺稳定云台控制流程图

    陀螺稳定云台控制流程图 控制流程图 手持云台控制流程图 xff0c 主要是一个串级PID xff0c 位置环和速度环 xff0c 当然了FOC电流环 xff0c 不在这个流程里 xff0c 位置环100HZ xff0c 速度环500HZ x
  • 电机的力矩计算

    1 转动惯量的公式 1 1 转矩如何计算 转矩等于转动惯量乘以角加速度 xff0c 然后我们要注意一下单位 xff0c 转矩的单位是NM 转动惯量的单位是kg m2 角加速度单位是rad s2 M 61 I B M是转矩 xff0c I 是
  • 电流采样运放参数

    关于运放参数 在我们做电流采样的时候 xff0c 压摆率这个参数很重要 xff0c 如果压摆率太小 xff0c 跟不上电流的变化带来的电压变化 xff0c 那么我们采样就不会准确 xff0c 在FOC算法里面 xff0c 一个完美的正弦波采
  • ICM42688初始化流程

    ICM42688初始化流程 1 陀螺仪复位 2 设置量程 3 关闭FIFO 4 关闭同步时钟 5 配置时间戳 xff0c 打开fifo 6 设置INTI引脚引脚属性为推挽及设置有效极性为高电平 7 配置中断 8 中断异步复位 9 配置陀螺和
  • FOC控制之小A小B小C是如何追求小D的

    1 写在前面 随着电动汽车的热火 xff0c 关于FOC控制技术的文章这几年在网络上可谓是一搜一大把 xff0c 各种理论分析 xff0c 公式推导 xff0c 应有尽有 通过这些文章 xff0c 可以看出大佬还是很多的 另外也有FOC的开
  • 手把手教你调试Pixhawk垂直起降参数

    Pixhawk垂直起降参数 1 写在前面 本来想写个垂直起降手把手教你调试的 xff0c 由于作者也没有太多的时间给大家拍照并现场调试 xff0c 鉴于很多朋友问我里面的参数问题 xff0c 干脆写点东西算了 2 参数列表及解释 VT AR
  • 三分钟教你玩转cubeMX+USB+FATFS+FREERTOS

    1 真的只要三分钟吗 xff1f 可能还不要 xff0c cubeMX的强大 xff0c 你想都想不到 话不多说 xff0c 直接开始 2 配置过程 配置时钟源 配置USB 配置FATFS 配置FREERTOS xff0c 与其说是配置 x