理论知识已经学习完成,之后我们进入实战篇,在实战的学习中,我完成了第一个项目,用按键点亮了led灯下面是我的程序
led主程序
#include "sys.h"
#include "led.h"
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC , ENABLE);//初始化PCIO时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOC, &GPIO_InitStructure);
}
按键程序
#include "sys.h"
#include"key.h"
void KEY_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB , ENABLE);//初始化PCIO时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU ;
GPIO_Init(GPIOB, &GPIO_InitStructure);
}
效果图
关键字:STM32 按键 点亮LED
引用地址:
STM32实战1:按键点亮LED小灯
推荐阅读最新更新时间:2024-03-16 16:09
stm32怎么用keil软件进行调试
在做开发的前几年,基本上都没用仿真,有bug就尝试改程序,一边改一边调试。 甚至都还不知道硬件仿真存在的价值,因为一直都没用过,而且很多芯片也不支持。 直到有一次在做行车记录仪项目的时候,接触到了GRAIN公司的一款单片机。 本来我打算是直接开干的,但是老大非要我把这个芯片的仿真环境搭好。 于是我就开始网上搜集资料,不得不说这块的资料真少,那时又刚接触仿真这块的。 搞了将近半个月都搞不定,然后我鼓起勇气跟老大说,仿真搞不出来,要不我就直接开始写程序烧录进去调试算了。 但是老大的意思还是希望我把仿真的环境搭建出来,我又试了2个星期,还是不行,于是就不理他了,直接开始写程序调试。 如果没浪费时间研究怎么搭建仿环境,估计我程序都完成40
[单片机]
Keil(MDK-ARM-STM32)系列教程(七)菜单
Ⅰ、写在前面 本文带来关于Keil软件菜单的内容,系列教程中前面讲述的内容都可以通过菜单而找到,只是大部分内容都可以通过快捷按钮或快捷键找到,该文就讲述主菜单里每一个子菜单的内容。 Keil有些菜单在编辑模式和调试模式下可能有所不同,也就是说在不同模式下有些功能或许不能使用,下面内容会将每项菜单在不同模式下的区别提出来。 按照前面文章编辑方式,为了使文章内容精简,过于简单和不常用且过于复杂的内容只简述。 Ⅱ、File文件菜单 File文件菜单在两种模式下略有不同。比较简单,只简述。 1.New:新建文件 2.Open:打开文件 3.Close:关闭文件 4.Save:保存当前文件 5.Save As:文件
[单片机]
将不同型号LCD触摸屏移植的相关问题
简介:今日将某著名STM32开发板提供商的应用程序移植到自己的板子上,遇到触摸屏不准的情况,于是查看触摸屏相关控制代码。发现如下。 u16 TPReadX(void) { u16 x=0; TP_CS(); SpiDelay(10); //SPI_WriteByte(0xD0); SPI_WriteByte(0xd0); SpiDelay(20); x=SPI_WriteByte(0x00); x =8; x+=SPI_WriteByte(0x00); SpiDelay(20); TP_DCS(); //x = 3671 - x; x = x 3; return (x); } u16 TPReadY(void) { u1
[单片机]
通用同步异步收发器 (USART)的使用
今日实验:实现STM32F407开发板与PC端的串口通信 两台计算机进行通信时,最少可以只要三根线,分别为RXD、TXD、GND ;单片机也是一个微型计算机。 前期知识 关于TTL电平 TTL是Transistor-Transistor Logic,即晶体管-晶体管逻辑的简称,它是计算机处理器控制的设备内部各部分之间通信的标准技术。TTL电平信号应用广泛,是因为其数据表示采用二进制规定,+5V等价于逻辑”1”,0V等价于逻辑”0”。 数字电路中,由TTL电子元器件组成电路的电平是个电压范围,规定: 输出高电平 =2.4V,输出低电平 =0.4V; 输入高电平 =2.0V,输入低电平 =0.8V。 关于RS232电平 R
[单片机]
STM32 位域与联合体结合优化操作
1、位域 详细介绍参考文章:位域 位域可以实现在信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。 例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。 为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。 所谓“位域”是把一个字节中的二进位划分为几 个不同的区域, 并说明每个区域的位数。 每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把几个不同的对象用一个字节的二进制位域来表示。 2、联合体 在进行某些算法的C语言编程的时候,需要使几种不同类型的变量存放到同一段内存单元中。 也就是使用覆盖技术,几个变量互相覆盖
[单片机]
STM32入门系列-库目录及文件介绍
已经介绍了过了CMSIS标准,ST公司按照这个标准设计了一套基于STM32F10x的固件库,我们可以直接在ST公司的官网进行下载,现在给大家STM32最新固件库v3.5,在网盘上给大家提供了下载包,链接及提取码如下。 链接:http://pan.baidu.com/s/1nuXXLt3 密码:wztk 文件夹介绍 下面就来介绍下库文件的目录及文件。打开下载好的固件库包如下图所示。 下面简单介绍各个文件件及文件的作用。 _htmresc 文件夹:存放ST公司的LOGO图标,这个文件夹不用管。 Libraries 文件夹:在这个文件夹内有两个子目录,CMSIS文件夹用于存放符合CMSIS标准的文件,包括STM32启动文
[单片机]
STM32系统学习——USART(串口通信)
串口通信是一种设备间非常常用的串行通行方式,其简单便捷,大部分电子设备都支持。 一、物理层 常用RS-232标准,主要规定了信号的用途、通信接口以及信号的电平标准。 “DB9接口”之间通过串口信号线建立起连接,串口信号线使用”RS-232标准“传输数据信号,这些信号通过记过电平转换芯片转换成控制器能识别的TLL标准的电平信号,才能实现通信。 1.电平标准 可分为TTL标准以及RS-232标准。 常见的电子电路中常见TTL的电平标准,理想状态使用5V表示二进制逻辑1,0V表示逻辑0;而为了增加串口通信的远距离传输以及抗干扰能力,RS-232使用-15V表示逻辑1,+15V表示逻辑0。
[单片机]
STM32 AD采集应用
写出关键的代码,供参考。 ////////////////ADC相关设置/////////////////////// GPIO_InitStructure.GPIO_Pin = POW_ADC|GPIO_Pin_1; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; GPIO_Init(GPIOC, &GPIO_InitStructure); ///////////////////////////////////////////////////////////////////////////////////////////////// 读取AD STM32_
[单片机]