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

stm32f103 单片机(一)第一个工程

先看一个简单的
在这里插入图片描述
系统上已经安装好了keil5 与ARM包,也下载好了STM32固件库

新建一个工程,添加三个组
在这里插入图片描述
加入如下文件
在这里插入图片描述
在options 里作如下配置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

准备在main.c 中写下第一个实验,点亮一个小灯。
像51单片机一样直接对引脚赋值是行不通的

在stm32f中文手册中找到这样一段话
在这里插入图片描述
在使用一个外设之前,必须打开外设的时钟
在这里插入图片描述
可以看到GPIO都在APB2中

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);

GPIO还需要配置工作模式与最大输出速度

/** * @brief  Configuration Mode enumeration  */typedef enum
{ GPIO_Mode_AIN = 0x0,GPIO_Mode_IN_FLOATING = 0x04,GPIO_Mode_IPD = 0x28,GPIO_Mode_IPU = 0x48,GPIO_Mode_Out_OD = 0x14,GPIO_Mode_Out_PP = 0x10,GPIO_Mode_AF_OD = 0x1C,GPIO_Mode_AF_PP = 0x18
}GPIOMode_TypeDef;
/** * @brief  Output Maximum frequency selection  */typedef enum
{ GPIO_Speed_10MHz = 1,GPIO_Speed_2MHz, GPIO_Speed_50MHz
}GPIOSpeed_TypeDef;

这样写下如下代码

#include "stm32f10x.h"int main(void)
{GPIO_InitTypeDef gpioInitVar;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);gpioInitVar.GPIO_Mode = GPIO_Mode_Out_PP;gpioInitVar.GPIO_Pin = GPIO_Pin_1;gpioInitVar.GPIO_Speed = GPIO_Speed_10MHz;GPIO_Init(GPIOA, &gpioInitVar);GPIO_ResetBits(GPIOA,GPIO_Pin_1);while (1){}
}
http://www.lryc.cn/news/525501.html

相关文章:

  • 云计算和服务器
  • Spring 框架:配置缓存管理器、注解参数与过期时间
  • Linux系统 C/C++编程基础——基于Qt的图形用户界面编程
  • 并发编程 - 线程同步(一)
  • PyTorch入门 - 为什么选择PyTorch?
  • leetcode刷题记录(八十六)——84. 柱状图中最大的矩形
  • Android GLSurfaceView 覆盖其它控件问题 (RK平台)
  • 开源鸿蒙开发者社区记录
  • 【Linux网络编程】传输层协议
  • 10个非常基础的 Javascript 问题
  • Mysql索引(学习自用)
  • eniops库中reduce函数使用方法
  • 阴沟翻船题——Longest Substring Without Repeating Characters
  • Jetpack Compose 和 Compose Multiplatform 还有 KMP 的关系
  • 微信小程序中实现背景图片完全覆盖显示,可以通过设置CSS样式来实现
  • 【0x0012】HCI_Delete_Stored_Link_Key命令详解
  • console的各种方法
  • spring boot关于系统首页自动跳转拼接到index
  • 指针生成网络(PGN)详细指南(引入)
  • 案例研究丨浪潮云洲通过DataEase推进多维度数据可视化建设
  • k8s 蓝绿发布、滚动发布、灰度发布
  • UWB原理:AOA测角原理Angel of Arrival
  • plus.runtime.install在android10无效
  • 7.C++中的函数
  • 上位机知识篇---Python数据图表可视化
  • 详解:TCP/IP五层(四层)协议模型
  • 【原生记忆能力 怎么让大模型拥有原生的记忆能力】
  • 百度APP iOS端磁盘优化实践(上)
  • qml Dialog详解
  • 2025年的校招管理系统会全面实现智能化吗?