本文是主要使用的硬件:
1.STM32F407ZGT6单片机
2.STLINK V2烧录器
3.示波器(不是必要的看波形对不对所使用的)。
主要使用的软件:
STM32CubeIDE(程序书写软件)
STM32 ST-LINK Utility(烧录软件)
功能:
实现发送脉冲信号
具体实现
注意:以下纯个人见解,有错可以在评论区打出。
1.首先创建一个STM32 Project
打开STM32CubeIDE
> 单击左上角File
> 单击new
> 单击STM32 Project
按此操作后会弹出一个Target Selection框
依照上图中的操作进行后下方的next>
会亮起然后单击就会弹出下图
按照上图进行操作后会弹出以下界面
然后依照上图进行操作会看到PA13
以及PA14
两个引脚会亮起,这样子就可以进行烧录程序代码
在这之后我选择了以PB4
作为我的脉冲信号输出引脚,即如下图
依照上图操作后会弹出如下图的红色框选部分 修正:修正预分频选择84-1,APB1时钟为84MHz
到此我们的配置就完成了通过ctrl+s
保存配置然后点击main.c
函数
在主函数里添加该函数进行启动PWM(脉宽调制)
依照上图操作会弹出以下界面
执行上述操作使其在编译的时候会在Debug文件夹中产生.hex
和.bin
文件
依照下图单击锤子按钮就可以编译了
编译完成后打开STM32 ST-LINK Utility软件
在这之前先将单片机与ST-LINK V2烧录器进行连接,连接步骤我就不具体讲解了,如果有不懂怎么连的可以私信我,大部分的连接方法都是一致的SWDIO
与单片机上的SWDIO
相连,SWCLK
与单片机上的SWCLK
相连,有些需要连接Reset
引脚;连接完成后将烧录器插到电脑端,可能还需要驱动程序,我这边也有如果有需要的可以私信我。
依照下图进行烧录
有以下图片红色部分代表烧录成功
监测是否完成所需功能,我所使用的是示波器
可能是我时钟设置的问题还是什么原因导致我的频率为500Hz而不是我想要的1000Hz不过确实产生了脉冲,也算是成功一半了。上边修正了,APB1为84MHz,这里使用的是APB1时钟,所以产生的频率为500Hz