STM32F103RCT6最小系统板
外设:
1、PA0为key,高电平有效
2、PD2为LED D2,低电平有效
********************************************************
Y|=1<
Y|=~(1<
STM32_Clock_Init(9);//9*8MHZ,初始化时钟
delay_init(72);//初始化延时函数
一、IO口输出
1、初始化管脚
RCC->APB2ENR|=1<<2;//启动PA的时钟
GPIOA->CRL&=0XFFFFFFF0;//PA0清零
GPIOA->CRL|=0XFFFFFFF3;//PA0推免输出
GPIOA->ODR|=1;//PA0初始值为高电平
2、使用
#define PA_0 PAout(0)
二、IO口输入
1、初始化管脚
RCC->APB2ENR|=1<<2;//启动PA的时钟
GPIOA->CRL&=0XFFFFFFF0;//PA0清零
GPIOA->CRL|=0XFFFFFFF8;//PA0上/下拉输入
GPIOA->ODR|=1;//上拉
2、使用
#define PA_0 PAin(0)
三、程序
*************************************************
1、输出操作
跑马灯
*************************************************
#include"sys.h"
#include"delay.h"
#include"usart.h"
#define led0 PAout(8)
#define led1 PDout(2)
void init_led()
{
RCC->APB2ENR|=1<<2;//时钟使能PA
RCC->APB2ENR|=1<<5;//时钟使能PD
GPIOA->CRH&=0XFFFFFFF0;//PA8清0
GPIOA->CRH|=0X00000003;//使PA8为推免模式输出
GPIOA->ODR|=1<<8;//将PA8输出高电平
GPIOD->CRL&=0XFFFFF0FF;
GPIOD->CRL|=0XFFFFF3FF;
GPIOD->ODR|=1<<2;
}
int main()
{
Stm32_Clock_Init(9);
delay_init(72);
init_led();
while(1)
{
led0=1;led1=0;
delay_ms(300);
led0=0;led1=1;
delay_ms(300);
}
return 0;
}
******************************************************
2、输入
通过按键控制led灯的亮灭
******************************************************
#include"sys.h"
#include"delay.h"
#include"usart.h"
#define led0 PAout(8)
#define led1 PDout(2)
void init_led()
{
RCC->APB2ENR|=1<<2;//时钟使能PA
RCC->APB2ENR|=1<<5;//时钟使能PD
GPIOA->CRH&=0XFFFFFFF0;//PA8清0
GPIOA->CRH|=0X00000003;//使PA8为推免模式输出
GPIOA->ODR|=1<<8;//将PA8输出高电平
GPIOD->CRL&=0XFFFFF0FF;
GPIOD->CRL|=0XFFFFF3FF;
GPIOD->ODR|=1<<2;
}
int main()
{
Stm32_Clock_Init(9);
delay_init(72);
init_led();
while(1)
{
led0=1;led1=0;
delay_ms(300);
led0=0;led1=1;
delay_ms(300);
}
return 0;
}
#ifndef _KEY_H
#define _KEY_H
#include"sys.h"
void init_key()
{
RCC->APB2ENR|=1<<2;
GPIOA->CRL&=0XFFFFFFF0;
GPIOA->CRL|=0X00000008;
///GPIOA->ODR|=1;
//上拉
//且KEY为高电平有效,所以不用上拉
}
#endif
#ifndef _LED_H
#define _LED_H
#include"sys.h"
void init_led()
{
RCC->APB2ENR|=1<<5;
GPIOD->CRL&=0XFFFF0FF;
GPIOD->CRL|=0X0000300;
GPIOD->ODR|=1<<2;
}
#endif
stm32输入输出笔记与程序
- 格式:txt
- 大小:2.49 KB
- 文档页数:1