keil的使用
新建一个文件
添加.h文件
第六步选择.h文件所在路径文件夹,一切操作完成后还需再.c文件中引用.h文件
双击添加文件
注意
勾选这里,不然下载程序需要手动复位
搜索和查看
右击函数或变量选择这个选项
查看快捷键是ctrl+f
cubemx基础配置
配置时钟RCC
这里讲的时钟都是外部的,而内部的是LSI和LSH,配置低速和高速振荡器,最小系统板上是8mhz晶振。右边红圈部分上两个是低速的。
商家给的原理图,红色的圈是低速LSE,蓝色是高速外部HSE8Mhz,看上图如果不配置使用低速振荡器,这个gpio引脚可以空闲出来
这里直接输入 72Mhz,会自动配置。这里不能有任何地方是红色。
配置仿真器接口
这里我采用sw,一般就4个SWIO,SWCLK,GND,3V3
配置GPIO
看它的用户手册
把这个灯点亮下,通过配置gpio输出的方式
另外看到灰色的是I/O引脚未使用的,淡黄色是电源引脚,黄绿色是复位和启动模式引脚,深黄色代表分配了但是没有配置完善。
初始电平
引脚模式(这里是推挽输出)
上/下拉电阻(这里是无上下拉电阻)
引脚速度
用户标识
启动模式
额外内容
当生成代码后打开keil,我们在写代码时可以使用hal库封装好的
更重要的是
你应该将代码写在它规定的里面,否则你再打开cubemx补充配置,并且生成代码后你不按它规定区域外写的代码将会被擦除。
请改成这样
小结
除了GPIO不是必须的,其他配置都是必须完成的
其他界面
- System core:用于配置GPIO、时钟源、中断系统以及系统相关的外设
- Analog:用于配置模/数和数/模转换外设
- Timers:用于配置定时器和实时时钟外设Connectivity:用于配置I2C、SPI和UART等连接外设
- Multimedia:用于配置12S等音频数据传输外设
- Computing:用于配置CRC校验外设
- Middlewar:用于配置RTOS和GUI等中间件
尝试输出pwm
复习知识
- 之前学习了定时器,这里再做复习
- 基本定时器只能做定时的功能,比如完成一些看门狗喂狗的操作。
通用定时器它具备输出通道,那么就可以用于输出我们的pwm信号了。 - 高级定时器相比通用定时器主要增加了以下功能:
可编程死区互补输出:这是针对电机控制等应用而设计的特殊功能,用于防止功率管同时导通导致的损坏。
重复计数器:允许用户指定PWM信号的生成数量,增加了定时器的灵活性和控制精度。
带刹车(断路)功能:提供了在需要时停止PWM信号输出的能力,增强了定时器的安全性和可控性。
定时器资源
我们选择通用定时器3通道1把
2这里选择内部72Mhz
3这里设置arr、向上递增计数、预分频,算下来是20000us为20ms
4这里pwm1、高电平脉冲为1000*10us,相当于10ms,50%占空比