我是一个只能点灯的菜鸟;
相关文章
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:小麦大叔
长按下图二维码关注,独自前进,走得快;结伴而行,走得远;在这里除了肝出来的文章,还有一步一个脚印学习的点点滴滴;
关注和回答???开始成长之旅 ??。