STM32F373(青风)+CUBEMX快速上手
STM32F373(青风)+CUBEMX快速上手
Created: Nov 23, 2019 7:43 PM
Tags: CUBEMX,STM32
硬件熟悉
连接线
USB-TYPEB电源线一根,用于给板子供电,亦可以使用纽扣电池供电。
MAX232-USB 串口线一根, 用于串口通信以及程序下载。串口下载程序步骤繁琐,故不推荐,具体步骤见相关文档:
工具篇:串口下载.doc
关于下载方式,推荐使用ST_LINK 或者J_LINK。
开发板
开发板电路图见下面的文档
stm32f373R64.pdf
需要注意的地方:
时钟
芯片的低速时钟引脚: OSC32_IN & OSC32_OUT 接晶振Y2 频率为32.768kHz
芯片的高速时钟引脚: OSC_IN & OSC_OUT 接晶振Y1 频率为8MHz
Debug
Wakeup 唤醒引脚为PC13 复用功能为 SYS_WAKEUP2
Debug模式为串行方式。
资料准备
数据手册;参考手册;开发板电路图。
STM32CUBEMX新建MDK工程
STM32CUBEMX下载安装
STM32CUBEMX可以直接在ST官网搜索下载,但在这之前最好注册账号并登录。网址如下:
Home - STMicroelectronics
KEIL MDK-ARM 下载安装
STM32CUBEMX使用
安装完成后打开软件,初始页面如下:
在
New Project
里点击 ACCESS TO MCU SELECTOR寻找并选择芯片型号 STM32F373RCTx ,选择并点击START Project
工程设置界面如下
可以通过左侧功能栏选择需要的外设,亦可以直接点击芯片引脚,选择复用功能。
时钟树配置
通过修改锁相环参数和预分频系数将频率设置为需要的大小。
- 工程管理并生成MDK工程
- 在Project Name 里命名;
- 选择工程目录
- 选择
Toolchan/IDE
为MDK-ARM - 在左侧
Code Generator
-Generated Files
勾选 Generate peripheral initialization as a pair of ".c/.h" files per peripheral. 可以使工程目录更清晰。 - 点击左上
GENERATE CODE
, 选择open project.
STM32F373上手
工程建立
- 使用STM32CUBEMX新建一个工程。
- 新建工程步骤前面已经叙述,下面主要叙述如何配置。
System Core-SYS-DEBUG
选择 Serial Wire; 勾选 System Wake-up 2;System Core-RCC
HSE&LSE 均选择 Crystal Resonator;开发板因为高速晶振和低速晶振都使用外部晶振, 高速为8MHz, 低速为32 kHz
在引脚分布图上点击 PF6 复用功能选择 GPIO_Output, 右击 PF6 点击 Enter User Label , 输入 LED1 ;
类似地,完成 PF7→ LED2 的设置。在
System Core
-GPIO
里设置PF6,PF7的属性为pull-up。完成名称、目录等配置,点击GENERATE CODE, 进入keil MDK工程,在/* USER CODE BEGIN/ 和 / USER CODE END*/ 中填入自己的代码,防止重新生成工程后擦除。
编写代码如下,编译,生成HEX文件。
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_USART1_UART_Init();
/* USER CODE BEGIN 2 */
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
HAL_Delay(500);
HAL_GPIO_TogglePin(LED1_GPIO_Port,LED1_Pin);
}
/* USER CODE END 3 */
}
使用串口下载器,下载。Reset, LED1 开始闪烁。
- 新建工程步骤前面已经叙述,下面主要叙述如何配置。
以上是 STM32F373(青风)+CUBEMX快速上手 的全部内容, 来源链接: utcz.com/z/511098.html