STM32快速上手踩坑记录(keil5+CubeMX安装+实现SPI通信)

发布时间 2023-11-21 09:06:59作者: AntennaZ

硬件:ST-LINK v2+STM32F103C8T6+Kingst逻辑分析仪

  • TM32F103C8T6引脚图

STM32F103C8T6引脚图及引脚功能说明_stm32f103c8t6引脚图及功能_eewj的博客-CSDN博客

  • 安装keil5

官网下载:Keil Product Downloads

点击MDK-Arm下载即可,目前最新版本是5.38,公司信息什么的随便填一下,下载之后不需要破解就能用

安装教程参考:Keil 5 安装教程(最新最全最详细)附网盘资源-CSDN博客

不过实际操作时发现上面链接里的旧版本装完之后打不开,所以就干脆装了最新的

如果芯片包由于网络原因装不上可以参考:【精选】【工具使用】Keil5软件使用-基础使用篇_keil uvision5使用教程-CSDN博客

芯片包官网下载:https://www.keil.com/dd2/Pack/

  • 新建工程

推荐b站教程:[2-2] 新建工程_哔哩哔哩_bilibili

p4是新建工程,讲的很细节

新版编译会报一堆错,可参考弹幕红字大佬解决,编译报错/警告解决办法:   1. 魔术棒->​C/C+​+(AC6)-> Language C -> c99   2. 移除core_cm3.c​

  • 安装CubeMX

官网下载:STM32CubeMX: Graphical tool - STMicroelectronics - STMicroelectronics

懒得邮箱认证的话,用大佬的直链:STM32CubeMX 6.8.1 Windows 下载链接(直链)_stm32cubemx下载_22842329的博客-CSDN博客

目前新版已经不需要先装java了,不过安装在D盘自建文件夹时不知道什么毛病会打不开软件,只好装C盘默认目录了

  • HAL库使用+SPI通信

推荐b站教程:STM32HAL库纯使用向教学,STM32HAL库学习(十一) SPI(使用W25Q64)_哔哩哔哩_bilibili

或者文字版教程(和视频基本上是一致的):【STM32】HAL库 STM32CubeMX教程十四---SPI_hal_spi_transmit_it-CSDN博客

生成基本代码之后,由于是用同一个stm32同时实现SPI收发所以代码有所不同

代码参考:用HAL库函数实现一片STM32的两个SPI接口相互通信_hal_spi_mspinit-CSDN博客

编译时会报两个逆天error,是软件bug,解决参考:勾选Use Microlib报错,解决编译出现Undefined symbol __use_two_region_memory 和Undefined symbol __initial_sp的问题-CSDN博客

暂时先记到这里,后面功能完善之后重新贴代码