STM32最小系统:控制灯亮灭

简介: STM32最小系统:控制灯亮灭

STM32与51单片机区别在于配置环节,需要配置,不能直接控制寄存器,(直接使用寄存器麻烦且局限性高)


RCC寄存器,控制GPIOC的时钟


f309fd3e75524ecfbed1552a3abb7ddd.png


PCEN位为0,其他为1


//RCC寄存器,控制GPIOC的时钟


b01773f26a794573848465363b0f3d2e.png


PC13口的模式


5727a15ee61e44a0bff91c2186fbb9c4.png

bac2ddcf91cd4b938ec3a89ef2814cc2.png

575430ae43524340a5a3859c554fd072.png


所以23 22 21 20位为0 0 1 1,换算成16进制为00300000


控制灯的亮灭


ODR=0,亮,ODR=00002000,灭 因为灯低电平点亮


74ced257b4524e8582bddb3b320c9e2b.png

a7cbbc01ef37406eb876ecb44868a590.png


13位写0为高电平,写1为低电平,写1为00002000;


直接控制寄存器(不推荐)


5d8c6785e8d54bc386feef3802ee78b6.png


通过库函数封装之后完成命令(推荐)


 6b1e429c83704a10b6a8053eb3102f28.png

#include "stm32f10x.h"                  // Device header
int main(void)
{
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);//该函数开启使能时钟,GPIO的外设时钟
    GPIO_InitTypeDef GPIO_InitStructure;
    GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
    GPIO_InitStructure.GPIO_Pin=GPIO_Pin_13;
    GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
    GPIO_Init(GPIOC,&GPIO_InitStructure);//配置端口模式
    //GPIO_SetBits(GPIOC,GPIO_Pin_13));//将PC13口置为高电平
    GPIO_ResetBits(GPIOC,GPIO_Pin_13);//将PC13号口置为低电平
    while(1)
    {
    }
}


656cde96d7d34346a0e1d1b75a6e960d.png

ba25289994894521b9e9c59f9ed5a808.png


相关文章
|
7月前
|
物联网 开发者 智能硬件
STM32:引领嵌入式系统新时代的微控制器
STM32:引领嵌入式系统新时代的微控制器
|
7月前
STM32F103标准外设库——SysTick系统定时器(八)
STM32F103标准外设库——SysTick系统定时器(八)
567 0
STM32F103标准外设库——SysTick系统定时器(八)
|
2月前
|
传感器 监控 物联网
基于STM32+微波雷达设计的非接触式睡眠监控系统
本项目开发一种非接触式的睡眠监控系统,该系统利用先进的60GHz毫米波雷达技术和STM32微控制器,实现了对人体在睡眠过程中的存在感知、运动感知以及生理指标如呼吸频率、心率的实时监测。系统能够自动评估睡眠质量,并在用户睡眠周期结束时提供睡眠评分。为了确保用户能够在任何地点了解自己的睡眠状况,系统集成了Wi-Fi模块,可以将收集到的数据上传至华为云物联网平台,并通过专门设计的移动应用程序供用户远程访问。此外,系统还具备超阈值报警功能,当检测到异常的生理指标时会发出警报提醒。本地1.44寸TFT LCD显示屏用于实时显示监测到的信息,包括生理指标和环境数据。为了全面监测用户的健康状况,系统还加入了
302 0
基于STM32+微波雷达设计的非接触式睡眠监控系统
|
2月前
|
存储 机器学习/深度学习 编解码
基于STM32的车牌识别系统
基于STM32的车牌识别系统
118 0
|
2月前
|
传感器 网络协议 物联网
基于STM32的环境监测系统 (esp8267)(下)
基于STM32的环境监测系统 (esp8267)(下)
123 0
|
2月前
|
传感器 测试技术 芯片
基于STM32的环境监测系统 (esp8266)(上)
基于STM32的环境监测系统 (esp8266)(上)
395 0
|
3月前
|
存储 传感器 Linux
STM32微控制器为何不适合运行Linux系统的分析
总的来说,虽然技术上可能存在某些特殊情况下将Linux移植到高端STM32微控制器上的可能性,但从资源、性能、成本和应用场景等多个方面考虑,STM32微控制器不适合运行Linux系统。对于需要运行Linux的应用,更适合选择ARM Cortex-A系列处理器的开发平台。
283 0
|
7月前
|
内存技术 存储 Android开发
MCU最小系统电路设计(以STM32F103C8T6为例)-3
MCU最小系统电路设计(以STM32F103C8T6为例)
MCU最小系统电路设计(以STM32F103C8T6为例)-3
|
7月前
|
芯片
MCU最小系统电路设计(以STM32F103C8T6为例)-1
MCU最小系统电路设计(以STM32F103C8T6为例)
MCU最小系统电路设计(以STM32F103C8T6为例)-1
|
5月前
|
前端开发 安全
stm32f407探索者开发板(十一)——SystemInit时钟系统初始化剖析
stm32f407探索者开发板(十一)——SystemInit时钟系统初始化剖析
204 0