1. STM32 环境搭建 + STM32 新建工程 + Yinyuer(ZCY) 的 STM32 寄存器首次点灯
1. STM32 环境搭建 + STM32 新建工程 + Yinyuer(ZCY) 的 STM32 寄存器首次点灯
- STM32 环境搭建
- 安装 keil5
- 下载安装芯片包
- 百度网盘
- 官网下载
- 安装芯片包
- STM32 新建工程
- Yinyuer(ZCY) 的 STM32 寄存器首次点灯
- 一、看 STM32 原理图,找到 LED 灯 和 相关寄存器 参数
- 1. 启动控制 GPIOC13 的时钟
- 2. 将 GPIOC13 配置成输出模式
- 3. 让 GPIOC13 引脚输出低电平
- 二、整合代码
- 三、烧写程序
- 四、点灯成功
STM32 环境搭建
安装 keil5
百度网盘
提取码:v2lp
注意:安装路径不能出现中文
下载安装芯片包
百度网盘
STM32F1xx_DFP.1.0.5.pack
提取码:ot7h
STM32F4xx_DFP.1.0.8.pack
提取码:di7e
官网下载
找到自己需要的型号
安装芯片包
注意:安装路径不能出现中文
STM32 新建工程
- 创建新工程
- 选择对应的芯片
- 在目录底下创建 main.c 文件,加入 main.c 文件
- 将启动文件复制到目录,添加启动文件
- 定义声明 SystemInit 函数
注意:main 函数最后一个大括号要空一行,否则会报错
- 编译
0 错误,0警告 good!!!
Yinyuer(ZCY) 的 STM32 寄存器首次点灯
一、看 STM32 原理图,找到 LED 灯 和 相关寄存器 参数
D1 直接接 GND,有电源,D1 就会亮
D2 接 GPIOC13 输出低电平,就能点亮
那么我们得让
- 启动控制 GPIOC13 的时钟
- 将 GPIOC13 配置成输出模式
- 让 GPIOC13 配置成低电平
1. 启动控制 GPIOC13 的时钟
看中文参考手册配置寄存器
找到 复位和时钟控制(RCC) 对应的 起始地址
时钟 的起始地址:0x4002 1000
由于是 APB2 管,我们也要找到 APB2 外设时钟使能寄存器的偏移地址
APB2 外设时钟使能寄存器的偏移地址:0x18
时钟起始地址 + APB2外设时钟使能寄存器的偏移地址 = 控制GPIOC13的时钟的寄存器地址
0x4002 1000 + 0x18 = 0x4002 1018
如何打开呢?在中文参考手册继续参考
GPIOC13 C时钟 置 1 开启
*(unsigned int *)0x40021018 |= 0x01 << 4 //左移4位
* (unsigned int* ) :(unsigned int*)是一个强制类型转换,首先把指针强制转换成(unsigned int*)型,然后再取值。
2. 将 GPIOC13 配置成输出模式
起始地址:0x4001 1000
偏移地址:0x04
0x4001 1000 + 0x04 = 0x4001 1004
设置成 推挽输出 以及 输出模式 设置最大为10MHz:
*(unsigned int*)0x40011004 |= 0x01 << 20 //左移20位
3. 让 GPIOC13 引脚输出低电平
0x0c
0x4001 1000 + 0x0c = 0x4001 100c
*(unsigned int*)0x4001100c &= ~(0x01 << 13)//左移13位
想把位变成1用或运算
想把位变成0用与运算
二、整合代码
void SystemInit()//防止系统报错
{}int main()
{//1.使能 GPIOC 的时钟* (unsigned int *)0x40021018 |= 0x01 << 4;//2.配置 GPIOC13 为输出模式 0x4001 1000 + 0x04* (unsigned int *)0x40011004 |= 0x01 << 20;//3.配置GPIOC13 输出低电平 0x4001 1000 + 0Ch* (unsigned int *)0x4001100c &=~ (0x01 << 13);
}
三、烧写程序
- 生成 .hex 文件
- 烧写 .hex 文件进 STM32
百度网盘下载:
烧写程序
提取码:z0by
事先安装好 usb—tll 的驱动
连接好 USB TO TTL 和 STM32
TXD——PA10
RXD——PA9
将 STM32 上的键帽,置 1
选择 DTR的高电平复位,RTS高电平进BootLoader 点击编程,按 STM32 上的 REST 键
四、点灯成功
复位 STM32 上的键帽,置 0
1. STM32 环境搭建 + STM32 新建工程 + Yinyuer(ZCY) 的 STM32 寄存器首次点灯相关推荐
- NXP S32K144开发(一)环境搭建和新建工程
1.首先需要安装S32 Design Studio for ARM,在NXP官网可以搜索到,这玩意也是基于eclipse的 安装好后就可以打开了. 2.新建工程 过程可以参考NXP官网: https: ...
- 10天基于STM32F401RET6智能锁项目实战第1天(环境搭建和新建工程)
10天基于STM32F401RET6智能锁项目实战第1天(环境搭建和新建工程) 一.环境搭建 二.新建工程 一.环境搭建 1.安装keil5 2.安装支持包 这里按照需求安装支持包,有F4和F1的支持 ...
- Windows环境下CubeMX+VScode+Gcc+OpenOCD开发STM32环境搭建
为啥要这么麻烦嘛,这个不解释,生命在于折腾,相信很多人都在折腾,也很多人去百度过,按百度的教程估计还是有很多人不会弄,所以写这篇教程为那些还没有折腾成功的砖工提供点线索. VScode现在真的很强大, ...
- Arduino IDE下的stm32环境搭建、OLED液晶显示(U8g2lib库)、NUCLEO-F411测试、STM32F103C8T6在Arduino下的液晶显示、
最近在淘宝上看到NUCLEO-F411RE能兼容Arduino,于是入手一块玩玩.于是查找资料搭建化境和做相关实验.断断续续花了好几天,总结一下,供其他人少走弯路. 在Arduino里兼容stm32( ...
- qemu stm32环境搭建教程
简介 基于xcmd说明qemu-stm32的使用方法. 在linux下使用qemu-stm32编译开发stm32 官方例程序qemu-stm32 demos 环境 win10 wsl2 ubuntu ...
- stm32 vscode 编译_vscode+gcc开发stm32环境搭建
/* 操作系统:Ubuntu16.04 硬件平台:原子Stm32F767+7'RGB屏幕 其他操作系统与开发板搭建环境基本差不多,注意的地方我会提到的. */ 一.软件安装 l VSCode 为什么用 ...
- STM32单片机(二)STM32环境搭建
❤️ 专栏简介:本专栏记录了从零学习单片机的过程,其中包括51单片机和STM32单片机两部分:建议先学习51单片机,其是STM32等高级单片机的基础:这样再学习STM32时才能融会贯通. ☀️ 专栏适 ...
- ARM汇编语言编程-Keil环境搭建及STM32程序的编写
目录 一.keil环境搭建 1.keil安装 2.注册LIC 3.支持包安装 二.STM32程序 1.新建工程 2.配置环境 三.总结 一.keil环境搭建 推荐百度网盘下载mdk531 mdk31安 ...
- STM32上手-STWingSKIT_BC28学习笔记(一)环境搭建和LED灯点亮
嵌入式STM32上手学习笔记(一)LED灯点亮 STM32开发环境的搭建 1. 安装keil5 IDE 2. 下载STM32F1的支持包 3. 在Pack installer中找到F1支持包下载 4. ...
最新文章
- R语言为散点图添加凸包(convex hull):数据预处理(创建一个包含每组数据凸包边界的数据集)、ggplot2使用geom_polygon函数为可视化图像添加凸包(convex hull)
- Bzoj1002 [FJOI2007]轮状病毒
- 《深入理解Java虚拟机 - Jvm高级特性与最佳实践(第三版)》阅读笔记
- CodeForces - 722C Destroying Array(倒着并查集+离线处理)
- 学习——JavaWeb05:JSP入门
- ES6 学习笔记(一)let,const和解构赋值
- python乘法表代码注释_Python统计python文件中代码,注释及空白对应的行数示例【测试可用】...
- JVM内存的那些事,你了解多少?
- 文字识别_文字识别的应用
- python基础一 day17 二分查找算法
- JAVA day27,28 线程池
- python基础2-数据及字符串知识学习
- VGG多种网络结构的搭建以及感受野的计算
- proftpd mysql_ProFTPD的MySQL数据库
- python 自动化获取博科光纤交换机端口信息
- Python爬虫入门第一课:如何解析网页
- 项目场景-------滚动条横向竖向同步滚动
- Ugly Numbers
- excel计算机二级考试试题,全国计算机等级考试二级officeexcel真题
- Yolov5可以看到虽然有结果图片,但是并没有框出识别结果