STM32C8T6之使用寄存器点亮LED灯
2020-03-25 18:54
176 查看
这几天肺炎闹得沸沸扬扬,我窝在家里学习STM32。这篇博客筹备了3-4天吧,终于完成了。
实验电路如下图所示:
这里以PC13为例。
用寄存器点亮LED灯,主要就是操作GPIOx_ODR寄存器,GPIOx_CRH寄存器,RCC_APB2ENR寄存器。主要是涉及到指针操作,偏移。其他的也没什么。
下面我们来写代码:
//打开GPIOC端口的时钟 //PC13 *(unsigned int *)0x40021018 |= ( 1 << 4 ); //将0x40021018强制类型转换成指针,进行指针操作。 //配置 IO口为输出,配置GPIOx_CRH寄存器。通用推挽输出模式,速度为10M。 *(unsigned int *)0x40011004 |= ( 1 << (4*5) ); //控制 ODR 寄存器, *(unsigned int *)0x4001100C &= ~( 1 << 13 ); //APB2上的GPIOC的起始地址加上偏移地址
以上代码都是写在main.c文件中的。时钟部分要注意的是APB2和APB1是挂载到AHB上的,寻找起始地址是不再是GPIO端口C的起始地址了。另外一定要加上偏移地址。
如此就能点亮灯了。
希望大佬指点一二。
最后祝大家在新的一年身体健康,平安无事!
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 第7章 使用寄存器点亮LED灯—零死角玩转STM32-F429系列
- 第7章 使用寄存器点亮LED灯—零死角玩转STM32-F429系列
- 使用寄存器点亮led灯
- 第7章 使用寄存器点亮LED灯
- 使用寄存器点亮LED——编程实战
- STM32使用固件库点亮LED
- 第11章 GPIO输出-使用固件库点亮LED—零死角玩转STM32-F429系列
- STM32用寄存器点亮LED灯
- stm32入门hal(一)软件的使用及点亮led灯
- 使用寄存器点亮LED等
- 使用寄存器点亮LED——前言基础知识
- STM32单片机基础03——使用GPIO点亮一个LED
- 第11章 GPIO输出-使用固件库点亮LED—零死角玩转STM32-F429系列
- STm32 使用 stm32cube GPIO 点亮 led 的
- STM32 外部中断的使用(按键中断点亮LED)
- stm32学习的日子-构建库函数雏形(第1节)—寄存器结构体定义控制点亮G0Kitv2.1 LED2和LED4
- 不用STM32的库 点亮LED
- STM32入门点亮LED的程序
- STM32_GPIO之点亮LED实验
- 第12章 GPIO输出—使用固件库点亮LED