stm32单片机I/0端口有4种输入模式,4种输出模式;
输出模式:
输入上拉
输入下拉
模拟输入
输入浮空
输出模式:
开漏输出(上拉或者下拉)
开漏复用功能(上拉或者下拉)
推挽式输出(上拉或者下拉)
推挽式复用功能(上拉或者下拉)
stm32的I/O口主要由:MODER、OTYPER、OSPEEDR、PUPDR、ODR、IDR、AFRH和AFRL等8个寄存器控制,这些寄存器的功能可以通过查参考手册得知。本实验使用的是推挽式输出
1.跑马灯实验的硬件连接如图1.1
图1.1跑马灯硬件连接图
2.跑马灯软件设计
对led端口进行定义:#define LED0 PBout(1)
#define LED1 PBout(0) 使用位带操作来实现某个I/O端口
#ifndef __LED_H
#define __LED_H
#include "sys.h"
//LED端口定义
#define LED0 PBout(1) // DS0
#define LED1 PBout(0) // DS1
void LED_