潘多拉STM32L475学习 (基于MDK自带Pack) (一):闪烁Led

本实验使用MDK自带的RTX实时系统。真正的从0创建工程,不从其它现有工程拷贝代码。

MDK版本:5.28a

STM32CubeMX版本:5.3.0

STLINK更新固件问题:http://www.openedv.com/forum.php?mod=viewthread&tid=279161&extra

MDK安装完成后,会自动弹出Pack安装界面,在搜索框中输入STM32L475VET,然后在左侧设备列表里面选中STM32L475VETx,然后在右侧Pack列表中点击相应的Install按钮进行安装。

如果下载太慢,可以点击左侧的链接,到官网下载,下载下来后,直接双击进行安装。

打开Keil uVision5,开始创建工程。点击菜单Project->New uVision Project...,然后选择项目保存路径。

随后,MDK自动弹出设备选择界面,在搜索框中输入STM32L475VET,然后选中STM32L475VETx,然后单击OK按钮。

随后MDK自动弹出运行时环境管理界面。展开CMSIS,展开里面的RTOS2,选中Keil RTX5,单击后边的描述可以查看相关Pack的详细使用文档。

展开Device,展开里面的STM32Cube HAL,选中GPIO

现在可以看到界面有黄色的警告,提示我们选择的Pack依赖其它Pack,点击左下角的Resolve按钮,自动选中依赖项。

最终效果如图

单击OK按钮,MDK会自动弹出界面,提示是否运行STM32CubeMX

点击Start STM32CubeMX按钮启动STM32CubeMX。

LED_R 接 PE7, LED_G 接 PE8, LED_B 接 PE9

本次实验只使用PE7,在STM32CubeMX中的Pinout view视图中将PE7配置为输出模式

展开左侧的System Core,点击GPIO,出现GPIO配置界面,将PE7配置为上拉模式

然后点击右上角的GENERATE CODE按钮生成代码

代码生成完成后,点击Close按钮。然后回到MDK界面,MDK界面自动弹出导入代码修改界面,点击是按钮。

点击编译按钮尝试编译

编译失败,提示有3个中断函数重定义了。这3个中断函数被RTX系统定义了。回到STM32CubeMX。

如果已经关闭了,可以通过MDK的运行时环境管理界面重新打开

 

在STM32CubeMX中,点击左侧的System Core中的NVIC,然后在中断配置界面中切换到Code generation选项卡,关闭其中的3个中断代码生成功能。

然后点击右上角的GENERATE CODE按钮,代码生成完成后点击Close按钮。

回到MDk界面,导入修改。然后再次编译,这次已经编译成功了。

 

开始写代码。

将Source Group1更改为Application,并添加C文件。

app.c中的代码:

#include <cmsis_os2.h>
#include <stm32l4xx_hal.h>

static uint32_t HZ;

static void app_main(void *arg)
{
	while (1) {
		/* Toggle PE7 */
		HAL_GPIO_TogglePin(GPIOE, GPIO_PIN_7);
		/* Sleep 0.5 second */
		osDelay(HZ * 0.5);
	}
}

void app_init()
{
	/* Get the RTOS kernel tick frequency */
	HZ = osKernelGetTickFreq();

	/* Initialize the RTOS Kernel */
	osKernelInitialize();
	
	/* Create a thread and add it to Active Threads */
	osThreadNew(app_main, NULL, NULL);
	
	/* Start the RTOS Kernel scheduler */
	osKernelStart();
}

打开STM32CubeMX:Common Sources中的main.c文件。

在USER CODE Includes中添加函数声明

 

在USER CODE 2中初始化app

打开Target选项配置界面

将Debug配置为ST-Link Debuger

然后对ST-Link进行设置

设置Flash Download,下载完成后执行复位并运行。

最后,执行编译,并下载代码到开发板运行。

  • 6
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
STM32L475开发板PDF原理图+AD集成3D封装库+主要器件技术手册,集成封装库型号列表如下: Library Component Count : 44 Name Description ---------------------------------------------------------------------------------------------------- ANT-2.4G ANT,2.4G,PCB天线 ATK-TEST-1*4-2.54mm 测试点 ATK_MODULE 单排母,1*6,2.54mm BEEP 3.3V有源蜂鸣器 BUTTON_DIP3 拨动开关SS-12F44 C-0402-SMD C-0603-SMD C-CAP-SMD-220uF/10V C-CEP-220uF/16V D-1N4148 Header-1*3-2.54mm 单排针-2.54mm Header-2*10-2.54mm 双排针-2.54mm Header-2*2-2.54mm 双排针-2.54mm Header-2*3-2.54mm 双排针-2.54mm Header-2*4-2.54mm 双排座-2.54mm IR-LED 1206红外发射管(侧) IR-LF0038GKLL-1 红外接收管SMD J-MICRO-USB-5S Micro USB 5.9有柱脚长1.25加长针 L-0420-4.7uH 电感,4.7uH,3A LCD-TFT-H13TS38A LCD,TFT,1.3'240*240,禹龙 LED-0603-RED 发光二极管-红色 LED-RGB-1615-0603 RGB,共阳,1615,0603 MIC-6022 MIC Motor-SMD 电机,SMD Phone-3-M 耳机座,三节 R-0402-SMD 贴片电阻 R-0805-SMD 贴片电阻 RT9193-3.3 S-KEY-SMD-324225 KEY,SMD,324225 S8050-SMD SD-MICRO-TF SD,MICRO,TF U-AHT10 Sensor,温湿度传感器 U-AP3216C Sensor.光照/距离 U-AP6181 WIFI Module,SDIO U-ES8388 AUDIO,2-ch DAC,2-ch ADC U-ICM-20608 三轴陀螺仪/三轴加速度计, U-L9110S 电机驱动,800mA U-RT9013-3.3 LDO,500mA U-STM32F103C8T6 U-STM32L475VET6 MCU,LQFP100,512K FLASH,128K RAM U-W25Q128 SPI FLASH,16M Y-12M-SMD 晶振 - 12M贴片 Y-3215-32.768K XTAL,3215,32.768K Y-3215-8M XTAL,3215,8MHz 主要器件技术手册: AHT10.pdf AP3216C.pdf AP6181.pdf ES8388.pdf ICM-20608.pdf L9110S_PDF_C13621_2016-04-16.pdf PT26-21B-TR8.pdf RT9013.pdf RT9193.pdf stm32f103c8.pdf STM32L475xxDataSheet.pdf TC214B.pdf TFTLCD_ST7789V2_SPEC_V1.0.pdf W25Q128.pdf
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奋斗-永无止境

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值