我写的一个矩阵按键,只用两个按键就可以实现控制多种led灯流水灯亮法
单片机源程序如下:
#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"
#include "key.h"
int main(void)
{
u8 s=1;
u8 m=1;
HAL_Init(); //初始化HAL库
Stm32_Clock_Init(360,25,2,8); //设置时钟,180Mhz
delay_init(180); //初始化延时函数
uart_init(115200); //初始化USART
LED_Init(); //初始化LED
Key_X_init(); //初始化按键
Key_Y_init();
while(1)
{
u8 key;
led_mode_config(s,m);
key=KEY_Scan(0); //按键扫描
switch(key)
{
case 1:
{
s++;
while(s==9) s=1;
}
break;
case 2:
{
m++;
while(m==7) m=1;
}
break;
default://??
{
}
break;
}
key = 0;
}
}
关键字:STM32 按键 变量控制 花样灯亮法
引用地址:
STM32通过两个按键变量控制多种花样灯亮法源程序
推荐阅读最新更新时间:2024-10-31 01:54
意法半导体十周年:进击的STM32,进击的物联网
2017年6月,一个平凡的月份,可对于意法半导体来说,却是一个不平凡的印记——因为它距离2007年6月,也就是意法半导体发布全球首款STM32微控制器的时间,已经过去整整十年了。 正值STM32十周年生日之际,意法半导体再次于一年一度的世界移动大会.上海展高调亮相,这一次的主题是“STM32推动物联网的发展和创新”。同期展出了应用于智慧城市、智能家居、智能硬件和智慧工业的宽泛的传感器、微控制器和电源管理等整体解决方案。 作为上游厂商,技术驱动型的意法半导体在其明星产品STM32身上可谓志得意满。截止2016年年底,STM32品牌的MCU在中国占据了高达36%的出货量,遥遥领先于其他同类厂商,王者级的表现。据悉,亚马逊的智能
[单片机]
如何将CoreMark程序移植到STM32
说起CoreMarK,可能对于很多人来说并不陌生。经常看到有人在谈及一些中央处理器时往往会提到它的COREMARK是多少多少。它其实就是一项用来测试各类中央处理器性能的基准代码。代码使用C语言写成,包含列举、数学矩阵操作、状态及CRC等运算法则。 目前CoreMark已迅速成为测量与比较各类处理器性能的业界标准的测试基准。CoreMark得分越高,意味着性能更高。大家在CoreMark的官网上可以可以看到各家处理器各型号的CoreMark得分。也可以从CoreMark的官网上下载测试代码,亲自评测一下自己手中芯片的性能。CoreMark官网的链接地址如下: http://www.eembc.org/coremark/ind
[单片机]
小试STM32中断程序
前段时间用STM32F103VBT6写了一个中断的函数,借此机会想了解下STM32的中断机制,用过之后发现STM32的中断配置相当灵活,稳定行很高,测试发现几乎没出过什么差错。我在程序里开了三个中断,一个计数器用于精确延时用,另外两个为外部事件处理中断,下面一一详细介绍,方便初学者入门。 在进行STM32中断配置之前首先需要了解下它的中断部分: 一、Cortex-M3中断机制 在STM32处理器中有43个可屏蔽中断通道(不包含 16个 Cortex™-M3的中断线)。共设置了16个可编程的优先等级(使用了 4位中断优先级);它的嵌套向量中断控制器(NVIC)和处理器核的接口紧密相连,可以实现低延迟的中断处理和有效处理地处理
[单片机]
STM32管脚的复用与重映像关系
最近记忆力以指数形式下降,以前弄明白的东西结果又忘了,故而将之写下避免下次又得重新查阅资料 这里讲的是关于STM32F10X的,和STM32F0XX系列的还是有一些区别的,F0的下次有空在写了.... 概括一下:复用就是一个引脚有几个功能,1.做普通IO输入输出2.其他外设的输入输出(比如I2C,TIM,SPI等等),这就是复用。 重映射就是将引脚功能重新定义到其他引脚,例如PA9是USART1-TX默认的管脚,但是现在PA9用做它用了,那可以将USART1-TX重新映射到PB6,当然这种映射不是随意的想映射到哪个脚就哪个脚,芯片内部已经固定了只能映射到固定的地方 OK,说完了概念 下面是用法 MCU复位后PA8的默认功能是普通
[单片机]
STM32 内部时钟输出PA.8(MCO)
STM32的PA.8引脚具有复用功能——时钟输出(MCO), 该功能能将STM32内部的时钟通过PA.8输出. 操作流程: 1)、设置PA.8为复用Push-Pull模式。 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_Init(GPIOA, &GPIO_InitStructure); 2)、选择输出时钟源。 时钟的选择由时钟配置寄存器(RCC_CFGR)中的MC
[单片机]
stm32驱动LCD
(1)头文件的编写方法 示例:// 头文件 file.h #ifndef FILE_H //FILE_H 可以随便写,只是一个标号是为了防止头文件重复定义 #define FILE_H //要和上面的这个一样, void fun(); void fun1(); void fun2(); void fun3(); .......... .......... #endif
[单片机]
STM32之使用PWM控制多路舵机
前言 最近在玩一个6自由度的机械臂,我手上这台机械臂的核心控制器件就是那六个能够180度旋转的舵机了。想想之前在学校还没有系统性的把舵机给玩明白,所以就索性拿手上的STM32来自己写驱动代码,将6个舵机给驱动起来。 舵机控制原理 舵机的控制原理还是比较简单的,而且控制的角度和精度能够比较好的按照开发者的意愿来进行,因此经常被应用与一些控制类器械中,如机械手、云台、2自由度摄像头等产品中。 舵机的外接线一般分为3根线,电源线、地线和信号线,而控制舵机转动,就是通过信号线给舵机发送一系列的周期信号(一般的舵机的能接收的信号周期为20ms),然后通过控制周期信号的高电平的持续时间来达到控制舵机转动的目的。我手上的
[单片机]
STM32单片机一般有几种调试方式(stm32与TDC SPI通信调试)
STM32单片机介绍 STM32单片机是由意法半导体(STMicroelectronics)公司开发和生产的一系列32位ARM Cortex-M内核的微控制器。它们广泛应用于工业自动化、消费电子、通信、汽车电子和物联网等领域。 STM32单片机系列涵盖了多个系列和型号,以满足不同应用需求和性能要求。常见的系列包括: 1. STM32F系列:基于ARM Cortex-M4或Cortex-M7内核,具有强大的处理能力和丰富的外设资源,适用于高性能应用。 2. STM32L系列:基于ARM Cortex-M0+或Cortex-M3内核,具有低功耗特性和优异的能效表现,适用于电池供电和低功耗应用。 3. STM32H系列:基于ARM
[单片机]