STM32f103VCT6点灯(寄存器编程)
为了亮灯,首先要去查看原理图。原理图如下:
由原理图知:led1、led2、led3、led4分别对应GPIOC的PC0、PC1、PC2、PC3引脚。(且低电平灯亮)
下面我们来点亮led1(对应PC0),GPIOC的端口输出数据寄存器(ODR)对应的最低位即为PC0,此时应将最低位置0。
GPIOC_ODR的地址为:0x40011000+0x0C(基地址+偏移)=0x4001100C,则将PC0置0的代码:*(unsigned int * ) 0x4001100C &=~(1<<0);
但就这一句代码灯是不会亮的,因为IO口有两种模式(输入和输出),默认是输入模式,所以我们应该配置IO口为输出模式。
要将低四位(四位一组)配置成0001,GPIOC_CRL的地址为0x40011000+0x00(基地址+偏移)=0x40011000,则代码为(unsigned int * ) 0x40011000 |=(1 << (4*0));*
!!!置0:&=~,置1:|=
但是灯还是不会亮哈哈哈,还得打开 GPIOC 端口的时钟。
IOPCEN默认为0,关闭状态,我们需要置1打开。地址为:0x40021000+0x18=0x40021018,代码为(unsigned int * ) 0x40021018 |=(1 << 4);*
到这里就OK咯!!灯就可以照亮你的心了!
#include "stm32f10x.h"int main(void)
{//打开 GPIOC 端口的时钟*(unsigned int * ) 0x40021018 |=(1 << 4);//配置 IO 口为输出*(unsigned int * ) 0x40011000 |=(1 << (4*0));//控制 ODR 寄存器*(unsigned int * ) 0x4001100C &=~(1<<0);
}
void SystemInit(void)
{//函数为空,目的是为骗过编译器不报错
}
STM32f103VCT6点灯(寄存器编程)相关推荐
- keil 4c语言读写寄存器,【STM32单片机学习】第四课:GPIO控制LED(用寄存器编程)
[朱老师课程总结] 第一部分.章节目录 第二部分.章节介绍 3.5.1.STM32的GPIO模块数据手册详解1 本节讲解STM32数据手册中GPIO模块相关的部分,主要是GPIO的各类模式及其配置方法 ...
- 嵌入式学习笔记——使用寄存器编程操作GPIO
使用寄存器编程操作GPIO 前言 GPIO相关的寄存器 GPIO 端口模式寄存器 (GPIOx_MODER) (x = A..I) 位操作 GPIO 端口输出类型寄存器 (GPIOx_OTYPER) ...
- 记录学习(转载) STM32---程序如何在内部运行寄存器编程的理解
作者:王犀牛 链接:https://www.zhihu.com/question/26562480/answer/33433568 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载 ...
- STM32---程序如何在内部运行寄存器编程的理解
作者:王犀牛 链接:https://www.zhihu.com/question/26562480/answer/33433568 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载 ...
- STM32F103实现点灯(寄存器方式)
参考:STM32F103系列最简易版点灯程序 作者:一只青木呀 发布时间:2020-10-21 11:40:38 网址:https://blog.csdn.net/weixin_45309916/ar ...
- 5.2.6UART寄存器编程(下)
已完成第一二步. 1把UART模块和所用到的port时钟打开 2把物理引脚指定给uart这个功能使用 有哪些寄存器来控制,如果把通讯做起来 在ARM的KL25里 可以分成4类BDL BDH设置波特率和 ...
- STM32寄存器编程思路 - 从51到stm32开发入门,真干货
本文转自 https://www.amobbs.com/thread-5462507-1-3.html 第23楼 尊重原作不做任何修改 =============以下正文=============== ...
- 【嵌入式系统基础实验一】-----led流水灯及串口通信的HAL库方式和寄存器编程方式实现,输出波形检测
文章目录 1.实验知识点简要解析 1.1串口通信协议 1.2 RS232.485电平与TTL电平的区别 1.3 USB/TTL转232"模块 2.LED流水灯的寄存器地址 和HAL库这两种方 ...
- 使用寄存器点亮LED——编程实战
stm32的编程和stc89c51还是存在着很多思想上的不同的,在51单片机中,我们点亮LED灯,只用给对应IO高低电平就可以了,而stm32中,就一个简单的GPIO,我们也需要配置好几个寄存器,而且 ...
最新文章
- 多校1010 Taotao Picks Apples
- Spring Boot WebFlux-02——WebFlux Web CRUD 实践
- 55万字,阿里内部最新最全Java面试进阶手册,能横扫95%的面试官
- iOS 加载本地html文件详细操作
- python writelines_Python文件writelines()方法
- 数组中某个元素相同的去重_JAvaScript:JS数组元素去重的方法
- [翻译]HTTP: Response Code
- 提取HTML代码中的网址
- Julia : 中文字符串的取值 UnicodeError 及解决方案
- JDK1.8中文帮助文档下载
- 电力安全防护的十六字安全方针
- 【应用统计学】随机变量的概率分布,数学期望和方差及协方差
- 学习系列--最优学习内容选择
- C#【必备技能篇】使用批处理脚本(.bat文件)打开控制台应用程序
- 梁宁《产品思维》之1发刊词
- Java集合中的fail-fast快速失败机制
- 【7.0】 数学建模 | 相关系数详解 | Person相关系数、Spearman相关系数
- sql位运算符【(位与)、~(位非)、|(位或)、^(位异或)】与位移
- 实验吧MD5之守株待兔解题思路
- 田忌赛马-贪心算法实现
热门文章
- 深聊丨第四范式陈雨强:如何用AI大模型打开万亿规模传统软件市场?
- MLX90640测温模块开发及应用(一)测温模块应用场景
- 中国红客网络技术联盟(H.U.C)重组完成重新开站
- matlab dpsk,利用Matlab simulink实现DPSK通信 - 图文
- 如何实现最佳的跨平台游戏体验?Unity成亮解密实时渲染
- Jmeter识别登录验证码_使用百度AI图片识别技术
- GNSS四大卫星导航系统导航电文构成
- CSS 过渡(重点)
- 首次!我国以计算机系为第一完成单位的论文登上《自然》
- Metamaterials perform image compression before light reaches the sensor(微波成像,拍摄与压缩同步进行)...