IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> STM32F4x工程中的SYSTEM文件夹介绍 -> 正文阅读

[嵌入式]STM32F4x工程中的SYSTEM文件夹介绍

? ? ? 建立 STM32F4 工程,在这个新建的工程之中,我们用到了一个 SYSTEM 文件夹里面的代码,这些代码是STM32F4xx 系列的底层核心驱动函数,可以用在 STM32F4xx 系列的各个型号上面,方便快速构建自己的工程。
? ? ? SYSTEM 文件夹下包含了 delay、 sys、 usart 等三个文件夹。分别包含了 delay.c、 sys.c、usart.c及其头文件。通过这 3 个 c 文件,可以快速的给任何一款 STM32F4 构建最基本的框架。

  • delay文件夹介绍

delay 文件夹内包含了 delay.c 和 delay.h 两个文件,这两个文件用来实现系统的延时功能,
其中包含 7 个函数:

  1. void delay_osschedlock(void);//us级延时时,关闭任务调度(防止打断us级延迟)
  2. void delay_osschedunlock(void);//us级延时时,恢复任务调度
  3. void delay_ostimedly(u32 ticks);//调用OS自带的延时函数延时
    //ticks:延时的节拍数
  4. void SysTick_Handler(void);//systick中断服务函数,使用OS时用到
  5. void delay_init(u8 SYSCLK);//初始化延迟函数
    //当使用ucos的时候,此函数会初始化ucos的时钟节拍
    //SYSTICK的时钟固定为AHB时钟
    //SYSCLK:系统时钟频率
  6. void delay_ms(u16 nms);//延时nms
    //nms:要延时的ms数
    //nms:0~65535
  7. void delay_us(u32 nus);//延时nus
    //nus:要延时的us数.?? ?
    //nus:0~190887435(最大值即2^32/fac_us@fac_us=22.5)?? ??
  • sys文件夹介绍

? ? ? sys 文件夹内共 8 个文件: sys.c、 sys.h、 stm32f4xx.h、 system_stm32f4xx.h、 core_cm4.h、core_cm4_simd.h、 core_cmFunc.h 和 core_cmInstr.h。其中 重点介绍sys.c 和 sys.h 。其他 6 个文件, 都是拷贝自 STM32F4 的 CMSIS 库文件,主要包含了STM32F4 的寄存器定义、位定义以及内存映射等
? ? ? 在 sys.h 里面定义了 STM32F4 的 IO 口输入读取宏定义和输出宏定义。 sys.c 里面定义了很
多与 STM32F4 底层硬件很相关的设置函数,包括系统时钟的配置、 IO 配置、 中断的配置等

  1. IO口的位操作实现;该部分代码在 sys.h 里面, 实现对 STM32F4 各个 IO 口的位操作,包括读入和输出。当然在这些函数调用之前,必须先进行 IO 口时钟的使能和 IO 口功能定义。此部分仅仅对 IO 口进行输入输出读取和控制。
  2. 时钟配置函数;STM32F4 的时钟配置,我们提供两个函数: Sys_Clock_Set 和 Stm32_Clock_Init。其中 Sys_Clock_Set 是核心的系统时钟配置函数,由 Stm32_Clock_Init 调用,实现对系统时钟的配置。外部程序,一般调用 Stm32_Clock_Init函数来配置时钟。
  3. Sys_Soft_Reset函数;该函数用来实现 STM32F4 的软复位。
  4. Sys_Standby函数;Sys_Standby 函数用来使 STM32F4 进入待机模式,在该模式下, STM32F4 所消耗的功耗最低。
  5. IO设置函数;该部分包含两个函数: GPIO_Set 和 GPIO_AF_Set,用于 IO 配置和复用功能设置。1、 输入浮空。2、 输入上拉。3、 输入下拉。4、 模拟输入。5、 开漏输出。6、 推挽输出。7、 推挽式复用功能。8、 开漏式复用功能。IO 配置常用的 8 个寄存器: MODER、 OTYPER、 OSPEEDR、 PUPDR、 ODR、 IDR 、 AFRH 和 AFRL。
    ?
  6. 中断管理函数;STM32F40xx/STM32F41xx 的 92 个中断里面, 包括 10 个内核中断和 82 个可屏蔽中断,具有 16 级可编程的中断优先级, 而我们常用的就是这 82 个可屏蔽中断。
  • usart文件夹介绍

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-01-03 16:16:35  更:2022-01-03 16:19:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 12:45:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码