为了亮灯,首先要去查看原理图。原理图如下:


由原理图知: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点灯(寄存器编程)相关推荐

  1. keil 4c语言读写寄存器,【STM32单片机学习】第四课:GPIO控制LED(用寄存器编程)

    [朱老师课程总结] 第一部分.章节目录 第二部分.章节介绍 3.5.1.STM32的GPIO模块数据手册详解1 本节讲解STM32数据手册中GPIO模块相关的部分,主要是GPIO的各类模式及其配置方法 ...

  2. 嵌入式学习笔记——使用寄存器编程操作GPIO

    使用寄存器编程操作GPIO 前言 GPIO相关的寄存器 GPIO 端口模式寄存器 (GPIOx_MODER) (x = A..I) 位操作 GPIO 端口输出类型寄存器 (GPIOx_OTYPER) ...

  3. 记录学习(转载) STM32---程序如何在内部运行寄存器编程的理解

    作者:王犀牛 链接:https://www.zhihu.com/question/26562480/answer/33433568 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载 ...

  4. STM32---程序如何在内部运行寄存器编程的理解

    作者:王犀牛 链接:https://www.zhihu.com/question/26562480/answer/33433568 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载 ...

  5. STM32F103实现点灯(寄存器方式)

    参考:STM32F103系列最简易版点灯程序 作者:一只青木呀 发布时间:2020-10-21 11:40:38 网址:https://blog.csdn.net/weixin_45309916/ar ...

  6. 5.2.6UART寄存器编程(下)

    已完成第一二步. 1把UART模块和所用到的port时钟打开 2把物理引脚指定给uart这个功能使用 有哪些寄存器来控制,如果把通讯做起来 在ARM的KL25里 可以分成4类BDL BDH设置波特率和 ...

  7. STM32寄存器编程思路 - 从51到stm32开发入门,真干货

    本文转自 https://www.amobbs.com/thread-5462507-1-3.html 第23楼 尊重原作不做任何修改 =============以下正文=============== ...

  8. 【嵌入式系统基础实验一】-----led流水灯及串口通信的HAL库方式和寄存器编程方式实现,输出波形检测

    文章目录 1.实验知识点简要解析 1.1串口通信协议 1.2 RS232.485电平与TTL电平的区别 1.3 USB/TTL转232"模块 2.LED流水灯的寄存器地址 和HAL库这两种方 ...

  9. 使用寄存器点亮LED——编程实战

    stm32的编程和stc89c51还是存在着很多思想上的不同的,在51单片机中,我们点亮LED灯,只用给对应IO高低电平就可以了,而stm32中,就一个简单的GPIO,我们也需要配置好几个寄存器,而且 ...

最新文章

  1. 多校1010 Taotao Picks Apples
  2. Spring Boot WebFlux-02——WebFlux Web CRUD 实践
  3. 55万字,阿里内部最新最全Java面试进阶手册,能横扫95%的面试官
  4. iOS 加载本地html文件详细操作
  5. python writelines_Python文件writelines()方法
  6. 数组中某个元素相同的去重_JAvaScript:JS数组元素去重的方法
  7. [翻译]HTTP: Response Code
  8. 提取HTML代码中的网址
  9. Julia : 中文字符串的取值 UnicodeError 及解决方案
  10. JDK1.8中文帮助文档下载
  11. 电力安全防护的十六字安全方针
  12. 【应用统计学】随机变量的概率分布,数学期望和方差及协方差
  13. 学习系列--最优学习内容选择
  14. C#【必备技能篇】使用批处理脚本(.bat文件)打开控制台应用程序
  15. 梁宁《产品思维》之1发刊词
  16. Java集合中的fail-fast快速失败机制
  17. 【7.0】 数学建模 | 相关系数详解 | Person相关系数、Spearman相关系数
  18. sql位运算符【(位与)、~(位非)、|(位或)、^(位异或)】与位移
  19. 实验吧MD5之守株待兔解题思路
  20. 田忌赛马-贪心算法实现

热门文章

  1. 深聊丨第四范式陈雨强:如何用AI大模型打开万亿规模传统软件市场?
  2. MLX90640测温模块开发及应用(一)测温模块应用场景
  3. 中国红客网络技术联盟(H.U.C)重组完成重新开站
  4. matlab dpsk,利用Matlab simulink实现DPSK通信 - 图文
  5. 如何实现最佳的跨平台游戏体验?Unity成亮解密实时渲染
  6. Jmeter识别登录验证码_使用百度AI图片识别技术
  7. GNSS四大卫星导航系统导航电文构成
  8. CSS 过渡(重点)
  9. 首次!我国以计算机系为第一完成单位的论文登上《自然》
  10. Metamaterials perform image compression before light reaches the sensor(微波成像,拍摄与压缩同步进行)...