stm32入门————————小白的入门自学笔记

第一章,stm32简介

首先什么是stm32?

我们在学习它之前,我们首先要知道它的定义:

stm32是ST公司基于ARM Cortex_M内核研发的32位微控制器

那么,它主要用于哪里?

主要用于嵌入式领域,比如智能车,无人机,机器人,无线通信,物联网,工业控制,娱乐电子产品

优点:

功能强大,性能优异,资源丰富,功耗低,非常经典

我们学习stm32f103c8t6

我们主要学习外设,通过学习

先总体认识一下,交个朋友,        这是f1系列所有的,并不是所有的芯片都有

NVIC

SYSTICK

GPIO

AFIO

EXIT

TIM

ADC  

DMA

USART

I2C

SPI

CAN

USB

RTC

CRC

PWR

BKP

IWDG

WWDG

DAC

SDIO

FSMC

USB OTG

首先我们的任务是点亮一颗小灯,星星之火,可以燎原。

基于stm32的开发方式有,
基于寄存器的方式:跟51差不多,

RCC的一个寄存器来使能GPIOC的时钟
GPIO都是APB2的外设
所以在这个APB2外设时钟能使寄存器RCC_APB2ENR里面配置
这个方法很麻烦,需要不断的查手册了解每一个寄存器是干什么的,很耗时间
而且我们把除了PB13之外的位都配置成了0,会很影响其他,
代码简洁,但是不方便


RCC->APB2ENR = 0x00000010;
    GPIOC->CRH = 0x00300000;
    GPIOC->ODR = 0x0000000;

基于标准库的方式:

用库函数实现点灯操作
库函数也是间接的配置寄存器,所有步骤跟上面那个其实差不多
首先是使能时钟,那库函数就有一个这样的函数了开启时钟

其实库函数还是配置寄存器
但是经过寄存器的包装,我们不用去查手册,去确认它是干啥的
并且配置不会影响到其他位
代码长是长了点,但是语义更加明确了
不用去算值,只需要调用库函数,按照它的提示,把参数填好就行了
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);//配置外设包装

配置端口模式,用到

#include "stm32f10x.h"                  // Device header
int main(void)
{
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);//配置外设包装
    
    
    GPIO_InitTypeDef GPIO_InitStruct;
    
    GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStruct.GPIO_Pin = GPIO_Pin_13;
    GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
    
    GPIO_Init(GPIOC,&GPIO_InitStruct);
    
    GPIO_SetBits(GPIOC,GPIO_Pin_13);
    
    //GPIO_ResetBits(GPIOC,GPIO_Pin_13);
    
    while(1)
    {
        
    }
    
}

最近学c学的多,今天突然到嵌入式,还挺不习惯的嘞

这里我们遇到了一个问题,注释里面的东西你无法在跳转定义,但是这就意味这,距离很近了,
使用CRTL+F使用


基于HAL库的方式:
暂时不讲


 

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值