当前位置: 首页 > news >正文

【电子设计】按键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.mrgr.cn/news/75258.html

相关文章:

  • 探索Python的HTTP利器:Requests库的神秘面纱
  • 7.4、实验四:RIPv2 认证和触发式更新
  • VMware和CentOS 7.6 Linux操作系统的安装使用
  • 升级浏览器
  • Llama架构及代码详解
  • MyBatis从入门到进阶
  • NGUI————按钮练习题
  • Towards Reasoning in Large Language Models: A Survey
  • Spring加载流程,Springboot自动装配原理
  • android开发
  • exo - 使用日常设备运行AI集群
  • 2024年09月CCF-GESP编程能力等级认证Python编程一级真题解析
  • 微信小程序-prettier 格式化
  • Diffusion Policy——斯坦福机器人UMI所用的扩散策略:从原理到其编码实现(含Diff-Control、ControlNet详解)
  • leetcode hot100【LeetCode 105.从前序与中序遍历序列构造二叉树】java实现
  • Web性能优化:从基础到高级
  • 二叉树的遍历(手动)
  • 一文了解Android的核心系统服务
  • 不宽的宽字符
  • 面试中如何回答“怎样实现 RPC 框架”的问题?
  • 高效的 JSON 处理库 json.cpp
  • ubuntu里面的gcc编译方法
  • 三维测量与建模笔记 - 特征提取与匹配 - 4.2 梯度算子、Canny边缘检测、霍夫变换直线检测
  • 使用SimpleDateFormat的踩坑指南
  • 如何让 ChatGPT 像人类一样书写:4个步骤让你的内容栩栩如生!
  • 探索Google Earth Engine:利用MODIS数据和R语言进行2000-2021年遥感生态指数(RSEI)的时空趋势分析