X
首页
技术
模拟电子
单片机
半导体
电源管理
嵌入式
传感器
最能打国产芯
应用
汽车电子
工业控制
家用电子
手机便携
安防电子
医疗电子
网络通信
测试测量
物联网
最能打国产芯
大学堂
首页
直播
专题
TI 培训
论坛
汽车电子
国产芯片
电机驱动控制
电源技术
单片机
模拟电子
PCB设计
电子竞赛
DIY/开源
嵌入式系统
医疗电子
颁奖专区
【厂商专区】
【电子技术】
【创意与实践】
【行业应用】
【休息一下】
最能打国产芯
活动中心
直播
发现活动
颁奖区
电子头条
参考设计
下载中心
分类资源
文集
排行榜
电路图
Datasheet
最能打国产芯
RF/无线
[原创] ST NUCLEO-WB09KE-程序烧录
rtyu789
2024-10-6 00:04
楼主
# 程序烧录 ## 安装pack包 本次开发式使用STM32CubeMX生成HAL库的方式,使用Keil5工具进行开发 首先下载软件pack包,在STM32CubeMX的Help->Manage embedded software packages选项卡下,选择STM32WB0系列芯片 ![1_help选项卡](/data/attachment/forum/202410/06/000204jvhyoh3cf03fw5y3.png.thumb.jpg?rand=8358.199841270924) ![2_Manage_embedded_software_packages](/data/attachment/forum/202410/06/000204tl1d004o7zklorq0.png.thumb.jpg?rand=9599.192292297656) 由于之前查看C盘的时候,看到STM32CubeMX的默认安装路径为C盘,占用了很大的空间,所以修改到了其他的位置,我修改的位置是: E:\STM32CubeMX\Repository\ 所以下载的pack包的位置是 E:\STM32CubeMX\Repository\STM32Cube_FW_WB0_V1.0.0\Utilities\PC_Software\Keil.STM32WB0x_DFP.1.0.0 手动打开就Keil5中就可以安装上了 ![3_Repository选项](/data/attachment/forum/202410/06/000205vv3ypwipsisuvfij.png.thumb.jpg?rand=9217.822308363824) ![4_pack包](/data/attachment/forum/202410/06/000206n9w7sotwsj0jzabs.png.thumb.jpg?rand=1678.8377833801337) # HAL库配置 使用STM32CubeMX配置HAL库总共有三种主要的方式 1. MCU/MPU Select——主要针对从芯片分类中选择 2. Board Selector——如果有开发板的话,可以选择开发板 3. Example Select——选择指定的MCU,可以看到官方为这块芯片开发的例程 ![5_MCU_MPU_Select](/data/attachment/forum/202410/06/000206mwwrgco4wg9hrr20.png.thumb.jpg?rand=7176.2901111911215) ![6_Board_Selector](/data/attachment/forum/202410/06/000207brb2c4299cc7lgzn.png.thumb.jpg?rand=4960.723983571269) ![7_Example_Select](/data/attachment/forum/202410/06/000208z5yoh88h8d55dhlo.png.thumb.jpg?rand=5193.652276601244) 先通过例程来熟悉这块开发板,所以先选择了GPIO_IOToggle来尝试,选择路径,直接安装,之后通过Keil5编译,所以选择MDK-ARM ![8_MDK_ARM](/data/attachment/forum/202410/06/000209x9rzkxurrjz9u7wa.png.thumb.jpg?rand=3323.839526217904) # Keil5程序烧录 由于板子上自带了ST-Link,所以在Keil5中选择ST-Link仿真器 ![9_ST_Link](/data/attachment/forum/202410/06/000210gaxv2w4r3f2r4d4j.png.thumb.jpg?rand=6444.480964435668) 点击setting,进行具体的配置,注意,一定需要将跳线帽转到和上面连接,setting界面才能正确识别 ![10_setting](/data/attachment/forum/202410/06/000210wpo9v702o7o0grzr.png.thumb.jpg?rand=5161.115480333045) 编译,下载,开发板没有任何变化!!!! 唔,正常程序下载后,开发板不会运行新的程序,需要在setting中将这个勾选,就可以烧写后自动运行 LED灯就开始交替闪烁啦 ![11_reset](/data/attachment/forum/202410/06/000210d74vd8jj7jd8lzhv.png.thumb.jpg?rand=3100.4302936256445) ```C++ // stm32wb0x_nucleo.h #define LEDn 3U #if defined(NUCLEO_WB09KE) || defined(NUCLEO_WB05KZ) #define LD1_GPIO_PORT GPIOB #define LD1_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() #define LD1_PIN GPIO_PIN_1 // main.c int main(void) { HAL_Init(); SystemClock_Config(); PeriphCommonClock_Config(); MX_GPIO_Init(); LD1_GPIO_CLK_ENABLE(); LD2_GPIO_CLK_ENABLE(); GPIO_InitStruct.Mode= GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull= GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; GPIO_InitStruct.Pin = LD1_PIN; HAL_GPIO_Init(LD1_GPIO_PORT, &GPIO_InitStruct); GPIO_InitStruct.Pin = LD2_PIN; HAL_GPIO_Init(LD2_GPIO_PORT, &GPIO_InitStruct); while (1) { HAL_GPIO_TogglePin(LD1_GPIO_PORT, LD1_PIN); HAL_Delay(100); HAL_GPIO_TogglePin(LD2_GPIO_PORT, LD2_PIN); HAL_Delay(100); } } // stm32wb0x_hal_gpio.c void HAL_GPIO_TogglePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin) { uint32_t odr; assert_param(IS_GPIO_PIN(GPIO_Pin)); odr = GPIOx->ODR; GPIOx->BSRR = ((odr & GPIO_Pin) << GPIO_NUMBER) | (~odr & GPIO_Pin); } ``` 程序分析,主函数中初始化了LED灯的GPIO引脚,在大循环中改变LED灯的电平,实现LED灯交替闪烁 ### 一些建议 STM32CubeMX的用户体验上总体不是很顺畅,不知道未来是否有改进的机会: 1. 登录问题,登录界面十分的卡顿,而且连接十分缓慢 2. 无法磁吸屏幕,在新建project的时候,如果需要挑选芯片或者例程,都需要自己手动调节分辨率大小,芯片数量十分的多,交互不太友好,并且使用win+方向键,不支持屏幕磁吸 3. 双屏拖动无法适应,我的外接显示器是4K的,笔记本显示屏是2K,在4K显示屏上将界面拖的很大,为了看到更多的信息,但是拖到笔记本显示屏上,窗口比例不会变化,下面的信息都看不到了
点赞
回复评论
暂无评论,赶紧抢沙发吧
最新活动
是德科技有奖直播 | 应对未来高速算力芯片的设计与测试挑战
免费申请 | 上百份MPS MIE模块,免费试用还有礼!
TI 有奖直播 | 使用基于 Arm 的 AM6xA 处理器设计智能化楼宇
Follow me第二季第3期来啦!与得捷一起解锁高性能开发板【EK-RA6M5】超能力!
报名直播赢【双肩包、京东卡、水杯】| 高可靠性IGBT的新选择——安世半导体650V IGBT
30套RV1106 Linux开发板(带摄像头),邀您动手挑战边缘AI~
随便看看
DIY一个LED小应急灯电路图
DSP设计问答(硬件选择阶段)
C28x软件提示:如何查看软件示例与文档
裸机环境下将外部存储器EMMC中的启动代码搬移到SOC内部的SRAM中执行????
创造力,幻想,臆想天开 - 大家可以得出自己的结论
PIC24FJ64GA002 引脚控制
基站被盗的几大理由
用Keil仿真经常出问题,无厘头
想换个智能手环
学习嵌入式Linux——by liusukai
TI研讨会中奖“TMDX5515EZDSP 开发板和工具包 ”
CC2500移植说明
安检门原理及常见问题和维修方法
【视频分享】TMS320C64x+网络课程9 - sRIO(串行RapidIO)
索尼研发无线供电的目的是什么?
都说DSP,搞半天都不知道DSP是什么
TI 新年征文 《八年相伴,情仇恩怨》多图慎入
怎么根据下面的时序图写程序
一上电就烧TD7590S,靠近1脚的地方,也就是输入脚,不知道什么原因
【迪文串口屏】核酸采样登记系统之二:准备背景图片
电子工程世界版权所有
京B2-20211791
京ICP备10001474号-1
京公网安备 11010802033920号
回复
写回复
收藏
回复