memleak

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

记录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
    雷达模块和无线模块的电源另外引入。

上电后看到所有模块的提示灯均亮起,证明供电正常。

二、项目创建

  1. 安装固件库
    点击顶部的Help,选择connection&update,修改固件库的下载路径,自动更新可以改成Manual手动,因为体积不小,选择OK后还是在Help菜单中找到Manage embedded software packages,找到STM32cube MCU packages,找到你使用的型号下载固件库。
    image
    image

  2. 选择芯片
    回到首页,选择ACCESS TO MCU SELECTOR,选择开发使用的芯片,比如你用的是STM32F103C8T6,点击StartProject开始配置。
    image
    image

  3. 设置引脚
    项目我预先设置好了,这里仅作展示。首先点击左侧System Core,点击SYS,在Debug下拉菜单中选择Serial Wire,即之前连接的SWD,TimeBase选择SysTick系统时钟。
    image
    然后选择RCC,HSE和LSE均选择晶振(Crystal Resonator)。
    image
    点击Connectivity找到STM32的通信端口,配置USART1:Asynchronous异步,硬件流控制Disable,Parameters中设置波特率,数据位,校验位,停止位,如果要使用中断收发的话,需要在下方NVIC中打开全局中断,因为打算用USART1接收雷达数据,连续的数据流,所以配置了DMA,UART1_Rx绑定了DMA通道5,无法更改,考虑雷达是每隔一段时间就上传数据(循环),模式要选择Circular。USART2可以配置DMA发送(STM32->无线模块),其他与USART1一致。
    image
    image
    点击NVIC嵌套相量中断控制,里面显示了所有能启用的中断,这里已经勾选了USART1、2的全局中断,EXIT0外部中断用于暂停DMA传输,直接点击右边的芯片引脚PA0选择EXIT0,在。GPIO里同样可以看到所有已使用的引脚,用于控制E32模式的PB0,PB1引脚设置输出模式为推挽,其他可不做修改。
    image

  4. 设置时钟
    点击上方的Clock Configuration,找到HSE端的Input,默认为8MHz不用改,因为最小系统上使用的也是8MHz晶振,锁相环PLL的倍频设置为9倍,这样能达到系统最大工作频率72MHz,然后APB1总线的分频设置为2,最高36MHz,时钟部分设置完毕。
    image

  5. 项目管理
    点击Project Manager,项目名称和路径自行设置,ToolChain/IDE一栏选择STM32CubeIDE,这样生成的文件可以用EIDE打开,main函数是否生成可自行选择,下面还有多线程支持和固件包,固件包安装好后会自动选择路径,这里无需更改。
    image
    左侧切换到Code Generator,第一栏勾选第二个,只复制必要的库文件到项目,第二栏Generated File勾选134项,第二项是重新生成代码时会备份上一次生成的代码,这里用不到,后面的设置都可以不用动。点击上方的GENERATE CODE即自动生成项目文件。
    image
    至此stm32项目的创建步骤完成,接下来就是代码的编写,内容较多,将放在下一章中叙述。

posted on   无线电不掉线  阅读(15)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
点击右上角即可分享
微信分享提示