[stm32] LED】的更多相关文章

/**************************************************************************** * 文件名: main.c * 内容简述: * * 演示的是3个蓝色LED(LED1-LED3) 轮流闪烁 定义: LED1-LED3 ---V6——V8 V6----- PB5-LED1 V7----- PD6-LED2(仅V2,V2.1 V3板) V8----- PD3-LED3(仅V2,V2.1 V3板) 基于MDK版本: 3.8 基于…
摘要 利用STM32CubeMx配置STM32芯片的功能,然后将配置后的内容生成代码,并导出成可以使用Keil打开编辑的文件,在Keil中添加控制代码后,下载到Proteus仿真中,使用仿真观察代码执行结果.     所需软件 1) STM32CubeMx 下载地址:https://www.st.com/en/development-tools/stm32cubemx.html 2) Keil 软件版本:uVision V5.14.2 3) Proteus 软件版本:8.9 ps2 实现的功能…
近两年,微软越来越拥抱开源支持跨平台,win10搭载Linux子系统,开源VSCode作为跨平台编辑器,VS2017官方支持了Linux和嵌入式开发功能. ST也是,近两年开发的软件工具基本都是跨平台(基于Java)的,比如STM32CubeMX,MCUFinder,STM32CubeProgrammer等.17年年底收购了truestudio的开发公司-Atollic.这个公司的IDE就是基于Eclipse使用GNU套装的. 官方都支持了,那我们有必要了解一下.要是好用,说不定就可以淘汰老旧的…
3D相关开发 [direct-X] 1.direct-X最小框架 [OpenGL] 1.环境搭建及最小系统 [OpenGL] 2.企业版VC6.0自带的Win32-OpenGL工程浅析 51单片机 [51单片机] 1602液晶显示控制代码 [51单片机] 1602液晶显示控制代码2 [51单片机] 定时器1 [51单片机] 定时器2-计数示例 [51单片机] 定时器3-计时示例 [51单片机] 中断1-中断整体介绍 [51单片机] TFT2.4彩屏1 [文字显示 画矩形] [51单片机] TFT…
要移植操作系统,汇编是道不得不跨过去的坎.所以承接上篇的思路,我准备用汇编写一个简单的闪烁LED灯的程式.以此练习汇编,为操作系统做准备. 第一步,还是和上篇一样,建立一个空的文件夹. 第二步,因为是要用汇编来写程式,所以不需要启动代码,这里选择否. 第三步,建立一个.s文件,并把文件添加到工程中. 第四步,在LED.s文件中添加如下代码. LED0 EQU 0x422101a0 RCC_APB2ENR EQU 0x40021018 GPIOA_CRH EQU 0x40010804 Stack_…
本文讲述的是如何从零开始,使用keil建立一个简单的STM32的工程,并闪烁LED灯,给小白看. 第零步,当然首先你得有一个STM32的板子,其IO口上接了一个LED... 第一步,建立一个文件夹0.0 第二步,打开keil,建立工程 在弹出来的对话框中选择你所用的STM32的芯片. 在接下来弹出来的对话框中选择是,这样keil就帮我们建立好了启动文件. 第三步,新建一个main.c文件,并添加到工程中. 点击New按钮,建立一个文本文件. 在建立的文本文件中输入C中的main函数 点击保存 保…
STM32学习笔记——点亮LED 本人学习STM32是直接通过操作stm32的寄存器,使用的开发板是野火ISO-V2版本: 先简单的介绍一下stm32的GPIO: stm32的GPIO有多种模式: 1.输入浮空 2.输入上拉 3.输入下拉 4.模拟输入 5.开漏输出 6.推挽式输出 7.推挽式复用功能 8.开漏复用功能 stm32GPIO模式设置相关寄存器设置的介绍 stm32中文参考手册中对GPIO模式设置对应寄存器的详细介绍: 下图为开发板LED的接线图: 根据上面的电路图可知,将GPIOB…
上一篇:[stm32][ucos] 1.基于ucos操作系统的LED闪烁.串口通信简单例程 * 内容简述: 本例程操作系统采用ucos2.86a版本, 建立了7个任务            任务名                                             优先级            APP_TASK_START_PRIO                               2            主任务            APP_TASK_USER_…
这个LED的小程序基于的是德飞莱的最小系统板 我当时写这个程序的时候想的就是这个程序能够便于理解 也便于移植 便于调用 我参加过电赛 对于STM32的一个管脚修改的麻烦是深有体会 一个地方不对就没法工作 所以这次我写这个库的时候 我也特别注意了这些方面 一个小LED 挺简单的 有时候用来做调试用的话 我觉得还是挺好的 下面我将自己的源码分享  个人能力有限 大神不要笑哈!!! 在这个源码里面 你仅仅只需要修改 的内容 就可以快速的对STM32的任意一个管脚实行 高低电平控制的 注意就是里面有个d…
引言 最近报名了2017全国大学生电子设计竞赛,我们学校是第一次参加这个比赛,由于8/9月份就要比赛了,所以现在准备是比较晚的了,指导老师说只能做控制类的题目了,让我们学习一下STM32单片机,51到时候肯定不够用了,正好前几天买了一块STM32F103ZET6的最小系统,那就赶紧学习吧!从哪里学习呢?同样是从点亮一个小灯开始,就建个工程模板就让我没有耐心了,折腾了一上午终于把工程建立好了, 关于STM32 简介 STM32系列基于专为要求高性能.低成本.低功耗的嵌入式应用专门设计的ARM Co…
目录: 一.时钟使能,包括GPIO的时钟和串口的时钟使能 二.设置引脚复用映射 三.GPIO的初始化配置,注意要设置为复用模式 四.串口参数初始化配置 五.中断分组和中断优先级配置 六.设置串口中断类型并使能串口中断 七.编写中断服务函数函数名格式为函数名格式为 USARTxIRQHandler(x 对应串口号). 八.主函数的实现. 一.时钟使能,包括GPIO的时钟和串口的时钟使能 RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE); //…
详解请看其他博客: http://www.cnblogs.com/whik/p/6672730.html http://www.51hei.com/bbs/dpj-38605-1.html /*本程序实现STM开发板上LED灯红绿蓝闪烁*/ #include "stm32f10x.h" // 相当于51单片机中的 #include <reg51.h> #include "stm32f10x_gpio.h" /* *由于STM32的GPIO工作模式有8种(…
STM32的I/O口可以由软件配置成如下8种模式:输入浮空.输入上拉.输入下拉.模拟输入.开漏输出.推挽输出.推挽式复用功能及开漏复用功能.每个I/O口由7个寄存器来控制:配置模式的端口配置寄存器CRL和CRH(模式.速度):数据寄存器IDR和ODR:置位/复位寄存器BSRR:复位寄存器BRR:锁存寄存器LCKR. I/O口模式: GPIO的8种模式 通用输出 推挽输出(Push-Pull) 可以输出高.低电平,连接数字器件   开漏输出(Open-Drain) 开漏引脚不连接外部的上拉电阻时,…
转载请注明:https://www.cnblogs.com/rockyf/p/11691622.html 开篇 开篇一定要精彩,不然路人不理睬!下述是笔者作为arm小白的填坑之旅 没错,这个之前一直从事软件开发的笔者,开始搞硬件了,当然仅仅是数电!模电需要有很扎实的电路基础,而笔者有的只有"扎实"的逻辑基础. 那为什么笔者要开始搞硬件呢? 其实早在大学期间,笔者所在专业(计算机科学与技术)中就有一门课就专门讲了硬件-软件的连接以及实现,只怪当初没有好好学,只是心中有那么个印象,就是时钟…
前言:我们学习一门新语言的时候都是先从hello world入门,stm32也有自己的入门方式,那就是流水灯的配置. 在配置之前我们需要先配置好编译环境,我们需要手动修改头文件中的一些内容. 1.首先我们需要先创建一个新工程,前面我已经详细讲过怎么创建一个新工程了,在这里就不赘述了,不懂的朋友可以看看我的上一篇的随笔(stm32环境搭建). 2.修改系统时钟,把文件system_stm32f4xx.c(Startup)文件中的PLL_M宏定义改为8,PLL_N如果不是336的话改成336,还有s…
我是一个只会点灯的菜鸟: 相关文章 [STM32系列汇总]小白博主的STM32实战快速进阶之路(持续更新) 文章目录 相关文章 1 前言 2 理论分析 2.1 LED 原理 2.2 板载资料 2.3 电路分析 3 CubeMX配置 3.1 SYS 配置 3.2 GPIO 选择 3.3 GPIO 配置 4 程序生成 5 程序下载 6 总结 1 前言 本文基于ST的STM32F767ZI NUCLEO144开发板,结合CubeIDE的插件CubeMX配置生成代码点亮板载的LED,点亮可谓是单片机开发…
STM32之旅1--LED 学习了51单片机后,就要接触到更高级一点的单片机了,比如STM32,ST也有很多款单片机,现在用比较基础的学习--STM32F103RCT6. LED驱动 hal库的使用比较简单,可以直接在STM32CubeMX中分配好IO之后一键生成工程,为了提高程序的可读性,自己写一个头文件,在调用过程中会比较简单. drv_led.h: #ifndef __DRV_LED_H #define __DRV_LED_H #define LED1_PIN GPIO_PIN_8 #de…
要点亮LED,需要完成LED的驱动, 在工程模板上新建一个led.c和led.h文件,将其存放在led文件夹内.这两个文件需要我们自己编写. 通常xxx.c文件用于存放编写的驱动程序,xxx.h文件用于存放xxx.c内的stm32头文件.管脚定义.全局变量声明.函数声明等内容. 因此在led.c文件内编写如下代码: #include "led.h" /********************************************************************…
电路图分析 首先找来单片机的原理图,根据原理图进行相关的设计工作. 例如在上图中相同网络标号表示它们是连接在一起的,因此D1发光二极管阴极是连接在STM32的PC0管脚上,D2指示灯阴极连接在PC1管脚上,其他LED管脚以此类推.如果要使D1指示灯亮,只需要控制PC0管脚输出低电平, 如果要使D1指示灯灭,只需控制PC0输出高电平.如果你们使用的是其他板子,连接LED的管脚和极性不一样,那么只需要在程序中修改对应的GPIO管脚和输出电平状态即可,原理是一样的. 要点亮D1发光二极管,也就是让ST…
GPIO工作模式 由于GPIO内部的结构关系,决定了GPIO可配置成以下几种模式. 输入模式 在输入模式时,施密特触发器打开,输出被禁止.可通过输入数据寄存器GPIOx_IDR读取I/O状态.输入模式可以配置为模拟.上拉.下拉以及浮空模式.上拉和下拉输入很好理解,默认的电平由上拉或者下拉决定.浮空输入的电平是不确定的,完全由外部的输入决定,一般接按键的时候可以使用这个模式.模拟输入则用于 ADC 采集. 输出模式(推挽/开漏) 在输出模式中,推挽模式时双MOS管以推挽方式工作,输出数据寄存器GP…
一.效果展示 观看演示效果:https://www.bilibili.com/video/BV1dv411Y7x3 使用STM32 HAL库编程 PWM+DMA控制输出,CubeMX生成初始工程 实现全彩音乐灯 WS2812B全彩流水灯效果展示及理论详细讲解 WS2812B的主要用途是在路边的氛围灯,我们在一些公园里看到五彩斑斓闪烁的灯基本都是WS2812为基础的灯带 另外我们还可以通过纯软件延时的方式来控制数据发送,这可以方便程序移植 二. 基础认识 (一)  小理论 WS2812B是一种智能…
前言   stm32系列是最常用的单片机之一,不同的版本对应除了引脚.外设.频率.容量等'不同之外,其开发的方法是一样的.  本章讲解使用GPIO引脚功能驱动LED灯和接收Key按钮输入.   STM32系列GPIO驱动LED灯   先来笔者根据自己使用的开发板的电路来使用GPIO进行LED操作,下图是笔者使用的开发板LED灯的电路图:    引脚PD6接LED1,PD12接LED2,PD13接LED3,电阻是限流电阻(计算方式高电平减去LED1的压降,然后除以LED能流过的电流).  复制模版…
使用位带操作,位带操作就是把每个比特膨胀成一个32位的字,当访问这些字的时候就访问这些比特位. http://www.cnblogs.com/xiaobo-Linux/ 然后,端口使能: //³õʼ»¯PB5ºÍPE5ΪÊä³ö¿Ú.²¢Ê¹ÄÜÕâÁ½¸ö¿ÚµÄʱÖÓ //LED IO³õʼ»¯ void LED_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Perip…
* 内容简述: 本例程操作系统采用ucos2.86a版本, 建立了5个任务            任务名                                             优先级            APP_TASK_START_PRIO                               2            主任务                          Task_Com1_PRIO                                …
开发板芯片:STM32F407ZGT6 PA9-USART1_TX,PA10-USART1_RX; PF9-LED0,PF10-LED1; 一.串口1配置过程(不使用串口中断): 1.使能时钟,包括GPIO时钟和串口1时钟使能,注意它们是挂载在不同的时钟总线上的. RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE); //使能端口时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);…
一 跑马灯原理:  1.1 本实验实现2个led的跑马灯效果,即2个led交替闪烁.  1.2 实验思路:根据电路图原理,给led相关引脚赋予高低电平,实现电路的导通,使led灯发光.  1.3 开发环境 : MDK5 库函数版本开发 JLINK仿真 二 实验步骤:  2.1  led.h代码:           #ifndef __LED_H           #define __LED_H                ``#include "sys.h"           …
. main.c - 使用PB12, PB13, PB14, PB15, PB5, PB6, PB7 这七个PB口点亮LED. 注意PB3和PB4是特殊口, 直接调用无效. #include "delay.h" #include "stm32f10x.h" int main(void) { u16 i; u8 j; uint16_t gpios[] = {GPIO_Pin_12, GPIO_Pin_13, GPIO_Pin_14, GPIO_Pin_15, GPIO…
#include "led.h" void TIM3_Int_Init(u16 arr,u16 psc) { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; NVIC_InitTypeDef NVIC_InitStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //设置TIM3时钟使能 TIM_TimeBaseStructure.TIM_Period = arr;…
在用c语言写LED流水灯的前提条件是配置好其他环境,这里我就不说环境了, 想让LED灯无限循环时,首先要想到的是无限循环函数,我这里利用的是for函数 无限循环. #include "stm32f10x_conf.h"#include "led.h"#include "delay.h" int main(void){ LED_Init(); delay_init(); int i; for(i=0;;i++) { if(i%5==1) { LED…
刚才看了一下STM32通用定时器的教程,其实和51的定时器使用差不多.只是因为32的时钟更复杂,可操控的寄存器更多,所以写的时候可能更复杂. 使用通用定时器中断的一般步骤:1.使能定时器时钟 这个需要看时钟树,使能对应的时钟就好了.这里我使用的是TIM3,所以使能APB1的时钟即可. 2.设置定时器的分频系数和重装载值 定时器中断的时间为:Tout = (arr+1)/[Tclk/(psc+1)] 其实这个定时器中断时间还是要具体分析,这里是这样,其他地方或许不是这样,具体还是要参考<STM32…