STM32开发(创建工程)
目录
一、安装开发软件
1、破解MDK5
1)打开DMK5复制CID码
2)把CID码粘贴到破解机上
2、安装STM32CubeMX
1)安装jre
2)安装stm32cubeMX软件
二、STM32U5575RIT6开发套件
1、核心板
2、底板
3、拓展板
三、使用32CubeMX创建工程文件
1、安装STM32U575RIT6的固件支持包
1)打开安装界面
2)显示已有pack包
3)安装pack包
2、创建CudeMX工程文件
1)打开创建界面
2)选择芯片型号
3)创建工程文件
3、配置CudeMX工程文件
1)界面分析
2)配置引脚功能
3)查看已配置的引脚功能
4)配置系统时钟
5)项目路径
6)代码生成器
7)创建MDK工程文件
8)配置高速缓存
9)配置烧入固件
4、Keil工程文件
1)生成的工程文件架构
2)编写代码
3)分析生成的代码
4)HAL库的库函数接口
5)分析HAL库函数接口
(1)查找HAL库所带的函数
(2) HAL_GPIO_ReadPin(读取电平)
(3)HAL_GPIO_Write(写入电平)
(4)HAL_GPIO_Togglepin(翻转电平)
一、安装开发软件
1、破解MDK5
到ST官网下载MDK5或者自己本来就有的,打开MDK5,然后关闭电脑的防火墙,不关掉防火墙就解压压缩包的话,会自动删除破解机,关闭防火墙后解压破解机并打开。
1)打开DMK5复制CID码
2)把CID码粘贴到破解机上
2、安装STM32CubeMX
1)安装jre
由于stm32cubeMX软件是使用java语言进行编写的因此必须安装jre的软件包。
2)安装stm32cubeMX软件
STM32cubeMX软件时ST提供的开源,主要用于使用图形化系欸的方式进行工程的配置。
右键以管理员身份运行“SetupSTM32CubeMX-6.3.0-Win.exe”软件,安装的步骤,根据提示信息,一路向下即可,注意不要出现中文路径。
二、STM32U5575RIT6开发套件
1、核心板
2、底板
3、拓展板
三、使用32CubeMX创建工程文件
1、安装STM32U575RIT6的固件支持包
1)打开安装界面
图中框的两个都可以
2)显示已有pack包
图中左侧框起来的,空白的小蓝框表示没有该pack包,就是没有固件支持包。
图中左侧框起来的,绿色的小蓝框表示有该pack包,就是有固件支持包。
3)安装pack包
方法一:选中想要安装的pack包,并勾选,点击按键Install,可以联网安装
方法二:安装本地的pack包
2、创建CudeMX工程文件
1)打开创建界面
图中框的两个都可以
如果弹出这个提示框,可以直接删除,没有影响
2)选择芯片型号
单击芯片型号,上面会变成芯片信息,从这里我们可以了解到STM32U575RIT6的最大工作频率是160MHz,以及烧入时Flash文件固定大小为2Mb
3)创建工程文件
双击选中的芯片类型或单机选中类型后,点击右上角的Start Project按键,创建工程文件
3、配置CudeMX工程文件
1)界面分析
2)配置引脚功能
3)查看已配置的引脚功能
4)配置系统时钟
5)项目路径
6)代码生成器
7)创建MDK工程文件
8)配置高速缓存
配置开启一路ICACHE指令高速缓存(可以加快代码运行)
9)配置烧入固件
只有配置了烧入固件,才能正常烧入
4、Keil工程文件
1)生成的工程文件架构
生成Keil工程文件后,需要先全量编译一次
2)编写代码
3)分析生成的代码
4)HAL库的库函数接口
这些HAL库中,都是封装好的函数接口,可以直接调用
5)分析HAL库函数接口
(1)查找HAL库所带的函数
(2) HAL_GPIO_ReadPin(读取电平)
GPIO_PinState HAL_GPIO_ReadPin(const GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
功能:HAL库提供的用于读取GPIO引脚电平状态的函数
参数:GPIOx:需要读取的GPIO引脚的所属组(如GPIOC、GPIOD、GPIOA......),也就是需要读取的引脚的GPIO组的基地址GPIO_Pin:需要读取的GPIO引脚的引脚编号(如GPIO_PIN_1、GPIO_PIN_2......),也就是需要读取的引脚的对应寄存器位
返回值:返回值为读取到对应引脚的高低电平信号(逻辑上的0/1)读到高电平信号,返回值为1读到低电平信号,返回值为0
(3)HAL_GPIO_Write(写入电平)
void HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState)
功能:HAL库提供的用于向GPIO引脚写入电平信号的函数(通过GPIO引脚输出高低电平信号的函数)
参数:GPIOx:需要输出电平信号的引脚所属GPIO组GPIO_Pin:需要输出电平信号的引脚编号PinState:需要输出的高低电平信号(0/1, GPIO_PIN_RESET/GPIO_PIN_SET)
返回值:无返回值
(4)HAL_GPIO_Togglepin(翻转电平)
void HAL_GPIO_TogglePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
功能:HAL库提供的用于电平翻转并输出的函数
参数:GPIOx:需要翻转电平信号的引脚所属GPIO组GPIO_Pin:需要翻转电平信号的引脚编号
返回值:无返回值电平翻转:也就是电平切换,电平信号要么是0,要么是1