关于stm32的一些笔记。。。

关于stm32的一些笔记。。。

STM32引脚列表中主功能,默认复用功能和重定义功能的区别(转载别人的)

1 主功能就是STM32基本IO口,与外设没有连接的,我们可以直接输出或读入高低电平
使用时采用要初始化GPIO结构体参数,并打开端口的时钟

2 默认复用功能是与外设连接的IO口,单片机通过控制外设来控制IO口
使用时采用要初始化GPIO结构体参数,IO口的工作模式要更具STM32中文参考手册中,IO口复用功能的设置工作模式,
设置时,与主功能的唯一区别就是IO口的工作模式的不同。

3 当我想把外设不连接到默认引脚上,那就根据“重定义功能”这一列来重新定义外设连接的IO口。
一般情况我们不会用到。

注意:

一旦需要对AFIO寄存器配置时,一定要打开AFIO的时钟(一般在使用外部中断EXTI或外设引脚重定义时)

/****************************************************************************/

/****************************************************************************/

/****************************************************************************/
1.core_cm3.c和头文件core_cm3.h,它们的作用是为那些采用Cortex-M3核设计SOC的芯片商设计的芯片外设提供一
个进入M3内核的接口

2.较重要的是在core_cm3.c文件中包含了stdin.h 这个头文件,这是一个ANSI C 文件,是独立于处理器之外的,
就像我们熟知的C语言头文件 stdio.h 文件一样。位于RVMDK这个软件的安装目录下,主要作用是提供一些新
类型定义,如:typedef unsigned char uint8_t

  1. system_stm32f10x.c,是由ST公司提供的,遵守CMSIS标准。该文件的功能是设置系统时钟和总线时钟,
    M3比51单片机复杂得多,并不是说我们外部给一个8M的晶振,M3整个系统就以8M为时钟协调整个处理器的工作。
    我们还要通过M3核的核内寄存器来对8M的时钟进行倍频,分频,或者使用芯片内部的时钟。所有的外设都与时
    钟的频率有关,所以这个文件的时钟配置是很关键的。

  2. system_stm32f10x.c在实现系统时钟的时候要用到PLL(锁相环),这就需要操作寄存器,寄存器都是以存储器映
    射的方式来访问的,所以该文件中包含了stm32f10x.h 这个头文件。

  3. startup_stm32f10x_hd.s
    启动文件是任何处理器在上点复位之后最先运行的一段汇编程序。在我们编写的c语言代码运行之前,
    需要由汇编为c语言的运行建立一个合适的环境,接下来才能运行我们的程序。所以我们也要把启动文
    件添加进我们的的工程中去;所以,总的来说,启动文件的作用是:
    1. 初始化堆栈指针SP;
    2. 初始化程序计数器指针PC;
    3. 设置堆、栈的大小;
    4. 设置异常向量表的入口地址;
    5. 配置外部SRAM作为数据存储器(这个由用户配置,一般的开发板可没有外部SRAM);
    6. 设置C库的分支入口__main(最终用来调用main函数);
    7. 在3.5版的启动文件还调用了在system_stm32f10x.c文件中的SystemIni() 函数配置系统时钟,
    在旧版本的工程中要用户进入main函数自己调用SystemIni() 函数。

  4. 还有一个很特别的misc.c文件,这个文件提供了外设对内核中的NVIC(中断向量控制器)的访问函数,在配置
    中断时,我们必须把这个文件添加到工程中。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值