STM32入门系列-使用库函数点亮LED软硬件分析

发布者:EtherealJourney最新更新时间:2022-11-17 来源: 知乎关键字:STM32  入门系列  库函数  点亮LED 手机看文章 扫描二维码
随时随地手机看文章

电路图分析
首先找来单片机的原理图,根据原理图进行相关的设计工作。


例如在上图中相同网络标号表示它们是连接在一起的,因此D1发光二极管阴极是连接在STM32的PC0管脚上,D2指示灯阴极连接在PC1管脚上,其他LED管脚以此类推。如果要使D1指示灯亮,只需要控制PC0管脚输出低电平, 如果要使D1指示灯灭,只需控制PC0输出高电平。如果你们使用的是其他板子,连接LED的管脚和极性不一样,那么只需要在程序中修改对应的GPIO管脚和输出电平状态即可,原理是一样的。


要点亮D1发光二极管,也就是让STM32的PC0管脚输出一个低电平。


库函数支持文件
如果采用的是库函数开发,需要复制创建好的库函数模板,在此模板上进行程序开发。将复制过来的模板文件夹重新命名为“使用库函数点亮LED”。打开此文件夹,在其目录下新建一个APP文件夹,用于存放我们开发板上所有外围器件的驱动程序,本章我们所要操作的外围器件是LED,所以在APP目录下再新建一个led文件夹用于存放我们编写的led驱动程序,假如后面要操作开发板上的蜂鸣器,同样在 APP 目录下新建一个beep文件夹用于存放蜂鸣器的驱动程序,这样做的好处是方便我们能够快速移植代码,并且工程目录也非常清晰,为后续维护带来方便。


创建的文件夹命名通常使用有一定意义的英文,易于别人读懂并维护。本章对STM32的GPIO外设操作,需在工程中添加stm32f10x_gpio.c和stm32f10x_rcc.c文件,对GPIO操作的函数都在stm32f10x_gpio.c中,stm32f10x_gpio.h是函数的申明及一些选项配置的宏定义。在工程模板中这个已经添加,在后面的实验中我们就不再强调工程模板已调用的那几个文件。 还需在KEIL5中把新建的APP下的led文件的路径包括进来。


关键字:STM32  入门系列  库函数  点亮LED 引用地址:STM32入门系列-使用库函数点亮LED软硬件分析

上一篇:STM32入门系列-复位程序
下一篇:STM32入门系列-启动文件介绍

推荐阅读最新更新时间:2024-11-12 18:50

Ubuntu下安装Stm32的Eclipse的开发环境(1)
在Ubuntu下安装Stm32的Eclipse的开发环境(1)安装过程中发现了 然后我又在网上Ubuntu下安装Stm32的Eclipse的开发环境(2)的文章 执行 apt-get install openjdk-6-jre-headless 这些这个命令还是安装不成功 然后我就在网上找了一个下更新源的方法 很明显没有安装成功 但是能识别找到这个软件包 更新方法 https://blog.51cto.com/wellfinger/303748 我转载过了 Ubuntu下安装Stm32的Eclipse安装——ubuntu更新源(含9.10和10.04) 其中 sudo apt-get upgrade 这个该过程比较久
[单片机]
Ubuntu下安装<font color='red'>Stm32</font>的Eclipse的开发环境(1)
STM32串口IAP实验中的地址问题
if(((*(vu32*)(0X20001000+4))&0xFF000000)==0x08000000)和if(((*(vu32*)appxaddr)&0x2FFE0000)==0x20000000)分析 首先要清楚:0x8000000是Flash的起始地址,0x20000000是SRAM的起始地址。jump2app()是一个虚拟函数(函数指针) (*(vu32*)(0X20001000+4))== (*(__IO uint32_t*)(0X20001000+4)) ==(*(volatile unsigned int*)(0X20001000+4)) (*(vu32*)(0X20001000+4)) 通过内存寻
[单片机]
<font color='red'>STM32</font>串口IAP实验中的地址问题
几种STM32开发IDE的比较与选择
用于STM32开发的IDE有很多,ST公司的网站上足足列出了19个,其中,常用的商业版软件有: MDK-ARM-STM32 IAR-EWARM 这两个商业版软件虽然好用,但终究是商业版软件。免费或评估版的软件要么有器件型号限制,要么有程序容量限制。 免费的STM32开发IDE有很多,基本上都是基于Eclipse+GNU GCC的。 网上有教程介绍如何手工用Eclipse + GNU GCC搭建STM32开发环境的,但是过程比较麻烦,而且因为版本的差异,各个教程的内容有差异,本人做了多次尝试都没有配置成功。 现在STMicroelectronics公司主推HAL+STM32CubeMX的开发方式,STM32Cu
[单片机]
几种<font color='red'>STM32</font>开发IDE的比较与选择
stm32 DAC+DMA 输出100K正弦波杠杠的
之前想用stm32的DAC输出正弦波,才用的方案是在死循环里面用for循环输出36点的电压值模拟成一个完整的正弦波。发现最多只能输出个20KHz的波形,在示波器下面能够看到明显的梯度。后来用DMA+ADC的模式发现可以上100K(不过频率有点飘),下面吧代码贴出来 void DAC_DMA_Configuration(void) { DAC_InitTypeDef DAC_InitStructure; DMA_InitTypeDef DMA_InitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; GPIO_InitTypeDef GPIO
[单片机]
stm32串口接收数据程序
void init_usart(void) //RCC初始化 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO,,ENABLE);//使能GPIOA时钟 RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2,ENABLE); //nvic NVIC_ InitTypeDef NVIC_InitStructure;#ifdef VECT_TAB_RAM NVIC_SetVectorTable(NVIC_VectTab_RAM,Ox0);#else NVIC_SetVectorTable(NVIC_VectTab_FL
[单片机]
基于STM32设计的计算器(实现基本运算)
1. 项目介绍 计算器是最常见的工具了,现在不管是手机、电脑都带有计算器功能,支持强大的科学运算等。 当前文章介绍的是STM32+LCD触摸屏设计的一个触摸计算器功能,实现基本的加减乘除,二进制转换显示等功能。LCD屏使用的是3.5寸带触摸屏的显示屏,方便操作屏幕,MCU采用STM32F103ZET6。 设计的这个计算器用到的硬件不多,主要是LCD屏和触摸屏,用到了一个W25Q64存储芯片,保存触摸屏校准后的一些配置数据,这个可有可无,只是方便不需要每次断电后重新校准。 运行效果图如下: 完整项目源码下载地址: https://download.csdn.net/download/xiaolong112662
[单片机]
基于<font color='red'>STM32</font>设计的计算器(实现基本运算)
STM32的ADC及内部温度传感器的使用
  STM32自带1-3个ADC模块,采样精度达到了12位,比起当年使用的AVR单片机的10位来说,上了个小档次了~本测试程序采用了ADC DMA的中断方式,这样CPU就可以把ADC的任务交给DMA这个勤劳肯干的部下了,当DMA完成了一次任务之后会产生中断,告诉CPU可以来查收结果了!DMA也是在嵌入式系统中非常常用的,例如在LCD中,数据拷贝中等。。。在STM32F103RBT6中,ADC1和ADC2共用一组管脚   总体编程思路和顺序如下:   1.初始化RCC相关,使得系统有时钟,功能模块如ADC、DMA有时钟。   2.GPIO相关初始化,比如常用的指示灯,ADC的管家要设置为输入等。   3.NVIC向量中断的配
[单片机]
一块STM32最小系统板来驱动电机
工作准备 驱动电机 1、硬件准备 一块STM32最小系统板:可以用自己的,也可以用nucleo板 驱动板:针对的是中小功率的伺服电机、马达,所以驱动模块一般可以选择分立的MOSFET或者集成的IPM模块,驱动板上需要包含: 位置信号接口:比如编码器和霍尔位置传感器 相电流采样与信号调理电路 过压、欠压、过流、过温保护 一款电机,这里需要知道电机的参数信息和位置接口 带有限流功能的数字电源或者电流限制在额定电流以下的开关电源 2、了解套件P-NUCLEO-IHM002,电机驱动板的各部分电路,电机的参数说明: Bull-Runningmodel BR2804-1700 kV Nominalvoltage
[单片机]
一块<font color='red'>STM32</font>最小系统板来驱动电机
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved