01_YS_LED_USART1_KEY_Test_Demo

news2024/11/18 7:34:55

1.硬件设计参考图

参考:00_YS_硬件电路图_往事不可追_来日不方长的博客-CSDN博客

2.配置LED

2.1代码部分

代码初始化部分如下图MX自动生成:

// main.h 中

/* Private defines -----------------------------------------------------------*/
#define LED_02_Pin GPIO_PIN_5
#define LED_02_GPIO_Port GPIOE
#define LED_03_Pin GPIO_PIN_6
#define LED_03_GPIO_Port GPIOE
#define LED_01_Pin GPIO_PIN_9
#define LED_01_GPIO_Port GPIOH

/* USER CODE BEGIN Private defines */
#define	LED1_TOGGLE		HAL_GPIO_TogglePin(LED_01_GPIO_Port, LED_01_Pin)
#define	LED2_TOGGLE		HAL_GPIO_TogglePin(LED_02_GPIO_Port, LED_02_Pin)
#define	LED3_TOGGLE		HAL_GPIO_TogglePin(LED_03_GPIO_Port, LED_03_Pin)
/* USER CODE END Private defines */
/** Configure pins as
        * Analog
        * Input
        * Output
        * EVENT_OUT
        * EXTI
*/
void MX_GPIO_Init(void)
{

  GPIO_InitTypeDef GPIO_InitStruct = {0};

  /* GPIO Ports Clock Enable */
  __HAL_RCC_GPIOE_CLK_ENABLE();
  __HAL_RCC_GPIOH_CLK_ENABLE();
  __HAL_RCC_GPIOA_CLK_ENABLE();
  __HAL_RCC_GPIOB_CLK_ENABLE();

  /*Configure GPIO pin Output Level */
  HAL_GPIO_WritePin(GPIOE, LED_02_Pin|LED_03_Pin, GPIO_PIN_RESET);

  /*Configure GPIO pin Output Level */
  HAL_GPIO_WritePin(LED_01_GPIO_Port, LED_01_Pin, GPIO_PIN_RESET);

  /*Configure GPIO pins : PEPin PEPin */
  GPIO_InitStruct.Pin = LED_02_Pin|LED_03_Pin;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);

  /*Configure GPIO pin : PtPin */
  GPIO_InitStruct.Pin = LED_01_Pin;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  HAL_GPIO_Init(LED_01_GPIO_Port, &GPIO_InitStruct);

}

3.配置USART1

 

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

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

相关文章

Wordcloud | 风中有朵雨做的‘词云‘哦!~

1写在前面 今天可算把key搞好了,不得不说🏥里手握生杀大权的人,都在自己的能力范围内尽可能的难为你。😂 我等小大夫也是很无奈,毕竟奔波霸、霸波奔是要去抓唐僧的。 🤐 好吧,今天是词云&#x…

Vue3 Router路由单页面跳转简单应用

去官网学习→介绍 | Vue Router cd 到项目 安装 Router &#xff1a; cnpm install --save vue-router 或着 创建项目时勾选Router vue create vue-demo <i> to invert selection, and <enter> to proceed)(*) Babel( ) TypeScript(*) Progressive Web …

《vue3实战》运用radio单选按钮或Checkbox复选框实现单选多选的试卷制作

文章目录 目录 系列文章目录 1.《Vue3实战》使用axios获取文件数据以及走马灯Element plus的运用 2.《Vue3实战》用路由实现跳转登录、退出登录以及路由全局守护 3.《vue3实战》运用Checkbox复选框实现单选多选的试卷展现&#xff08;本文&#xff09; 文章目录 前言 radio是什…

【探索Linux】—— 强大的命令行工具 P.3(Linux开发工具 vim)

阅读导航 前言vim简介概念特点 vim的相关指令vim命令模式(Normal mode)相关指令插入模式(Insert mode)相关指令末行模式(last line mode)相关指令 简单vim配置&#xff08;附配置链接&#xff09;温馨提示 前言 前面我们讲了C语言的基础知识&#xff0c;也了解了一些数据结构&…

observer与qt信号槽的区别

observer类图(应用) 定义/区别/注意事项 点击截图后可放大显示,也可图片另存为&#xff0c;这个技术讨论是来接受批评的。 参考&#xff1a;

专访 BlockPI:共建账户抽象未来的新一代 RPC 基础设施

在传统 RPC 服务板块上&#xff0c;开发者一直饱受故障风险、运行环境混乱等难题的折磨。实现 RPC 服务的去中心化&#xff0c;且保持成本优势和可扩展性&#xff0c;始终是区块链基础设施建设的重要命题之一。从 2018 年观察中心化 RPC 供应商服务现状开始&#xff0c;BlockPI…

设计模式之构建器(Builder)C++实现

构建器提出 在软件功能开发中&#xff0c;有时面临“一个复杂对象”的创建工作&#xff0c;该对象的每个功能接口由于需求的变化&#xff0c;会使每个功能接口发生变化&#xff0c;但是该对象使用每个功能实现一个接口的流程是稳定的。构建器就是解决该类现象的。构建就是定义…

C语言好题解析(一)

目录 选择题1选择题2选择题3选择题4编程题一 选择题1 执行下面程序&#xff0c;正确的输出是&#xff08; &#xff09;int x 5, y 7; void swap() {int z;z x;x y;y z; } int main() {int x 3, y 8;swap();printf("%d,%d\n",x, y);return 0; }A: 5,7 B: …

CSRF

CSRF CSRF&#xff0c;跨站域请求伪造&#xff0c;通常攻击者会伪造一个场景&#xff08;例如一条链接&#xff09;&#xff0c;来诱使用户点击&#xff0c;用户一旦点击&#xff0c;黑客的攻击目的也就达到了&#xff0c;他可以盗用你的身份&#xff0c;以你的名义发送恶意请…

基于深度学习的指针式仪表倾斜校正方法——论文解读

中文论文题目:基于深度学习的指针式仪表倾斜校正方法 英文论文题目&#xff1a;Tilt Correction Method of Pointer Meter Based on Deep Learning 周登科、杨颖、朱杰、王库.基于深度学习的指针式仪表倾斜校正方法[J].计算机辅助设计与图形学学报, 2020, 32(12):9.DOI:10.3724…

web前端开发基础入门html5+css3+js学习笔记(一)

目录 1.第一个前端程序2.前端工具的选择与安装3.VSCode开发者工具快捷键4.HTML5简介与基础骨架4.1 HTML5的DOCTYPE声明4.2 HTML5基本骨架4.2.1 html标签4.2.2 head标签4.2.3 body标签4.2.4 title标签4.2.5 meta标签 5.标签之标题5.1 快捷键5.1 标题标签位置摆放 6.标签之段落、…

商城系统搭建,选择SaaS模式还是源码模式?

当今互联网时代&#xff0c;电子商务已成为商业发展的重要方向之一。搭建一个高效、可靠的商城系统是企业成功的关键之一。然而&#xff0c;在选择商城系统时&#xff0c;很多企业面临一个重要的决策&#xff1a;是选择SaaS&#xff08;软件即服务&#xff09;模式还是购买源码…

无涯教程-Perl - symlink函数

描述 此函数在OLDFILE和NEWFILE之间创建符号链接。在不支持符号链接的系统上,会导致致命错误。 语法 以下是此函数的简单语法- symlink ( OLDFILE, NEWFILE )返回值 如果失败,此函数返回0,如果成功,则返回1。 例 以下是显示其基本用法的示例代码,首先在/tmp目录中创建一…

Leetcode-每日一题【剑指 Offer 32 - II. 从上到下打印二叉树 II】

题目 从上到下按层打印二叉树&#xff0c;同一层的节点按从左到右的顺序打印&#xff0c;每一层打印到一行。 例如: 给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其层次遍历结果&#xff1a; [ [3], [9,20], [15,7] ] 提示&#xff…

vue3拖拽排序使用Sortable,获取拖拽排序之后的数据

1.安装Sortable npm install sortablejs 2.导入 import Sortable from sortablejs 3.使用 // html<div id"example" class"list-group"><template v-for"(element, index) in 6" :key"index"><div>item{{index …

读完这篇文章,妥妥拿下springboot+jsp+vue+easyui架构项目

概念 Spring Boot是一个快速构建基于Java的Web应用程序的框架。它提供了简化开发流程的特性&#xff0c;如自动配置和内置的嵌入式服务器。 JSP&#xff08;Java Server Pages&#xff09;是一种基于Java的服务器端技术&#xff0c;用于动态生成HTML页面。在Spring Boot中&…

100个网络知识,懂一半绝对高手!

中午好&#xff0c;我的网工朋友。 咱网工找工作的时候&#xff0c;招聘岗位上&#xff0c;都会有好几个大差不差的指标。 比如说&#xff0c;相关专业、啥等级的厂商证书&#xff0c;又或是熟悉网络基础知识等等&#xff0c;对吧。 那这个网络基础知识&#xff0c;就很灵性了…

飞腾架构麒麟V10安装达梦数据库客户端

目录 前言1.下载2.检查安装环境2.1 检查操作系统限制2.2 检查系统内存与存储空间 3.安装4.打开数据库管理工具5.总结 前言 本文主要介绍在飞腾架构麒麟V10桌面系统下如何安装达梦数据库客户端。参照安装手册安装的时候遇到了一些问题特意记录在此&#xff0c;希望能为遇到类似…

ubuntun 18.04设为静态ip(.net模式,可连接外网)

ubuntun 18.04设为静态ip&#xff08;.net模式&#xff0c;可连接外网&#xff09; ubuntun设置 进入到网络配置文件中 sudo vim /etc/netplan/01-network-manager-all.yaml修改配置文件如下 注意制表符&#xff08;格式&#xff09;&#xff0c;其中addresses为要设定的固定…

42个人工智能机器学习数据集推荐

为成功推出人工智能&#xff08;AI&#xff09;项目&#xff0c;许多公司正在转向采用外部数据集。当今时代&#xff0c;寻找数据集比以往任何时候都要容易&#xff0c;数据集对机器学习模型的性能也日益重要。有许多站点都托管数据存储库&#xff0c;涵盖主题广泛&#xff0c;…