Keil笔记(缘更)
Keil
- 一、使用Keil时可能会出现的问题
- 1.Project框不见了
- 2.添加文件时找不到
- 3.交换文件位置
- 4.main.c测试报1 warning
- 5.搜索Ctrl+F
- 二、模电常识(白话随便版)
- 一、名词解释
- 二、基础门电路
- 三、STLINK点灯操作
- 1.配置寄存器进行点灯
- 2.使用库函数进行点灯
- 四.GPIO
- 1.LED闪烁
- 4.按键控制LED
- 注:
一、使用Keil时可能会出现的问题
1.Project框不见了
view->Project Window

2.添加文件时找不到
原因:文件类型忘记选择All files

3.交换文件位置
当经常使用的文件,排在后面,不方便使用,可以用这个调整文件位置。(点击魔术棒旁边哪个三色图形)

4.main.c测试报1 warning
原因:last line of file ends without a newline。
没有如图的第10行,记得空一行。(文件最后多一个回车就行)
如果改完后没效果,需要重新打开一下main.c。

下次打开文件,还是报错,将代码对齐一下后就好了。(上图main函数整体往后了一格)

5.搜索Ctrl+F
鼠标点击要搜索的函数—》Ctrl+F

二、模电常识(白话随便版)
一、名词解释
(1)VCC: 正
(2)GND: 负/接地
(3)GPIO: 引脚
(4)Set: 高电平
(5)ReSet: 低电平
(6)
无符号字符型:Unsigned char 。HAL库符号:Uint8_t。范围:255
无符号整型:Unsigned int。HAL:Uint16_t。范围:65535
无符号长整形:Unsigned long 。HAL:Uint32_t。范围:2^32-1
(7)
// mos管(电压)
三极管(电流):
pnp:低电压导通,emitter箭头指向Base.
npn:高电压导通,Base—>Emitter
(8)比较器(运放): 通过比较输入信号的电压大小来产生输出信号。
(9)双稳态触发器: 是一种具有记忆功能的逻辑单元电路。它能储存一位二进制码。它有两个稳定的工作状态,在外加信号触发下电路可从一种稳定的工作状态转换到另一种稳定的工作状态。
(10)ne555: 通用时基电路。通过改变外部电容器和电阻的数值来控制周期(T=0.693(Ra+2Rb)C)和占空比( D=(Ra+Rb)/(Ra+2xRb) ),实现各种脉冲波形的产生。
频率F=1/T。
(11)PCB: 印刷电路板
二、基础门电路
1.原理图:

软件:嘉立创EDA
(2)连线尽量不走直角

三、STLINK点灯操作
1.配置寄存器进行点灯
#include "stm32f10x.h" // Device header
int main(void)
{//配置寄存器进行点灯(需要查手册,)RCC->APB2ENR=0x00000010;//打开GPIOC时钟GPIOC->CRH=0x00300000;//PC13口的模式GPIOC->ODR=0x00002000;//输出数据:全零(亮),2(灭)while(1){}
}
2.使用库函数进行点灯
#include "stm32f10x.h" // Device header
int main(void)
{//使用库函数进行点灯//1.配置外设时钟//可以右键-》GO To Definition...查看定义RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOF,ENABLE);//2.配置端口模式//结构体GPIO_InitTypeDef CPIO_InitStructure;CPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//模式CPIO_InitStructure.GPIO_Pin=GPIO_Pin_13;//端口CPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//速度GPIO_Init(GPIOC,&CPIO_InitStructure);//3.设置端口高低电平(二选一进行测试)GPIO_SetBits(GPIOC,GPIO_Pin_13);//高电平(灭)GPIO_ResetBits(GPIOC,GPIO_Pin_13);//低电平(亮)while(1){}
}
四.GPIO
(1)General PurPose Input Output:通用输入输出口。
(2)引脚电平:0V~3.3V。
1.LED闪烁

相关的用法:
//将指定端口设置为高电平void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);//将指定端口设置为低电平void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);//根据第三个参数的值设置指定端口void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal);//可以同时对16个端口进行写入操作void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);
代码:
#include "stm32f10x.h" // Device header
#include "Delay.h"
int main(void)
{//RCC中APB2外设时钟控制函数(右键可看参数)RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//推挽输出GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;//引脚GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//速度GPIO_Init(GPIOA,&GPIO_InitStructure);//GPIO_SetBits(GPIOA,GPIO_Pin_0);//GPIO_ResetBits(GPIOA,GPIO_Pin_0);//GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_RESET);//LED亮//GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_SET);//LED灭while(1){//方法2GPIO_ResetBits(GPIOA,GPIO_Pin_0);Delay_ms(500);GPIO_SetBits(GPIOA,GPIO_Pin_0);Delay_ms(500);//方法1.2GPIO_WriteBit(GPIOA,GPIO_Pin_0,(BitAction)0);Delay_ms(500);GPIO_WriteBit(GPIOA,GPIO_Pin_0,(BitAction)1);Delay_ms(500);//方法1GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_RESET);Delay_ms(500);//毫秒延时函数:Delay文件中GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_SET);Delay_ms(500);}
}
补充:
(1)复用推挽输出:由片上外设控制,高电平接VDD,低电平接VSS。
(2)复用开漏输出:由片上外设控制,高电平为高组态,低电平接VSS。
4.按键控制LED
(1)用法:
读取按键值:
//用来读取输入数据寄存器某一个端口的输入值(返回值代表这个端口的高低电平)uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);//用来读取整个输入寄存器(唯一参数用来指定外设)uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx);//用来读取输出数据寄存器某一个位uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);//用来读取整个输出寄存器uint16_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx);
注:
内容来自b站STM32入门教程-江协科技,黑马程序员,百度。
b站有视频,还有江协科技博主分享的全套资料,感兴趣可以去b站学习。
相关文章:
Keil笔记(缘更)
Keil 一、使用Keil时可能会出现的问题1.Project框不见了2.添加文件时找不到3.交换文件位置4.main.c测试报1 warning5.搜索CtrlF 二、模电常识(白话随便版)一、名词解释二、基础门电路 三、STLINK点灯操作1.配置寄存器进行点灯2.使用库函数进行点灯 四.GPIO1.LED闪烁4.按键控制L…...
举4例说明Python如何使用正则表达式分割字符串
在Python中,你可以使用re模块的split()函数来根据正则表达式分割字符串。这个函数的工作原理类似于Python内置的str.split()方法,但它允许你使用正则表达式作为分隔符。 示例 1: 使用单个字符作为分隔符 假设你有一个由逗号分隔的字符串,你可…...
Java 中的 Math. round(-1. 5) 等于多少?
在 Java 中,Math.round() 方法用于四舍五入一个浮点数。这个方法的工作原理是,它会查看要舍入数值的小数点后第一位。如果这一位是 5 或更大,那么整数部分加 1;如果小于 5,整数部分保持不变。 对于 Math.round(-1.5)&…...
MFC界面美化第三篇----自绘按钮(重绘按钮)
1.前言 最近发现读者对我的mfc美化的专栏比较感兴趣,因此在这里进行续写,这里我会计划写几个连续的篇章,包括对MFC按钮的美化,菜单栏的美化,标题栏的美化,list列表的美化,直到最后形成一个完整…...
设计模式|工厂模式
文章目录 1. 工厂模式的三种实现2. 简单工厂模式和工厂方法模式示例3. 抽象工厂模式示例4. 工厂模式与多态的关系5. 工程模式与策略模式的关系6. 面试中可能遇到的问题6.1 **工厂模式的概念是什么?**6.2 **工厂模式解决了什么问题?**6.3 **工厂模式的优点…...
CHAT~(持续更新)
CHAT(持续更新) 实现一个ChatGPT创建API设计页面布局业务操作技术架构 实现安装工具 其他 实现一个ChatGPT 创建API 最简单也最需要信息的一步 继续往下做的前提 此处省略,想要获取接口创建方式联系 设计 页面布局 按照官网布局 业务操作…...
linux系统------------Mysql数据库介绍、编译安装
目录 一、数据库基本概念 1.1数据(Data) 1.2表 1.3数据库 1.4数据库管理系统(DBMS) 数据库管理系统DBMS原理 1.5数据库系统(DBS) 二、数据库发展史 1、第一代数据库 2、第二代数据库 3、第三代数据库 三、关系型数据库 3.1关系型数据库应用 3.2主流的…...
文件操作3
随机读写数据文件 一、随机读写原理 在我们写数据时,有一个光标不断的在随着新写入的数据往后移动; 而读数据时,也有一个看不见光标,随着已经读完的数据,往后移动 这里的文件读写位置标记——可以想象成图形界面里的…...
算法D57 | 动态规划17 | 647. 回文子串 516.最长回文子序列 动态规划总结篇
647. 回文子串 动态规划解决的经典题目,如果没接触过的话,别硬想 直接看题解。 代码随想录 Python: class Solution:def countSubstrings(self, s: str) -> int:n len(s)dp [[0]*n for _ in range(n)]dp[0] [1]*nresult nfor i in range(1, n)…...
go的限流
背景 服务请求下游,oom,排查下来发现是一个下游组件qps陡增导致 但是司内网络框架比较挫,竟然不负责框架内存问题(有内存管理模块,但逻辑又是无限制使用内存) 每个请求一个r、w buffer,请求无限…...
补充--广义表学习
第一章 逻辑结构 (1)A(),A是一个空表,长度为0,深度为1。 (2)B(d,e),B的元素全是原子,d和e,长度为2,深度为1。 (3)C(b,(c,…...
【笔记】KaiOS SPN显示逻辑
更新流程code 1、gonk/dom/system/gonk/radio/RadioInterfaceLayer.jsm handleNetworkStateChanged -> requestNetworkInfo() -> handleRilResponse的getOperator -> handleOperator handleNetworkStateChanged:网络状态变化请求网络信息 this.requestNetworkInfo…...
Visual Basic6.0零基础教学(4)—编码基础,数据类型与变量
编码基础,数据类型与变量 文章目录 编码基础,数据类型与变量前言一、VB中的编程基础二、VB的基本字符集和词汇集1、字符集2、词汇集 VB中的数据类型VB中的变量与常量一.变量和常量的命名规则二.变量声明1.用Dim语句显式声明变量三. 常量 运算符和表达式一. 运算符 1. 算术运算符…...
VPCFormer:一个基于transformer的多视角指静脉识别模型和一个新基准
文章目录 VPCFormer:一个基于transformer的多视角指静脉识别模型和一个新基准总结摘要介绍相关工作单视角指静脉识别多视角指静脉识别Transformer 数据库基本信息 方法总体结构静脉掩膜生成VPC编码器视角内相关性的提取视角间相关关系提取输出融合IFFN近邻感知模块(NPM) patch嵌…...
Android 图形渲染和显示系统关系
SurfaceFlinger:作为 Android 系统中的一个系统服务,SurfaceFlinger 负责管理整个屏幕的渲染和合成工作。它管理和合成多个 Surface,并与硬件加速器以及 Hardware Composer (HWC) 进行交互,最终将图像数据发送给显示硬件进行显示。…...
3.C++:类与对象(下)
一、再谈构造函数 1.1构造函数体赋值 在创建对象时,编译器通过调用构造函数,给对象中各个成员变量一个合适的初始值。 class Date { public:Date(int year, int month, int day){_year year;_month month;_day day;}private:int _year;int _month;i…...
iOS开发之SwiftUI
iOS开发之SwiftUI 在iOS开发中SwiftUI与Objective-C和Swift不同,它采用了声明式语法,相对而言SwiftUI声明式语法简化了界面开发过程,减少了代码量。 由于SwiftUI是Apple推出的界面开发框架,从iOS13开始引入,Apple使用…...
2024-简单点-pandas
pandas pandas to numpy 尽量不用.values提取数据 numexpr 和 bottleneck加速 布尔操作 describe 自定义describe .pipe df.apply 行或者列级别函数级别应用...
面试笔记——Redis(双写一致、持久化)
双写一致 双写一致性: 当修改了数据库中的数据,也要更新缓存的数据,使缓存和数据库中的数据保持一致。 相关问题:使用Redis作为缓存,mysql的数据如何与Redis进行同步?——双写一致性问题 回答时࿰…...
【漏洞复现】科立讯通信指挥调度平台editemedia.php sql注入漏洞
漏洞描述 在20240318之前的福建科立讯通信指挥调度平台中发现了一个漏洞。该漏洞被归类为关键级别,影响文件/api/client/editemedia.php的未知部分。通过操纵参数number/enterprise_uuid可导致SQL注入。攻击可能会远程发起。 免责声明 技术文章仅供参考,任何个人和组织使…...
无声输入革命:如何用Chaplin在5分钟内构建本地唇语识别系统
无声输入革命:如何用Chaplin在5分钟内构建本地唇语识别系统 【免费下载链接】chaplin A real-time silent speech recognition tool. 项目地址: https://gitcode.com/gh_mirrors/chapl/chaplin 在嘈杂的办公室、安静的图书馆,或是需要绝对隐私的医…...
基于Shapley值与随机森林的印度CPI通胀预测与特征重要性分析
1. 项目概述与核心价值在宏观经济预测领域,通胀预测的准确性直接关系到货币政策制定、市场预期管理乃至社会民生稳定。传统的计量经济学模型,如基于菲利普斯曲线的线性回归,虽然具有良好的可解释性,但在捕捉现实世界中复杂、非线性…...
LLM驱动的高性能计算日志解析技术实践
1. 项目概述:LLM驱动的HPC日志解析革命高性能计算(HPC)系统如同数字世界的巨型望远镜,每天产生PB级的观测数据——系统日志。这些日志记录了从硬件底层到应用层的所有活动,但它们的价值长期被埋没在非结构化文本的泥沼中。传统日志解析方法就…...
终极指南:5步精通开源网页版三国杀无名杀
终极指南:5步精通开源网页版三国杀无名杀 【免费下载链接】noname 项目地址: https://gitcode.com/GitHub_Trending/no/noname 想要随时随地畅玩经典的三国杀卡牌游戏吗?无名杀作为当前最受欢迎的开源网页版三国杀,让你无需下载客户端…...
3PEAK思瑞浦 TPA6532-VS1R MSOP8 运算放大器
特性 供电电压:1.75伏至5.5伏 偏移电压:土1.5mV(最大) 通用峰值电压:300kHz,斜率:0.15V/us 轨到轨输入和输出 0.1Hz至10Hz电压噪声:1Vpp 开机和关机电流期间无明显输出抖动 低功耗:每通道最大25安培工作温度范围:-40C至125C...
Unity URP下缺失的MipMap可视化?手把手教你用Rendering Debugger和自定义Shader搞定
Unity URP下实现MipMap可视化的专业解决方案在Unity的URP(Universal Render Pipeline)环境中,纹理MipMap的调试一直是开发者面临的痛点。与Built-in管线不同,URP默认不提供直观的MipMap级别可视化工具,这使得性能优化过…...
Python调用WebAssembly破解APP签名算法实战
1. 这不是“调用JS”,而是把WebAssembly当真实CPU来调试你有没有遇到过这样的情况:抓包看到某资讯APP的请求里,sign参数像雪花一样每秒变一个,长度固定32位,全是小写字母加数字;Fiddler里点开响应ÿ…...
3步实现网易云音乐插件管理,让你的音乐体验焕然一新
3步实现网易云音乐插件管理,让你的音乐体验焕然一新 【免费下载链接】BetterNCM-Installer 一键安装 Better 系软件 项目地址: https://gitcode.com/gh_mirrors/be/BetterNCM-Installer 还在为网易云音乐功能单一而烦恼吗?是否曾想过让音乐播放器…...
CNN 卷积神经网络面试全集|卷积、池化、感受野
前言 计算机视觉算法岗必考核心就是 CNN,从基础卷积运算、池化操作,到经典网络结构、感受野、参数量计算全是高频考题。本文整理最全 CNN 面试精简答案,条理清晰直接背诵,视觉方向面试稳稳通关。 一、CNN 整体三大核心结构 卷积层:提取局部纹理、边缘、形状等空间特征 池…...
XUnity.AutoTranslator:为Unity游戏注入多语言灵魂的智能翻译引擎
XUnity.AutoTranslator:为Unity游戏注入多语言灵魂的智能翻译引擎 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 你是否曾经因为语言障碍而错过了一款优秀的日本独立游戏?是否在欧…...
