记录STM32与雷达通信模块调试的若干问题(基于HAL库)(二)系统的初步搭建
上一次完成了硬件的选型和VSCode下编程环境的基础配置,这一篇文章将连接硬件,并编写控制程序。
一、连接硬件
将最小系统插上面包板,使用跳线连接以下端子:
- (stm32)SWCLK<------>(stlink)SWCLK
- (stm32)SWDIO<------>(stlink)SWDIO
- (stm32)电源<------>(stlink)电源
- (stm32)USART1_Rx<------>(LD2413)OT1
- (stm32)USART1_Tx<------>(LD2413)Rx
- (stm32)USART2_Rx<------>(E32)Tx
- (stm32)USART2_Tx<------>(E32)Rx
- (stm32)GPIO_PB0<------>(E32)M0
- (stm32)GPIO_PB1<------>(E32)M1
- (stm32)GPIO_PA0(EXIT0)<------>3V3
雷达模块和无线模块的电源另外引入。
上电后看到所有模块的提示灯均亮起,证明供电正常。
二、项目创建
-
安装固件库
点击顶部的Help,选择connection&update,修改固件库的下载路径,自动更新可以改成Manual手动,因为体积不小,选择OK后还是在Help菜单中找到Manage embedded software packages,找到STM32cube MCU packages,找到你使用的型号下载固件库。
-
选择芯片
回到首页,选择ACCESS TO MCU SELECTOR,选择开发使用的芯片,比如你用的是STM32F103C8T6,点击StartProject开始配置。
-
设置引脚
项目我预先设置好了,这里仅作展示。首先点击左侧System Core,点击SYS,在Debug下拉菜单中选择Serial Wire,即之前连接的SWD,TimeBase选择SysTick系统时钟。
然后选择RCC,HSE和LSE均选择晶振(Crystal Resonator)。
点击Connectivity找到STM32的通信端口,配置USART1:Asynchronous异步,硬件流控制Disable,Parameters中设置波特率,数据位,校验位,停止位,如果要使用中断收发的话,需要在下方NVIC中打开全局中断,因为打算用USART1接收雷达数据,连续的数据流,所以配置了DMA,UART1_Rx绑定了DMA通道5,无法更改,考虑雷达是每隔一段时间就上传数据(循环),模式要选择Circular。USART2可以配置DMA发送(STM32->无线模块),其他与USART1一致。
点击NVIC嵌套相量中断控制,里面显示了所有能启用的中断,这里已经勾选了USART1、2的全局中断,EXIT0外部中断用于暂停DMA传输,直接点击右边的芯片引脚PA0选择EXIT0,在。GPIO里同样可以看到所有已使用的引脚,用于控制E32模式的PB0,PB1引脚设置输出模式为推挽,其他可不做修改。
-
设置时钟
点击上方的Clock Configuration,找到HSE端的Input,默认为8MHz不用改,因为最小系统上使用的也是8MHz晶振,锁相环PLL的倍频设置为9倍,这样能达到系统最大工作频率72MHz,然后APB1总线的分频设置为2,最高36MHz,时钟部分设置完毕。
-
项目管理
点击Project Manager,项目名称和路径自行设置,ToolChain/IDE一栏选择STM32CubeIDE,这样生成的文件可以用EIDE打开,main函数是否生成可自行选择,下面还有多线程支持和固件包,固件包安装好后会自动选择路径,这里无需更改。
左侧切换到Code Generator,第一栏勾选第二个,只复制必要的库文件到项目,第二栏Generated File勾选134项,第二项是重新生成代码时会备份上一次生成的代码,这里用不到,后面的设置都可以不用动。点击上方的GENERATE CODE即自动生成项目文件。
至此stm32项目的创建步骤完成,接下来就是代码的编写,内容较多,将放在下一章中叙述。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用