IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> STM32F103寄存器方式点亮LED流水灯 -> 正文阅读

[嵌入式]STM32F103寄存器方式点亮LED流水灯

1、GIPO端口初始化

本次实验采用GPIOA、GPIOB、GPIOC三个端口。该三个端口都属于APB2总线

找到端口偏移地址以及对应端口所在位置?

  • //----------------APB2使能时钟寄存器 ---------------------
    #define RCC_APB2ENR		*((unsigned volatile int*)0x40021018)
    
    	RCC_APB2ENR|=1<<2|1<<3|1<<4;			//APB2-GPIOA、GPIOB、GPIOC外设时钟使能	
    

?本次实验采用通用推挽输出模式,最高输出时钟频率2Mhz。分别用到A4、B5、C14三个引脚。其中A4、B5属于端口配置低寄存器偏移地址为0x00,C13属于端口配置高寄存器偏移地址为0x04。

?

//----------------GPIOA配置寄存器 -----------------------
#define GPIOA_CRL		*((unsigned volatile int*)0x40010800)
//----------------GPIOB配置寄存器 -----------------------
#define GPIOB_CRL		*((unsigned volatile int*)0x40010C00)
//----------------GPIOC配置寄存器 -----------------------
#define GPIOC_CRH		*((unsigned volatile int*)0x40011004)

?

GPIOA_CRL&=0xFFF0FFFF;		//设置位 清零	
	GPIOA_CRL|=0x00020000;		//PA4推挽输出,把第19、18、17、16位变为0010
	
	GPIOB_CRL&=0xFF0FFFFF;		//设置位 清零	
	GPIOB_CRL|=0x00200000;		//PB5推挽输出,把第23、22、21、20变为0010
	 
	GPIOC_CRH&=0xFF0FFFFF;		//设置位 清零	
	GPIOC_CRH|=0x00200000;		//PC14推挽输出,把第23、22、21、20变为0010

实现代码

C语言

#include "stm32f10x.h"
//----------------APB2??????? ---------------------
#define RCC_APB2ENR		*((unsigned volatile int*)0x40021018)
//----------------GPIOA????? -----------------------
#define GPIOA_CRL		*((unsigned volatile int*)0x40010800)
#define	GPIOA_ODR		*((unsigned volatile int*)0x4001080C)
//----------------GPIOB????? -----------------------
#define GPIOB_CRL		*((unsigned volatile int*)0x40010C00)
#define	GPIOB_ODR		*((unsigned volatile int*)0x40010C0C)
//----------------GPIOC????? -----------------------
#define GPIOC_CRH		*((unsigned volatile int*)0x40011004)
#define	GPIOC_ODR		*((unsigned volatile int*)0x4001100C)

extern void led(void);
//????
 void Delay()
 {
   u32 i=0;
   for(;i < 5000000;i++);
 }
 int main(void)
 {	
	 led();
	RCC_APB2ENR|=1<<2|1<<3|1<<4;			//APB2-GPIOA?GPIOB?GPIOC??????	
	
	GPIOA_CRL&=0xFFF0FFFF;		//??? ??	
	GPIOA_CRL|=0x00020000;		//PB5????
	GPIOA_ODR&=~(1<<4);			//???????
	
	GPIOB_CRL&=0xFF0FFFFF;		//??? ??	
	GPIOB_CRL|=0x00200000;		//PB5????
	GPIOB_ODR&=~(1<<5);			//???????
	 
	GPIOC_CRH&=0xF0FFFFFF;		//??? ??	
	GPIOC_CRH|=0x02000000;		//PB5????
	GPIOC_ODR&=~(1<<14);			//???????		
	 

	 

	while(1){

		//A?
		GPIOA_ODR|=1<<4;		//PB5???
	 	Delay();
		GPIOA_ODR&=~(1<<4);		//PB5???,????0,??????
		Delay();

		
		//B?
		GPIOB_ODR|=1<<5;		//PB5???
	 	Delay();
		GPIOB_ODR&=~(1<<5);		//PB5???,????0,??????
		Delay();

		
		
		//C?
		GPIOC_ODR|=1<<14;		//PB5???
	 	Delay();
		GPIOC_ODR&=~(1<<14);		//PB5???,????0,??????
		Delay();

		}
}

汇编代码

部分参考

https://blog.csdn.net/m0_51120713/article/details/120832645?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163478608116780274151410%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=163478608116780274151410&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-3-120832645.pc_search_result_control_group&utm_term=STM32F103%E5%AF%84%E5%AD%98%E5%99%A8%E6%96%B9%E5%BC%8F%E7%82%B9%E4%BA%AELED%E6%B5%81%E6%B0%B4%E7%81%AF&spm=1018.2226.3001.4187

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-10-22 11:06:03  更:2021-10-22 11:07:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 6:47:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码