首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【STM32项目】在FreeRtos背景下的实战项目的实现过程(三)

函数将端口拉高至高电平 中间的三行代码表示将PA2拉低后200ms再拉高,起到一个软件控制的电平变化作用 下面的一大堆相似的代码OLED_WR_Byte就是往OLED的寄存器里面写数据,目的是启动OLED...,有英文的功能说明并且解释得很清晰的这种 while函数中的操作就是函数的主逻辑,一般来讲啊,例程里面就会将大部分的功能给写出来的,但是有部分的用得少的功能就可能没有,这样我们就在所包含的头文件中找到源文件...,因为头文件和源文件都是一一对应的,都是头文件声明然后源文件定义,这些用到的头文件在main文件的最上方被包含 3、头文件 头文件最主要的就是两个方面,一个是#define宏定义,另一个就是函数的声明...,调试成功后再向里面加入其他模块,然后重复上述步骤 还想要深入开发一个更复杂的项目的话,深入地学习FreeRtos有很好地效果,前面我们也说过,FreeRtos是一个很自由的平台,我在项目中所使用到的也只是其中的一部分内容...,包括内存管理、时间管理、消息队列等等一系列的知识在当中没有使用,但是对于复杂项目的开发是起到一个至关重要的作用的,所以扩充知识储备也是非常重要的

38210

【STM32项目】在FreeRtos背景下的实战项目的实现过程(一)

这篇文章是我亲身经历的,在做完一个项目之后总结的经验,虽然我没有将整个项目给放出来,因为这项目确实也是花了米让导师指导的,但是这个过程对于STM32的实战项目开发都是非常好用的,可以说按照这个过程,在你熟悉各种外设的前提下...,它常用于不需要高实时性的场景的产品开发 在delay函数下的等待只能等待,没有占用CPU的情况,浪费资源 (2)基于Rtos的开发 Rtos有很多种,除了FreeRtos以外,我们可以在浏览器上搜索其他的...Rtos,但在所有嵌入式系统中,FreeRtos是应用最多的 添加了Rtos的嵌入式系统实时性会提高,我们可以将某些程序分为多个任务,给予它们优先级,优先级高的优先获得CPU使用权,也就是一个优先级低的任务执行过程中...,优先级高的任务一旦出现需要执行的情况,优先级低的任务立刻发生中断,先让优先级高的任务完成,然后再回到原来的位置继续执行,而且这个过程是可以嵌套的,在优先级1的任务过程中,优先级2的任务可以中断优先级1...的任务,然后优先级3的任务又可以中断优先级2的任务 多个任务可以同一优先级,创建的实时任务数量没有软件限制,也就是说,在理想条件下,创建的实时任务可以有无数个 在不断中断的过程中,嵌入式系统捕捉外界变化的能力变得十分灵敏

79810
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【STM32项目】在FreeRtos背景下的实战项目的实现过程(二)

    ,保证程序正常运行,也就是裸机开发,将所有需要该模块实现的程序都移植到一个裸机程序中,实现我们预期的效果,这样这一步就OK了 打开核心板的手册,查看每个引脚对应的协议,修改例程中的某些引脚,避免出现多个设备要共用一个引脚的尴尬局面...获得的点阵数据存储到数组当中,按照循环打印的方式让像素亮起,这样就在视觉上形成了自己想要的图像 如此一来这个图像的生成就可以用来做我们优先级最低的一项任务,用来显示一些固定的图像,就像游戏机的开始界面...在MPU6050中,SDA引脚用于接收和发送数据 XDA和XCL:这些是MPU6050的辅助I2C接口引脚,用于连接其他外部设备或传感器,并非所有版本的MPU6050都包含这些引脚,具体取决于模块的封装和配置...,效果与SCL与SDA相同,目的是将其他设备也挂载到IIC总线上 INT:中断引脚,可用于输出中断信号,当MPU6050检测到特定事件(如数据就绪、超出阈值等)时,可以通过该引脚输出中断信号,通知主控制器进行相应的处理...AD0:地址选择引脚,用于设置MPU6050的I2C地址,通过将该引脚连接到VCC或GND,可以选择不同的I2C设备地址,从而允许在同一I2C总线上连接多个MPU6050模块而不会发生地址冲突 4、语音模块

    28910

    git中怎样忽略.idea文件和目录

    .gitignore文件是一个纯文本文件,它包含来自项目的所有指定文件和文件夹的列表,Git应该忽略和不跟踪这些文件和文件夹。...在.gitignore内部,您可以通过提到特定文件或文件夹的名称或模式,告诉Git只忽略单个文件或文件夹。您还可以使用相同的方法告诉Git忽略多个文件或文件夹。...你甚至可以有多个.gitignore文件。...出于安全原因,您可能不希望提交它们,或者因为它们对您来说是本地的,因此对于与您从事同一项目的其他开发人员来说是不必要的。 以下这些内容可能会包含在文件中: 操作系统文件。...这是一个用于保存和跟踪本地安装的每个包的依赖项的文件夹。 包含敏感数据和个人信息的文件。

    40010

    如何删除 git 仓库中的 .idea 文件?

    有时候新创建应用还没有添加 .gitignore 文件或者 .gitignore 内容设置的不正确,就导致 .idea 文件目录上传到了仓库(也可能是其他文件)。...删除项目重新 push(不推荐) 仓库里面的应用删除掉 本地应用中的 .git 文件删除掉 先添加 .gitignore 文件,然后 push 代码到仓库 这种方式比较适合在最开始的时候,如果有了很多...2. git 删除本地暂存区文件 修改 .gitignore 文件内容,添加 .idea 删除本地暂存区中的 .idea 文件 git rm --cached -r .idea 推到远端 git commit...-m 'delete .idea' git push 很多时候,只修改了 .gitignore,但是没有删除本地缓存中的 .idea 文件,总是觉得这个文件目录怎么每次都带上去,其实就是这个原因。...补充 关于 .gitignore 可以使用 IDEA 的插件 .ignore,可以在创建 .ignore 文件时勾选相关配置。 - -

    5K20

    Git 关于config文件的相关知识介绍和自定义Git

    通过git config --global 操作后的配置就是修改和存储在该文件中。 .git/config:当前仓库的通用配置。(这个文件在本地仓库项目的.git/config文件中)。...1.2 查找config 的配置文件 git可能安装在多个不同平台例如macOS,Linux等不同平台。那么我们如何知道每一种配置文件的路径呢?毕竟不同的操作系统它们的目录结构都不一样的。...小知识:q退出分页器,h显示帮助,b上一页,空格下一页 2.5 全局忽略配置 core.excludesfile 我们都知道,通过.gitignore文件可以配置忽略项。...我们可以将需要过滤的文件列一个清单例如: 然后配置:(具体的路径根据我们存储的gitignore实际地址决定) $ git config --global core.excludesfile ~/.gitignore...2.7 格式化换行符 core.autocrlf 主要针对不同操作系统,共同维护同一项目时,由于操作系统针对换行和空白符定义的不一致问题进行处理。

    1.3K30

    GIT 基本概念以及常用命令

    这是 Git 用来保存项目的元数据和对象数据库的地方,是 Git 最重要的部分,从其他计算机克隆仓库时,拷贝的就是这里的数据。...暂存区域:这个区域用来存储对当前已修改过并且作了版本标记的文件,在同一段时间内位于暂存区尚未提交的所有文件都属于同一个当前的版本,这些标记使得对应文件被包含在下次提交的快照中。...检查配置信息 $ git config --list 检查具体某一项的配置 $ git config user.name 获取帮助 $ git help config $ git help push 创建仓库...,比如上面的 .DS_Store ,此时就应该编写 .gitignore 文件来列出要 Git 仓库忽略的文件模式。...把所有文件都放到暂存区域,包括把一些不希望加入 Git 版本管理的日志文件等也放进去了,这个时候我们希望可以从暂存区域中删除这些不希望被管理的文件,但是使这些文件仍然被存放在工作目录上,而不被 Git

    45520

    Git忽略提交规则 .gitignore文件(上)

    这种方式通过在项目的某个文件夹下定义.gitignore文件,在该文件中定义相应的忽略规则,来管理当前文件夹下的文件的Git提交行为。....如: \*.log \*.temp /vendor 2)在Git项目的设置中指定排除文件 这种方式只是临时指定该项目的行为,需要编辑当前项目下的 .git/info/exclude文件,然后将需要忽略提交的文件写入其中...3)定义Git全局的 .gitignore 文件 除了可以在项目中定义 .gitignore 文件外,还可以设置全局的git .gitignore文件来管理所有Git项目的行为。...有时对于git项目下的某些文件,我们不需要纳入版本控制,比如日志文件或者IDE的配置文件,此时可以在项目的根目录下建立一个隐藏文件 .gitignore(linux下以.开头的文件都是隐藏文件),然后在....gitignore忽略规则的优先级 在 .gitingore 文件中,每一行指定一个忽略规则,Git检查忽略规则的时候有多个来源,它的优先级如下(由高到低): 1)从命令行中读取可用的忽略规则 2)当前目录定义的规则

    7K30

    【Git|GitHub|SSH|Sourcetree 上篇】Git环境搭建及核心概念学习

    Git 跟踪对开发人员代码库的更改,但有必要暂存更改并拍摄更改的快照,以将其包含在项目的历史记录中。 此命令执行暂存,即该两步过程的第一部分。...git pull 使用远程对应项的更新来更新本地开发线。 如果队友已向远程上的分支进行了提交,并且他们希望将这些更改反映到其本地环境中,则开发人员将使用此命令。...gitignore 文件是一个纯文本文件,它包含来自项目的所有指定文件和文件夹的列表,Git应该忽略和不跟踪这些文件和文件夹。...在 .gitignore 内部,您可以通过提到特定文件或文件夹的名称或模式,告诉Git只忽略单个文件或文件夹。您还可以使用相同的方法告诉Git忽略多个文件或文件夹。...配置语法: 以斜杠“/”开头表示目录; 以星号“*”通配多个字符; 以问号“?”通配单个字符; 以方括号“[]”包含单个字符的匹配列表; 以叹号“!”

    1.5K10

    【实践】GitLab入门指导使用教程

    中新建一个项目,此处新建测试用的项目是GitPro1 2)新建GitPro1项目的仓库 3)配置.gitignore来过滤不需要上传的文件 4)将项目Commit到本地仓库 5)修改文件后commit...3.相关的具体操作 1)在Eclipse中新建一个项目,此处新建测试用的项目是GitPro1 2)新建GitPro1项目的仓库 在项目上右键 -> Team ->Share Project -> Git...具体方法是在版本管理的根目录下(与.Git文件夹同级)创建一个 .gitignore(gitignore是隐藏文件,所以前面有个点) 右键工程->new file->输入.gitignore 生成.gitignore...4)将项目Commit到本地仓库 尝试提交GitPro1项目,右键->Team->Commit 提示验证信息,将自己用户名和邮箱填写进去,点OK. 下次就不需要填写了。 点击 Commit。...10)clone 在GitLab中已有项目 为演示,先删除刚刚在eclipse里创建的GitPro1项目 客户端Eclipse上,打开git Repositories视图。

    18.6K40

    Vue 框架学习系列二:Vue 3 项目结构解析

    项目根目录当你使用 Vue CLI 创建一个新的 Vue 3 项目时,你会得到一个包含多个文件和文件夹的目录结构。...# 其他可能的文件夹或文件 ├── .gitignore # Git忽略文件 ├── babel.config.js # Babel配置文件...在Vue Router中,你可以将不同的路由映射到不同的页面级组件上。.gitignore:这个文件用于指定Git在提交时需要忽略的文件或文件夹。...例如,node_modules/文件夹通常会被添加到.gitignore中,以避免将依赖包提交到版本控制系统中。package.json:这个文件是项目的配置文件,包含了项目的依赖、脚本等信息。...你可以在这个文件中对Vue CLI的默认配置进行覆盖和扩展,以满足项目的特定需求。总结了解Vue 3项目的结构是进行有效开发的基础。通过合理组织代码和文件,你可以提高项目的可维护性和可扩展性。

    30410

    你细品Git分区、配置与日志,不会就不要敲代码了

    作用 我们可以通过git提供的.gitignore文件配置不被git跟踪的文件。...❝.gtiignore文件非常重要,一般放在创建项目的根目录上。...配置技巧 其实我们不需要每次都手写一遍.gitignore文件,可以通过这个网站自动生成不同语言项目的忽略文件:「http://gitignore.io/」 ?....gitignore失效 「原因」:.gitignore只能忽略那些原来没有被追踪(untrack)的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。...总结 总体上来说,操作日志包含了修改日志和提交日志,是最全的git日志; 注意:不是通过git命令,而是手动修改文件,这些修改记录不会被git日志记录。所以,推荐使用git指令进行操作;

    74030

    如何优雅的玩转 Git

    既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?...hooks 目录:包含客户端或服务端的钩子脚本(hook scripts) info 目录:包含一个全局性排除(global exclude)文件, 用以放置那些不希望被记录在 .gitignore 文件中的忽略模式...工作区是对项目的某个版本独立提取出来的内容。 这些从 Git 仓库的压缩数据库中提取出来的文件,放在磁盘上供你使用或修改。...先来看下图中不好的 Commit message 范例,从提交信息完全看不出来修改了什么。 再来一张较好的 Commit message 范例,每次提交的是什么内容,做了什么一目了然。...# 同时提交代码到不同的远程仓库 如果,你在不同的 Git 远程仓库中维护同一个项目,你可能会有这样的需求:能不能一次提交,同时 push 到多个远程仓库中呢?

    1.5K30

    Git 和 GitHub:从入门到实践2 Git 和 GitHub 基础配置

    使用 Git 克隆远程仓库 当一个开发者刚进入某一项目,一般来说他所要做的第一件事是克隆远程仓库到本地,以进行本地开发工作。...某些项目中,可能会使用脚本或者 xsd schema 文件来生成代码;这类代码只需要将用于自动生成的脚本或者 schema 文件管理起来即可。 项目的配置文件。...同一项目组的不同开发者可能有不同的项目配置,或者配置中包含敏感信息,例如账号密码等,这类配置文件也应该放到 ignore 清单里。...我们可以在代码库的根目录或者任意子目录添加.gitignore 文件,特定目录下的.gitignore 文件使得忽略规则只在该目录及其子目录下有效。表 1 列出了常用的一些匹配模式的写法: 表 1....访问 GitHub gitignore 查看 GitHub 提供的 .gitignore 文件示例。

    65320

    每个开发人员都应该关注的7个优秀的GitHub仓库

    Git Ignore 6. System Design Primer 7. Coding Interview University GitHub是web上托管软件项目的主导者。...Build Your Own X 学习软件工程主题最有效的方法之一是动手创建它们。现在,创建数据库、操作系统或聊天机器人是一项相当艰巨的任务。...Git Ignore Git是现代软件开发中事实上的版本控制系统。如果您使用Git,Git会要求您将生成的文件夹(例如:build)添加到Git中,这通常会成为一个麻烦。...避免这种情况的一种方法是在项目中添加一个.gitignore文件。更聪明的方法是添加一个特定于项目的.gitignore文件。...这个GitHub仓库为几乎所有的用例提供了一个标准的.gitignore模板。

    37810

    .gitignore 不生效问题

    最近在做一个新项目的时候,发现项目的 build/ .idea/ gradle/ .gradle/ 会在被提交的时候也提交到 gitlab 仓库中去了。...的比较多) 被纳入git tree 管理 ---- 首先请阅读下面文档或者查看官方文档 下面规则和例子翻译自官网,(原地址:https://git-scm.com/docs/gitignore)...,用于否定模式;先前模式排除的所有匹配文件将再次包含在内。如果排除了该文件的父目录,则无法重新包含该文件。...由于性能原因,Git不会列出被排除的目录,因此所包含文件上的任何模式(无论它们在何处定义)都无效。对于以文字“ ” 开头的模式(例如“ \”),请在第一个“ !” 前面加上反斜杠(“ ”)。!!...尾部的“ /”与内部的所有内容匹配。例如,“ abc/”将目录“ abc” 内的所有文件(相对于.gitignore文件位置)以无限深度进行匹配。 斜杠后跟两个连续的星号,然后斜杠匹配零个或多个目录。

    3.6K21

    我看还有谁不动Git

    一、Git介绍 1.1、Git的作用 Git 是一个开源的分布式版本控制系统,用于管理一个或多个文件的整个历史记录。...大规模协作:Git 可以支持上千人同时协作开发同一项目,通过不同分支的合并和冲突解决保证项目的稳定性和质量。...这使得 Git 具有更强大的灵活性,尤其是对于跨越多个组织的团队来说,它可以更快地提交和合并代码。 Git 具有更快的性能,因为它包含一个高效的文件夹索引系统,只跟踪文件本身的变化,而不是整个文件夹。...这时可以使用 .gitignore 文件来告诉 Git 忽略这些文件或目录。 .gitignore 文件是一个文本文件,列出了 Git 应该忽略的文件或目录的规则。...需要注意的是,如果在 .gitignore 文件中忽略了某个文件或目录,那么 Git 将不会对其进行版本控制,也不会将其包含在提交中,因此需要确保 .gitignore 文件中的规则正确地列出了需要忽略的文件或目录

    1.6K20

    分布式版本控制系统Git

    简单说就是用于管理多人协同开发项目的技术。...项 Git Bash: Unix与Linux风格的命令行,使用最多,推荐最多 Git CMD: Windows风格的命令行 Git GUI: 图形界面的Git,不建议初学者使用,尽量先熟悉常用命令...其中HEAD指向最新放入仓库的版本 Directory使用Git管理的一个目录,也就是一个仓库 包含着: 工作区 和 git版本库 Directoryc 可以理解为一个普通的目录, 通过git...底层的默认对 提交 的文件进行 监听并会自动保存对应的版本号~ 可以在不同版本之间切换~ 如果一项目更新版本出现bug 为了方便使用, 可以直接回归上一个版本… # 版本回退、穿梭 git reset...使用.gitignore忽略文件 我们需要在项目的根目录当中创建.gitignore文件 使用.gitignore文件的方式很简单 .gitignore文件当中,一行代表一条忽略规则 如果是一个带“

    10910
    领券