我是一个只能点灯的菜鸟;
相关文章
1 前言
本文基于ST
的STM32F767ZI NUCLEO144
结合开发板CubeIDE
的插件CubeMX
配置生成代码,点亮板载LED
,点亮可以说是单片机开发中的点亮hello world
,非常简单;
2 理论分析
2.1 LED 原理
发光二极管简称LED,生活几乎无处不在,由含镓组成(Ga
)、砷(As
)、磷(P
)、氮(N
)等化合物制成。。作为电路和仪器中的指示灯,或形成文本或数字显示。砷化镓二极管为红光,磷化镓二极管为绿光,碳化硅二极管为黄光,氮化镓二极管为蓝光。由于化学性质而分为和^1。
LED电路设计中的符号如下图所示,正向导通,反向截止;
所以这里有几个简单的介绍:① 正极通常接电;
② 通常接地;
确保流过电流在
5mA
-10mA
;
2.2 板载资料
上一篇文章写道如何快速构建CubeIDE此外,我还整理了官方信息,文档在这里,密码: 1rjv,打开en.DM00244518.pdf
,NUCLEO144
如下图所示;
LED
,下面就结合CubeIDE中的CubeMX插件配置生成相应的代码;
2.3 电路分析
解压文件en.nucleo_144pins_sch.zip
,打开原理图pdf文件MB1137.pdf
;可以看到,Blue LED
和Red LED
,如下图所示;
Green LED
如下所示;
Pin | LED | Mode |
---|---|---|
PB14 | RED | PP |
PB7 | BLUE | PP |
PB0 | GREEN | PP |
PP推挽输出;
3 CubeMX配置
打开CubeIDE
,
3.1 SYS 配置
板载一个,下面将使用下面的下载和调试程序SWD模式,所以这里的Debug选择Serial Wire
,如下图所示;
3.2 GPIO 选择
:在试图在芯片上找到所需的芯片Pin,本文使用了 PB14
,PB7
,PB0
,图中找到PB7
,并点击鼠标弹出菜单;
:选择GPIO
的模式为GPIO_Output
;如下图所示;
3.3 GPIO 配置
选择了三个Pin,分别为PB14
,PB7
,PB0
,所有配置为:
GPIO output level
:初始化完成后,输出电平状态较高;GPIO mode
:输出模式为推拉输出;上下拉模式:此处暂不配置,无影响;
完成后如下图所示;
4 程序生成
配置代码最终生成如下;
staticvoidMX_GPIO_Init(void) { GPIO_InitTypeDefGPIO_InitStruct={0}; /*GPIOPortsClockEnable*/ __HAL_RCC_GPIOB_CLK_ENABLE(); __HAL_RCC_GPIOA_CLK_ENABLE(); /*ConfigureGPIOpinOutputLevel*/ HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0|GPIO_PIN_14|GPIO_PIN_7,GPIO_PIN_SET); /*ConfigureGPIOpins:PB0PB14PB7*/ GPIO_InitStruct.Pin=GPIO_PIN_0|GPIO_PIN_14|GPIO_PIN_7; GPIO_InitStruct.Mode=GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull=GPIO_NOPULL; GPIO_InitStruct.Speed=GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOB,&GPIO_InitStruct); }
5 程序下载
将的CN4
和CN6
跳帽设置在下图的状态,使用板载STLINK
给板载的MCU
下载固件;
6 总结
千里之行,从点灯开始,后面还有很长的路要走,暂时先做个记录。
微信官方账号:小麦叔叔
CSDN:小麦大叔
长按下图二维码关注,独自前进,走得快;结伴而行,走得远;在这里除了肝出来的文章,还有一步一个脚印学习的点点滴滴;
关注和回答???开始成长之旅 ??。