设置GPIO引脚的输出功能,将对应引脚拉高或拉低输出
初步认识STM32最新的HAL库的使用
用代码实现控制GPIO引脚输出产生周期出1s 占空比为50%的PWM波
示例详解
做实验用到的STM32F103C8T6最小系统板,如下图所示。使用STM32cubemx 工具自动产生的配置工程,使用KEIL5编译代码。
最小系统板原理图:
新建并配置工程
在新弹出的界面中的搜索框中输入 “stm32f103c8” ,并双击右侧栏中列出的STM32F103C8
弹出如下图所示界面,至此工程创建完成。
接下来配置工程。
配置系统伏仿真调试接口, 在System Core 目录下单击SYS选项,将其中的Debug选项选为Serial Wire, 此时PA13 PA14引脚会被占用。
配置STM32 CUBEMX 工程。
配置系统时钟源,在System Core 目录下单击RCC选项,将其中的High Speed Clock( HSE )选项选为Crystal/ceramic resona…, 此时PD0 PD1引脚会被占用,配置图如下。
配置GPIO PA0引却为输出,在右侧图中单击PA0引脚 ,在出现的选项选框中选择GPIO_Output 选项,选完后在在System Core 目录下单击GPIO选项,在GPIO子项中单击列表中的PA0,可看查看到PA0的详细设置参数,也可以根据需要进行修改,在这里保持默认即可。
配置系统时钟树,将工程界面切换到Clock Configureation 界面,完成如下配置。
配置代码生成,工程界面切换到Project Manager 界面,在界面左侧单击Project项,将其设置成如下图所示( 设置工程路径在E:Stm32cubePrj目录,工程名为stm32_gpio, 开发环境为 MDK-ARM v5 )。
在界面左侧单击Code Generator项,将其设置成如下图所示。
只拷贝所需文件到工程,为每个接口生成独立的初始化头文件和源文件,将所有未使用的引脚设为模拟输入。
打开工程
生成代码,单击工程界面中”GENERATE TOOL” 开始生成代码,代码生成后弹出是否打开工程对话框,单击“Open Project”打开创建的工程。
在代码工程(MDK/keil)中的 main.c 中 man函数中如下红框中代码:
编译工程
烧录代码,在代码工程中单击“Options for Target” 图标,在弹出的窗口中选中“Debug”页,选择相应的烧录工具,本示例所用是jlink工具。
单击右侧“Setting”按钮,将Port 设为“SW”, 最大速度建议不要超过5M。
如果仿真调式工具接线过长,可以将最大速度设为100K,这样可以保证烧录成功。
选“flash Download”页,勾选“Reset and Run”,并确保其它内容如下图所示。
设置完上述设置后,便可进行下载操作,将调试仿真工具中的与最小系统板连接好,在工程中点Download 按钮,或按F8快捷键进入下载,下载完成后会出现如下图所示提示信息。
操作GPIO引脚实现周期1S占空为50%的PWM实验完成。
用示波器逻辑分析工具在PA0引脚可以看到如下图所示波形输出!!
上一篇:单片机开发中的内存溢出的状况
下一篇:STM32如何配置外部中断?STM32外部中断配置步骤
推荐阅读最新更新时间:2024-11-07 11:08
设计资源 培训 开发板 精华推荐
- LT6656BCS6-1.25、1.25V 电压基准作为微功率稳压器的典型应用
- 使用 DC-DC 转换器配置(来自 VDCDC 的 PAVDD) EFR32FG12 SoC 应用处理器的典型应用电路
- 负输入到正输出降压-升压转换器
- 具有 3.3V 和 1.8V 输出和排序功能的 LT1940 降压型稳压器的典型应用电路
- ESP32-写字机器人
- 汽车收音机 TDA2005 20W 桥式放大器静音应用的典型示例
- 基于介电原理的润滑油检测
- SPIRIT1-低数据速率收发器-169 MHz-全套件
- 带有集成电源的 MC34844 10 通道 LED 背光驱动器的简化应用图(手动模式)
- 10 至 30W、13.2V DC 至 DC 单路输出电源,适用于街道和室内 LED 照明