【电子设计】按键LED控制与FreeRTOS

1. 安装Keilv5

打开野火资料,寻找软件包

解压后得到的信息

百度网盘 请输入提取码   提取码:gfpp

安装526或者533版本都可以

下载需要的 F1、F4、F7、H7 名字的 DFP pack 芯片包 安装完 keil 后直接双击安装

注册操作,解压注册文件夹后根据里面的图示步骤操作

打开说明

STM32用户选择下载MDK536

瑞萨用户选择下载更高版本MDK538A

安装完keil后关闭弹窗和整个keil 然后双击安装芯片包

注册相关请看KEIL注册压缩包内的图示操作

下载MDK536

等待ing……

安装成功!

2. 注册Keilv5

下载注册机(先关闭防火墙Windows系统如何关闭防火墙保姆式教程,超详细-CSDN博客)

以管理员身份运行Keil uVision5 ,打开

生成注册码注册

看到“步骤5” 的时候说明注册成功了。

3. 安装STM32芯片包

双击安装

安装成功之后,在KEIL5 的 Pack Installer 中就可以看到我们安装的包, 以后我们新建工程的时候,就有单片机的型号可选。

4. 用DAP仿真器下载程序

4.1. DAP仿真器简介

本书配套的仿真器为Fire-Debugger,遵循ARM公司的CMSIS-DAP标准,支持所有基于Cortex-M内核的单片机,常见的M3、M4和M7都可以完美支持。

Fire-Debugger支持下载和在线仿真程序,支持XP/WIN7/WIN8/WIN10这四个操作系统,免驱,不需要安装驱动即可使用,支持KEIL和IAR直接下载,非常方便。

4.2. USB线跟板子连接

4.3. 仿真器配置

在仿真器连接好电脑和开发板且开发板供电正常的情况下,打开编译软件KEIL,在魔术棒选项卡里面选择仿真器的型号,具体过程看图示:

Fire-Debugger遵循的是CMSIS-DAP标准,故选择CMSIS-DAP Debugger

选择默认配置的仿真器 

4.4. 选择目标板

选择Sectors擦除,如果选择Full Chip擦除则会非常慢。

勾选Reset and Run,则下载完程序会自动运行,不用手动复位。

4.5. 下载程序

如果前面步骤都成功了,接下来就可以把编译好的程序下载到开发板上运行。

要先点编译(Build),确认编译正确后再点击下载,下载程序不需要其他额外的软件,直接点击KEIL中的LOAD按钮即可。

5.  不依赖 FreeRTOS

5.1. 下载相应程序

 main.c

#include "stm32f10x.h"
#include "bsp_led.h"
#include "bsp_exti.h" int main(void)
{LED_GPIO_Config();EXTI_Key_Config(); while(1)                            {}
}

stm32f10x_it.c 

#include "stm32f10x_it.h"
#include "bsp_led.h"
#include "bsp_exti.h"void NMI_Handler(void)
{
}void HardFault_Handler(void)
{while (1){}
}void MemManage_Handler(void)
{while (1){}
}void BusFault_Handler(void)
{while (1){}
}void UsageFault_Handler(void)
{while (1){}
}void SVC_Handler(void)
{
}void DebugMon_Handler(void)
{
}void PendSV_Handler(void)
{
}void SysTick_Handler(void)
{
}void KEY1_IRQHandler(void)
{if(EXTI_GetITStatus(KEY1_INT_EXTI_LINE) != RESET) {	LED1_TOGGLE;EXTI_ClearITPendingBit(KEY1_INT_EXTI_LINE);     }  
}void KEY2_IRQHandler(void)
{if(EXTI_GetITStatus(KEY2_INT_EXTI_LINE) != RESET) {LED2_TOGGLE;EXTI_ClearITP

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/886530.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阅读2020-2023年《国外军用无人机装备技术发展综述》笔记_技术趋势

目录 文献基本信息 序言 1 发展概况 2 重点技术发展 2.1 人工智能技术 2.1.1 应用深化 2.1.2 作战效能提升 2.2 航空技术 2.2.1螺旋桨设计创新 2.2.2 发射回收技术进步 2.3 其他相关技术 2.3.1 远程控制技术探 2.3.2 云地控制平台应用 3 装备系统进展 3.1 无人作…

redis类型介绍

1. 字符串(String): • 简介:最基础的数据类型,可以存储任何形式的字符串,包括文本数据和数字数据。 • 常用操作:SET、GET、INCR、DECR等。 2. 列表(List): …

免费送源码:Java+Springboot+MySQL Springboot多租户博客网站的设计 计算机毕业设计原创定制

Springboot多租户博客网站的设计 摘 要 博客网站是当今网络的热点,博客技术的出现使得每个人可以零成本、零维护地创建自己的网络媒体,Blog站点所形成的网状结构促成了不同于以往社区的Blog文化,Blog技术缔造了“博客”文化。本文课题研究的“…

家政服务小程序,家政行业数字化发展下的优势

今年以来,家政市场需求持续增长,市场规模达到了万亿级别,家政服务行业成为了热门行业之一! 家政服务种类目前逐渐呈现了多样化,月嫂、保姆、做饭保洁、收纳、维修等家政种类不断出现,满足了居民日益增长的…

炼码LintCode--数据库题库(级别:简单;数量:55道)--刷题笔记_02

目录 炼码LintCode--数据库题库(级别:简单;数量:55道)--刷题笔记_023618 耗时前三的任务(日期差)题:sql:解释:DATEDIFF 天数差order by 别名TIMESTAMPDIFF 月…

正则表达式那些事儿

目录 1.正则表达式中的模糊匹配符1.1点"."1.2星号"*"1.3问号"?"1.4 d 当处理文本需要匹配特定的字符串的时候,我们需要使用正则表达式。 1.正则表达式中的模糊匹配符 有很多字符是正则表达式中的特殊用途字符,不能直接用…

如何使用正则表达式验证域名

下面是一篇关于如何使用正则表达式验证域名的教程。 如何使用正则表达式验证域名 简介 域名是互联网上网站的地址,每个域名由多个标签(label)组成,标签之间用点 . 分隔。域名规则有很多细节,但基本要求是&#xff1a…

猫狗识别之BUG汇总

一、github登不上去问题 下载watt toolkit 下载地址:https://steampp.net/ 可以下载后加速,访问github 二、猫狗总体参考核心 B哥的博客 https://github.com/bubbliiiing/classification-keras?tabreadme-ov-file 三、CSDN很多会员才能阅读问题 根据…

Failed to create a temp file - Jenkins 无法创建任务

近日,突然发现任务集群的jenkins异常退出了,没有任何的迹象。后来排查到jenkins的job的日志后,找到了以下错误日志。 Started by user unknown or anonymous Running as SYSTEM Building in workspace /Users/xxxxx/work/jenkins2/jenkins_h…

【C++】list 与 string 基础与实现字符串操作

【C】使用 list 与 string 实现基础字符串操作 文章目录 一、字符串的基础操作1.1 - startsWith1.2 - endsWith1.3 - trim1.4 - indexOf1.5 - replaceAll 二、list 基础操作2.1 - 遍历2.1.1 - 使用迭代器访问2.1.2 - 使用基于范围的 for 循环遍历2.1.3 - 使用标准算法库遍历 2.…

CI/CD认识

CI/CD 是 Continuous Integration(持续集成) 和 Continuous Delivery/Deployment(持续交付/部署) 的缩写,是一种软件开发和运维实践,旨在通过自动化和持续迭代来提高开发效率、代码质量以及交付速度。 CI&…

Git主干分支master开发优缺点

优缺点 主干开发:是指开发人员直接向主干(习惯上主干分支通常为:main或master)提交/推送代码。通常开发团队的成员1天至少一次地将代码提交到主干分支,在到达发布条件时,从主干拉出发布分支通常为&#xf…

药典新篇:Spring Boot助力中药实验管理

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理中药实验管理系统的相关信息成为必然。开发…

使用 Python 和 Py2Neo 构建 Neo4j 管理脚本

Neo4j 是一个强大的图数据库,适合处理复杂的关系型数据。借助 Python 的 py2neo 库,我们可以快速实现对 Neo4j 数据库的管理和操作。本文介绍一个功能丰富的 Python 脚本,帮助用户轻松管理 Neo4j 数据库,包含启动/停止服务、清空数…

举例通俗易懂地理解数据结构

以下是几个数据结构的基础讲解&#xff1a; 1. 数组 (Array) 数组是最简单、最常用的数据结构。它在内存中分配一块连续的空间&#xff0c;并且所有元素的类型相同。 C语言示例&#xff1a; #include <stdio.h>int main() {int arr[5] {10, 20, 30, 40, 50};// 访问数…

Apache Doris:深度优化与最佳实践

引言 在前两篇文章中&#xff0c;我们已经介绍了 Apache Doris 的基本概念、安装配置、基础操作以及一些高级特性。本文将进一步深入探讨 Doris 的性能优化技巧、高级查询优化、数据建模最佳实践以及常见问题的解决方法。通过本文&#xff0c;读者将能够更好地理解和应用 Dori…

MATLAB 使用教程 —— 命令窗口输入命令,工作区显示变量

命令在命令窗口输入变量在工作区显示 MATLAB 桌面包含的面板如下&#xff1a; 当前文件夹 - 此面板允许访问项目文件夹和文件。命令窗口 - 这是主要区域&#xff0c;用户在命令行中输入命令&#xff0c;命令提示符(>>).工作区 - 工作区显示所有变量&#xff0c;无论是创…

nodejs入门(1):nodejs的前后端分离

一、引言 我关注nodejs还是从前几年做了的一个电力大数据展示系统开始的&#xff0c;当然&#xff0c;我肯定是很多年的计算机基础的&#xff0c;万变不离其宗。 现在web网站都流行所谓的前后端结构&#xff0c;不知不觉我也开始受到这个影响&#xff0c;以前都是前端直接操作…

前端开发之打印功的使用和实例(vue-print-nb)

通过插件来进行实现 前言效果图1、安装插件vue2vue32、 引入Vue项目2、 使用2.1、在项目中创建按钮并且使用v-print绑定绑定打印事件2.2、编写要打印的内容,给内容附加唯一的id2.3、绑定的时间的方法和参数3、整体代码(此代码是通过vue3来进行实现的但是逻辑都是一样的)前言…

一文简单了解Android中的input流程

在 Android 中&#xff0c;输入事件&#xff08;例如触摸、按键&#xff09;从硬件传递到应用程序并最终由应用层消费。整个过程涉及多个系统层次&#xff0c;包括硬件层、Linux 内核、Native 层、Framework 层和应用层。我们将深入解析这一流程&#xff0c;并结合代码逐步了解…