历史上的今天
返回首页

历史上的今天

今天是:2025年07月18日(星期五)

正在发生

2019年07月18日 | STM32cubeMX学习记录1-点亮LED

2019-07-18 来源:eefocus

一、准备工作:


1、安装STM32cubeMX软件,注意我使用的是5.0版之前的



2、安装keil-ARM软件,注意版本最好是5.2.6以后的


3、准备一个开发板


二、点灯实验(PB5接一个LED灯,低电平灯亮,高电平灯灭)


(后续涉及到多种方式操作的,只讲解一种,追求能实现目的即可)


1、打开STM32cubuMX软件



2、选择左边居中位置的“New Project”进行新建一个工程;


3、先输入开发板上芯片的型号,然后再双击选择实际的芯片封装;



4、晶振RCC设置,根据自己开发板上的情况选择。如图是开发板上的外部HSE和LSE都选择上了。



5、仿真器设置:使用ST-LINK,要在SYS内选择serial wire,同时打开嘀嗒定时器systick。


注意:如果没有选择serial wire,那么用ST-LINK第一次下载程序后就不能下载了,只能通过串口下载其他程序到单片机把程序覆盖才能恢复ST-LINK下载。



6、鼠标可以放在芯片的图片上操作(按住左键可以移动芯片,中间滚轮可以放大缩小,按住右键也可以移动芯片)。在芯片四轴的引脚上,鼠标左键可以选择引脚的功能(输入、输出等),选择完功能后,用右键可以设定引脚的定义,比如LED。选中的引脚会变颜色做区分。这里LED选择PB5,GPIO-OUTPUT


7、时钟树调整,未调整前SYSCLK是8MHz,调整后SYSCLK是72MHz,同时PCLK1要调整为36MHz。


注意:晶振频率可以根据实际情况进行调制



8、引脚设定(其实这里只要设定一个LED的引脚就可以了)


Configuration --System下的GPIO--选中PB5-下面会出现引脚的相关设定(这里设置低电平,推挽输出模式,低速率)



9、项目设定project-setting,设置这个工程的名称LED,存储的地址,保存keil5等等


10、选择Project-Generate code 生成工程文件


11、生成后会跳出提示,点击中间的打开工程(前提是你已经安装的keil-arm软件)



12、打开软件后编译一次,看是否有错误


13、如果输入中文没法显示,则要进入Edit-Configuration-encoding选择chinese GB2312保存即可



14、从程序中的main.c文件中的MX_GPIO_Init();函数可以定位到GPIO的设定,里面有


HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);//输出低电平。所以程序直接下载下去灯就常亮了。


再次追踪HAL_GPIO_WritePin()函数可以找到stm32f1xx_hal_gpio.c文件,里面可以看到很多相关的函数,其中选择三个函数如下:


void HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState) //可以设定高低电平


比如HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);//输出低电平


       HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);//输出高电平


       void HAL_GPIO_TogglePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)//IO口翻转函数


比如HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin)


最后,在stm32f1xx_hal.h文件中有一个延时函数void HAL_Delay(uint32_t Delay);


这几个函数就可以简单的做一个LED闪烁实验了。



15、ST-LINK下载还需要注意几点:


Reset and Run要选择上,下载完开发板才会自动运行。


推荐阅读

史海拾趣

GS Yuasa Battery Sales UK Ltd.公司的发展小趣事

对于基本二阶段低通滤波器电路,网友可能会有多方面的问题。以下是一些常见问题及其详细回答:

1. 基本二阶段低通滤波器电路的结构是怎样的?

回答:基本二阶段低通滤波器电路通常由两个一阶低通滤波器级联而成,每个一阶低通滤波器包含一个电阻和一个电容。具体来说,电路由两个电阻(R1, R2)和两个电容(C1, C2)组成。输入信号首先经过R1和C1组成的一阶低通滤波器,然后其输出再经过R2和C2组成的第二个一阶低通滤波器。这种结构可以有效滤除输入信号中的高频分量,只保留低频部分。

2. 如何计算二阶段低通滤波器的截止频率?

回答:二阶段低通滤波器的截止频率并非简单地将两个一阶滤波器的截止频率相加或平均。实际上,其截止频率与两个电阻和两个电容的值都有关。对于RC滤波器,单个一阶低通滤波器的截止频率为f_c1 = 1/(2πR1C1)和f_c2 = 1/(2πR2C2)。然而,对于二阶RC低通滤波器,其总截止频率通常使用以下公式计算:

f_c = \frac{1}{2\pi\sqrt{R_1R_2C_1C_2}} \] 这个公式考虑了两个滤波阶段的相互作用。 ### 3. 二阶段低通滤波器相比一阶滤波器有哪些优势? **回答**:二阶段低通滤波器相比一阶滤波器在滤波效果上有显著优势。具体来说,二阶段滤波器在通带内的增益更为平坦,而在阻带内的衰减速度更快(通常为-40dB/dec,比一阶滤波器的-20dB/dec快)。这意味着二阶段滤波器能更好地滤除高频噪声,保留低频信号,从而改善信号的纯度和信噪比。 ### 4. Sallen-Key结构和多路反馈结构(MFB)有什么区别? **回答**:Sallen-Key结构和多路反馈结构(MFB)是二阶低通滤波器的两种常见拓扑结构。Sallen-Key结构通常用于单位增益、高增益精度和低Q值的应用中,其电路结构相对简单,且对运算放大器的性能依赖性较小。而多路反馈结构(MFB)则适用于需要高Q值和高增益的应用场景。MFB结构通过引入额外的反馈路径来实现更高的Q值和更灵活的增益控制,但相应地,其电路复杂度也更高。 ### 5. 在实际应用中,如何选择合适的二阶段低通滤波器参数? **回答**:在选择二阶段低通滤波器的参数时,需要根据具体的应用需求来确定。首先,需要明确滤波器的截止频率,这取决于需要滤除的高频噪声的频率范围。其次,需要考虑滤波器的增益和相位特性,以确保信号在通过滤波器后能够保持所需的幅度和相位关系。最后,还需要考虑滤波器的稳定性和实现复杂度,以确保滤波器在实际应用中能够稳定可靠地工作。 在实际设计过程中,可能需要通过仿真软件来验证所选参数的效果,并根据仿真结果进行调整和优化。此外,还需要注意选择高质量的元件来构建滤波器电路,以确保滤波器的性能和稳定性。
Astron Wireless Technologies Inc公司的发展小趣事

Astron Wireless Technologies Inc公司注重企业文化的建设和发展。公司倡导创新、合作、共赢的企业文化,鼓励员工积极参与技术创新和业务拓展。同时,公司还注重员工的培训和发展,为员工提供广阔的职业发展空间和丰富的福利待遇。这种积极向上的企业文化使得公司能够吸引和留住一批优秀的人才,为公司的长远发展提供了有力保障。

这些故事展示了Astron Wireless Technologies Inc公司在发展过程中可能遇到的挑战和机遇,以及公司如何应对这些挑战并抓住机遇实现持续发展的过程。然而,需要强调的是,这些故事仅为虚构,不代表公司的真实发展历程。要了解公司的真实情况,建议查阅相关的新闻报道、行业分析报告或公司官方资料。

FERYSTER公司的发展小趣事

在快速发展的过程中,FERYSTER公司非常注重企业文化的塑造。公司倡导“创新、协作、责任、卓越”的价值观,鼓励员工勇于创新、敢于担当。同时,公司还注重员工的成长和发展,为员工提供各种培训和学习机会。这些措施使得FERYSTER公司成为了一个充满活力、积极向上的团队,为公司的发展提供了源源不断的动力。

Alutronic Kuhlkorper Gmbh & Co Kg公司的发展小趣事

在全球环保意识日益增强的背景下,FERYSTER公司积极响应环保号召,推动企业的绿色转型。公司采用环保材料替代传统材料,优化生产工艺减少能源消耗和废弃物排放。此外,公司还积极推广绿色电子产品,引导消费者关注环保问题。这些努力不仅提升了公司的社会形象,也为公司带来了更多的商业机会。

Diodes公司的发展小趣事

在半导体行业中,产品质量是企业生存和发展的基石。Diodes公司深知这一点,始终将产品质量放在首位。公司建立了完善的质量管理体系,从原材料采购、生产制造到产品检验,每一个环节都严格把控。同时,Diodes还不断引进先进的生产技术和设备,提高生产效率和产品品质。这些努力使得Diodes的产品在市场上赢得了良好的口碑,赢得了众多客户的信赖。

ALLTHREAD公司的发展小趣事

随着产品质量的不断提升,ALLTHREAD开始积极拓展市场。他们与多家国际知名电子企业建立了合作关系,共同开发适用于不同应用场景的螺栓产品。通过国际合作,ALLTHREAD不仅提升了自身的技术水平,还进一步扩大了市场份额。

问答坊 | AI 解惑

单片机常用开发板原理图

大家好,上传一个单片机开发板的原理图,如果有错误请大家修改后再上传。 希望和大家共同研究,后面我将会上传有关LED电子显示屏的PCB图。希望大家多多指导! [ 本帖最后由 caihong0217 于 2008-11-1 15:07 编辑 ]…

查看全部问答>

单片机驱动继电器问题,用2个电源是否多余

用单片机一个口接一个光耦TLP521,然后光耦接三极管,三极管驱动继电器,继电器和光耦的右端都是一个电源,单片机和光耦的左端是一个电源。 问题1:这样的设计对提高系统稳定性有效果么 问题2:其中光耦是不是多此一举,可以去掉呢 这里ZC0是接 ...…

查看全部问答>

点阵显示的移动

  #include <reg51.h>#include <absacc.h> #define uchar unsigned char#define uint  unsigned int#define hang0  XBYTE[0X7FFF]#define hang1  XBYTE[0XbFFF]#define lie    XBYTE[0XDFFF] char co ...…

查看全部问答>

[原创].使用Nios II 9.1 SP1 SBTE的Flash Programmer的几点注意事项.[Nios II]

自从Altera公司推出Nios II  9.1 Software Build Tools for Eclipse(简称Nios II 9.1 SBTE),许多新特性的引入,令众多使用者感到欣慰,尤其是在编译的速度上。但是Nios II 9.1 SBTE并不完美,譬如说无法调用用户自定义外设的HAL文件、无 ...…

查看全部问答>

我的CAMERA中断怎么使能了就不能禁止了?我把使能位清掉了还是关不了中断,虽然关不了,但不能进行实时捕捉了,什么原因?

我的CAMERA中断怎么使能了就不能禁止了?我把使能位清掉了还是关不了中断,虽然关不了,但不能进行实时捕捉了,什么原因?…

查看全部问答>

wince wifi有问题

WINCE在开机后自动弹出来一个WIFI无线配置的窗口,但是这个窗口比LCD高了,有没有好办法把这个窗口缩小一点呀!如果单改代码来缩小窗口,那窗口上的控件也要调整,比较麻烦,改资源文件又好像只有英文版的才有效,哪位前辈能给小弟一点建议呀?!…

查看全部问答>

高手请进

   大家好呀!!我今天想问一下大家一个有关usb接口的问题:我们学校机房中的电脑所有的usb接口都被禁止了,请问大家要怎样破解!!或者有什么好的破解这个的软件,还有就是那个接口被禁止是不是老师那台机子控制的?…

查看全部问答>

细细学习版主须知的感受

在浏览版块时候,看到了版主驿站,细细品读了一下soso姐写的东西,才知道还有这么多的东西需要注意学习,对自己的这则也有了很清楚的认识,感觉自己突然想有了工作的人似的还有工资 但是更重要的是对eeworld的理解更进一步的加深了,在奖惩方面,e ...…

查看全部问答>

请教:CC里可以调用printf函数吗?

我看书上的C语言例程是调用了printf函数的。 但我编的一个小程序里却因为调用了printf函数,而链接不成功。 我的程序框架是这样的: #include "regs2407.h" #include "stdio.h" void main(void) {       &nbs ...…

查看全部问答>

LPC1768 燒錄問題

各位大大好  小弟我是大三生之前都是用8051寫程式  後來老師說要微型化 所以買了一個LPC1768這個ARM的開發版http://twarm.com/commerce/product_info.php?products_id=844我是用FT232R去燒錄的類似這樣的接腳http://www.bing.com/images/ ...…

查看全部问答>