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 新建工程

  1. 创建新工程

  1. 选择对应的芯片

  1. 在目录底下创建 main.c 文件,加入 main.c 文件

  1. 将启动文件复制到目录,添加启动文件

  1. 定义声明 SystemInit 函数

注意:main 函数最后一个大括号要空一行,否则会报错

  1. 编译

0 错误,0警告 good!!!

Yinyuer(ZCY) 的 STM32 寄存器首次点灯

一、看 STM32 原理图,找到 LED 灯 和 相关寄存器 参数

D1 直接接 GND,有电源,D1 就会亮
D2 接 GPIOC13 输出低电平,就能点亮
那么我们得让

  1. 启动控制 GPIOC13 的时钟
  2. 将 GPIOC13 配置成输出模式
  3. 让 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);
}

三、烧写程序

  1. 生成 .hex 文件

  1. 烧写 .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 寄存器首次点灯相关推荐

  1. NXP S32K144开发(一)环境搭建和新建工程

    1.首先需要安装S32 Design Studio for ARM,在NXP官网可以搜索到,这玩意也是基于eclipse的 安装好后就可以打开了. 2.新建工程 过程可以参考NXP官网: https: ...

  2. 10天基于STM32F401RET6智能锁项目实战第1天(环境搭建和新建工程)

    10天基于STM32F401RET6智能锁项目实战第1天(环境搭建和新建工程) 一.环境搭建 二.新建工程 一.环境搭建 1.安装keil5 2.安装支持包 这里按照需求安装支持包,有F4和F1的支持 ...

  3. Windows环境下CubeMX+VScode+Gcc+OpenOCD开发STM32环境搭建

    为啥要这么麻烦嘛,这个不解释,生命在于折腾,相信很多人都在折腾,也很多人去百度过,按百度的教程估计还是有很多人不会弄,所以写这篇教程为那些还没有折腾成功的砖工提供点线索. VScode现在真的很强大, ...

  4. Arduino IDE下的stm32环境搭建、OLED液晶显示(U8g2lib库)、NUCLEO-F411测试、STM32F103C8T6在Arduino下的液晶显示、

    最近在淘宝上看到NUCLEO-F411RE能兼容Arduino,于是入手一块玩玩.于是查找资料搭建化境和做相关实验.断断续续花了好几天,总结一下,供其他人少走弯路. 在Arduino里兼容stm32( ...

  5. qemu stm32环境搭建教程

    简介 基于xcmd说明qemu-stm32的使用方法. 在linux下使用qemu-stm32编译开发stm32 官方例程序qemu-stm32 demos 环境 win10 wsl2 ubuntu ...

  6. stm32 vscode 编译_vscode+gcc开发stm32环境搭建

    /* 操作系统:Ubuntu16.04 硬件平台:原子Stm32F767+7'RGB屏幕 其他操作系统与开发板搭建环境基本差不多,注意的地方我会提到的. */ 一.软件安装 l VSCode 为什么用 ...

  7. STM32单片机(二)STM32环境搭建

    ❤️ 专栏简介:本专栏记录了从零学习单片机的过程,其中包括51单片机和STM32单片机两部分:建议先学习51单片机,其是STM32等高级单片机的基础:这样再学习STM32时才能融会贯通. ☀️ 专栏适 ...

  8. ARM汇编语言编程-Keil环境搭建及STM32程序的编写

    目录 一.keil环境搭建 1.keil安装 2.注册LIC 3.支持包安装 二.STM32程序 1.新建工程 2.配置环境 三.总结 一.keil环境搭建 推荐百度网盘下载mdk531 mdk31安 ...

  9. STM32上手-STWingSKIT_BC28学习笔记(一)环境搭建和LED灯点亮

    嵌入式STM32上手学习笔记(一)LED灯点亮 STM32开发环境的搭建 1. 安装keil5 IDE 2. 下载STM32F1的支持包 3. 在Pack installer中找到F1支持包下载 4. ...

最新文章

  1. R语言为散点图添加凸包(convex hull):数据预处理(创建一个包含每组数据凸包边界的数据集)、ggplot2使用geom_polygon函数为可视化图像添加凸包(convex hull)
  2. Bzoj1002 [FJOI2007]轮状病毒
  3. 《深入理解Java虚拟机 - Jvm高级特性与最佳实践(第三版)》阅读笔记
  4. CodeForces - 722C Destroying Array(倒着并查集+离线处理)
  5. 学习——JavaWeb05:JSP入门
  6. ES6 学习笔记(一)let,const和解构赋值
  7. python乘法表代码注释_Python统计python文件中代码,注释及空白对应的行数示例【测试可用】...
  8. JVM内存的那些事,你了解多少?
  9. 文字识别_文字识别的应用
  10. python基础一 day17 二分查找算法
  11. JAVA day27,28 线程池
  12. python基础2-数据及字符串知识学习
  13. VGG多种网络结构的搭建以及感受野的计算
  14. proftpd mysql_ProFTPD的MySQL数据库
  15. python 自动化获取博科光纤交换机端口信息
  16. Python爬虫入门第一课:如何解析网页
  17. 项目场景-------滚动条横向竖向同步滚动
  18. Ugly Numbers
  19. excel计算机二级考试试题,全国计算机等级考试二级officeexcel真题
  20. Yolov5可以看到虽然有结果图片,但是并没有框出识别结果

热门文章

  1. 程序员是不是人均黑客?
  2. 10-52 2-1-(e) 查询所有的男影星或者住址中含有4的影星 (10分
  3. 进攻即是最好的防御!19 个练习黑客技术的在线网站
  4. 因果论与人工智能 P1 导读手册笔记
  5. pku 1160 Post Office
  6. 盛迈坤电商:新店铺的运营技巧分析
  7. 聚观早报 | 黑五电子产品销售额飙升;谷歌不满微软收购动视暴雪
  8. 个人拥有云服务器能用来干啥好玩的?
  9. 软件库@www.softku.net
  10. 克鲁赛德战记php,克鲁赛德战记领主格兰西亚与自由勇士的简单评测