第一步新建一个文件夹用来装stm32工程方便以后学习

我新建的文件夹为stm32porjocte,以后的工程都存在这个文件夹下方便管理

第二步进行kill文件的操作

1点击prpject创建一个新的工程

把工程放在文件夹里

下面选择器件型号

我们选择的是stm32f103c8t5,所以这里选择时tm32f103c8这个

然后点击ok后悔弹出keil一个新建工程的小助手,这个可以帮助我们新建工程

直接把他X掉

然后在电脑打开 D:\stm32学习\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm复制里面的的文件挺好添加到新建的stm32project里面然后命名为star

第一个点H是和51单片REGx52.h是一样的 。system主要是用来配置时钟的,把文件复制下来添加到star文件里

然后需要添加连个CM3(cortex-M3)文件就是内核的寄存器描述一起加入到新建star文件夹下到这我们工程复制的那些必要文件就完成了

第三步将刚刚复制的文件添加到工程里去

先打开keil5然后点击

将他改名为star然后添加工程文件里

然后打开魔术棒按键

打开工程选项,在c/c++里

然后点击includepaths栏,然后点击右边三个点

然后在点三个点,把star的路劲添加进来

这样就把头函数添加进来了,

随后在尅了在target这里右键,点击添加组改个名字叫user

然后添加C文件ps 记得添加在user文件夹里否则会建在外面

然后在c文件里插入头文件选择stn32f10x.h文件,然后写一个while循环

int   main (void)

(

whikle(1)

{

}

}

记住最后一行需要空行否则会报警

小知识;打开 小扳手将enconding改为utf8否则中文显示会出问题      

接下来把STLIK和4根母对母杜邦线把3.3V   swdio  swclk gnd对应连接好

插上电脑后电源灯会常亮

连接在pc13接口是的灯默认一个是闪烁状态,这是芯片的一个测试程序

接下打开魔术棒

选择debug然后选择stlinkdebugger

然后点击settings

把resst and run沟上,之后我们下载程序会立马执行

然后点击load如果要求正常的话,这个程序就会下载到stm32里面

第三步配置经寄存器点灯

配置寄存器比较麻烦但是还是需要聊一

首先是Rcc的寄存器来使能gpioc的时钟,需要在apb2外设使能集翠成裘RCC-APB2ENR里面的配置

然后第二个寄存器我们需要配置一下PC13口的模式

寄存器还是不太方便

4库函数操作点灯

首先建立以后library的文件夹

然后打开函数库

将两个都复制在library里面

在添加一个library文件夹里添加前面复制的库函数

现在还不能直接使用我们还需要添加一个文件

将这 3个文件放到USER里

最后添加到user里面

然后打开

找到条件编译语句

将条件编译字符串复制到define顺手添加路径

这里面有两个参数第一个是选择外设第二个是选择新的状态

下面是写法的一句一句解析

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);//使能apb2的时钟

GPIO_InitTypeDef GPIO_InitStructure;//声明一个结构体,名字是GPIO_InitStructure,结构体原型由GPIO_InitTypeDef 确定,
stm32里面初始化GPIO用的。设置完了GPIO_InitStructure里面的内容后
在GPIO_Init (GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_InitStruct)里面调用,
比如初始化pa口,就是
GPIO_Init (GPIOA, &GPIO_InitStructure),括号里后面那个就是你问题里面声明的那个结构体

GPIO_InitStructure.GPIO_Mode  =GPIO_Mode_Out_PP;

GPIO结构体:

typedef struct
     {
       uint16_t GPIO_Pin;    //选择管脚,是你想用到的管脚

GPIOSpeed_TypeDef GPIO_Speed;  //选择速度 可选2M  10M  50M

GPIOMode_TypeDef GPIO_Mode;  //输入输出的8种模式,这要根据外电路和作用选择

}GPIO_InitTypeDef;

GPIO_SetBits(GPIOC,GPIO_Pin_13);//开灯
  GPIO_ResetBits(GPIOC,GPIO_Pin_13)//关灯

stm32学习笔记(如何新建一个工程)相关推荐

  1. STM32学习笔记——MDK新建项目

    STM32学习笔记 KIEL新建项目过程 文章目录 STM32学习笔记 前言 一.keil新建库函数版本项目 二.注意事项 1.文件分类 2.MDK配置 总结 前言 此处使用寄存器版,进行学习.后期看 ...

  2. CSR8675学习笔记:新建一个GATT server

    为了让CSR867x的开发更容易,现与思度科技联合推出CSR867x学习板[淘宝链接:思度科技CSR开发板]. 技术交流QQ群号:743434463 开发板会员QQ群号:725398389(凭订单号入 ...

  3. stm32学习笔记----双串口同时打开时的printf()问题

    stm32学习笔记----双串口同时打开时的printf()问题 最近因为要使用串口2外接PN532芯片实现通信,另一方面,要使用串口1来将一些提示信息输出到上位机,于是重定义了printf(),使其 ...

  4. STM32学习笔记(四)丨TIM定时器及其应用(定时中断、内外时钟源选择)

    本篇文章包含的内容 一.TIM 定时器 1.1 TIM 定时器简介 1.2 TIM 定时器类型及其工作原理简介 1.2.1 基本定时器工作原理及其结构 1.2.2 通用定时器工作原理及其结构 1.2. ...

  5. MyBatis学习笔记2 ——第一个MyBatis程序

    MyBatis学习笔记2 --第一个MyBatis程序 参考教程B站狂神https://www.bilibili.com/video/BV1NE411Q7Nx 环境搭建 建立一个mybatis数据库用 ...

  6. STM32学习笔记(六)丨TIM定时器及其应用(输入捕获丨测量PWM波形的频率和占空比)

    本篇文章包含的内容 一.输入捕获 1.1 输入捕获简介 1.2 输入捕获通道的工作原理 1.3 输入捕获的主从触发模式 1.4 输入捕获和PWMI结构 二.频率的测量方法 2.1 测频法 2.2 测周 ...

  7. STM32学习笔记(八)丨ADC模数转换器(ADC单、双通道转换)

    本篇文章包含的内容 一.ADC 模数转换器 1.1 ADC简介 1.2 逐次逼近型ADC工作原理 1.3 STM32中的ADC基本结构 1.4 STM32中ADC的输入通道 1.5 STM32中的AD ...

  8. STM32学习笔记1-软件安装

    收到自己买的STM32F103ZE为主芯片的开发板,标志着我正式进入实践阶段,之前看了不少ARM的资料,都是零零散散的,也没有什么系统的总结,总觉得找到真正的感觉,就下决心买开发板,至于为什么选择ST ...

  9. 《STM32学习笔记》2——开发环境的建立

    接上文,文中的图片知识,大多数来自视频的截图(来自洋桃电子). 欢迎大家批评指正! STM32学习笔记-专栏 文章目录 一.接口定义 1 芯片引脚整体简介 2 各部分引脚介绍 二.开发板简介 三.IS ...

  10. STM32学习笔记(三)丨中断系统丨EXTI外部中断(对射式红外传感器计次、旋转编码器计次)

    本篇文章包含的内容 一.中断系统 1.1 中断的定义 1.2 中断优先级 1.3 中断的嵌套 1.4 STM32中的中断系统 1.4.1 STM32的中断资源 1.4.2 嵌套中断向量控制器 NVIC ...

最新文章

  1. 【转】并行计算、分布式计算、集群计算和云计算
  2. batch normalization的原理和作用_springboot自动配置原理
  3. Hive安装MySql
  4. 物联网中使用的常见通信技术
  5. 函数宏定义 与函数自定义
  6. 算法在岗3年小结:学习成长篇
  7. 《基本无害的计量经济学》第二章:选择性偏误与随机实验
  8. android基础的博客,【复习】Android基础
  9. 【Linux】更改登陆时显示的账号名称
  10. 2021年3月7日 蚂蚁金服的OceanBase Java后端开发实习面经(一面)
  11. How to become a hacker 译文(如何成为一名黑客)
  12. JVM-内存与垃圾回收篇!女朋友看了都想当架构师的超详细保姆级笔记!呕心沥血之作!看完还不会你砍我!
  13. schedule_delayed_work()
  14. 深入浅出PaddlePaddle函数——paddle.ones_like
  15. STM32CubeIDE 利用LL库 SysTick简单实现hcsr04超声波测距
  16. 区块链游戏项目(战舰游戏)基于layer2区块链技术,使用以太坊的solidity语言, 含全栈完整源码
  17. selenium实战 登录后菜单作业分享(白月黑羽网站selenium自动化学习)
  18. WPS表格打印的时候有非常多的空白页应该怎么办?
  19. LeetCode 416 分割等和子集
  20. 雪后看疫情:一切能否变得更加清澈而透明?

热门文章

  1. TGI关联指数 + Python
  2. 【MyBatis】各种查询功能
  3. 滑模控制学习笔记(五)
  4. 那些年•我们读过的专业书籍
  5. 从永远到永远-Oracle的PL/SQL学习(存储过程学习)
  6. C++组件测试及应用 — 基于Tessy的测试技术漫谈
  7. promql中使用rate/irate等函数__name__丢失处理
  8. 【项目2:电机控制项目】 之 【6.硬件 - 检测系统电流】
  9. bootstrapValidator验证 表单验证通过但无法提交form的原因
  10. 118358-38-6,Fmoc-L-Ser(β-D-Glc(Ac)4)-OH,葡萄糖丝氨酸的纯度以及结构式介绍