| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> STM32使用的相关知识点 -> 正文阅读 |
|
[嵌入式]STM32使用的相关知识点 |
一、STM32最小系统单片机最小系统一般有晶振电路、电源电路、复位电路以及调试电路组成。 以下以STM32F103C8T6举例 1.电源电路:
此时电容分为输入电容和输出电容:
2.时钟电路:时钟电路也称晶振电路,其中有两种晶振电路,区别如下:
3.复位电路:STM32芯片复位管脚持续为低电平时复位,STM32的NRST引脚在内部已经连接了一个上拉电阻,数据手册建议复位电路需外接一个对地电容,如果认为这个上拉电阻较小,用户也可以在复位电路中外接一个上拉电阻。
?一般有两种复为形式:
4.调试和下载电路:1.调试接口:?????? STM32F103系列微控制器内核集成了SWD/JTAG调试端口(缩写为SWJ-DP)。
?2.启动方式:在STM32F103系列微控制器中通过设置BOOT[1:0]引脚电平的高低选择三种不同启动模式,从而将STM32F103微控制器的存储空间起始地址0x00000000映射到不同存储区域的起始地址。
CM-3 内核在离开复位状态后的工作过程如下: ? ? 1.从地址 0x00000000 处取出栈指针 MSP 的初始值,该值就是栈顶的地址。 ? ? 2.从地址 0x00000004 处取出程序指针 PC 的初始值,该值指向复位后应执行的第一条指令。 上述过程由内核自动设置运行环境并执行主体程序,因此它被称为自举过程。
? ? ? ?虽然内核是固定访问 0x00000000 和 0x00000004 地址的,但实际上这两个地址可以被重映射到其它地址空间。以 STM32F103 为例,根据芯片引出的 BOOT0 及 BOOT1 引脚的电平情况,这两个地址可以被映射到内部 FLASH、内部 SRAM以及系统存储器中。?
?二、C语言基础知识
1.const
?2.static
1.static定义函数????? ?模块化的程序设计中,用static声明一个函数,则该函数只能被该模块内的其它函数调用。
DMA_SetConfig()函数是本地函数,只能被stm32f1xx_hal_dma.c的其它函数调用,不能被其它模块的文件使用。 2.static定义局部变量static除了用于静态全局变量,还用于定义静态局部变量,保证静态局部变量在调用过程中不被重新初始化。
在main函数中每调用一次fun_count( )函数,则静态局部变量count_num加1,而不是每次都被初始化为初值0。不加static的结果是1,加static的结果是5。 3.volatile
其可用于以下场合:
?4.extern? ? ? ?指明此函数或变量的定义在别的文件中,提示编译器遇到此函数或变量时去其他模块中寻找其定义。 有一种特殊用法:extern "C"进行链接指定,告知编译器这是采用C语言定义的函数。
? ? ? ?如果定义了__cplusplus(C++编译器中自定义的宏),则执行extern“C”{语句}。在C++环境下使用C函数会出现链接时找不到对应函数的情况,这时需要使用extern “C”进行链接指定,告知编译器使用C语言的命名规则来处理函数。 5.回调函数:? ? ? ?操作系统中的某些函数常需要调用用户定义的函数来实现其功能,由于与常用的用户程序调用系统函数的调用方向相反,因此将这种调用称为“回调”(Callback),而被系统函数调用的函数称为“回调函数”。简单来说就是在一个函数中调用另一个函数。
以上代码就是在GPIO中断处理函数中调用HAL_GPIO_EXTI_Callback函数。一般用于通过中断处理函数调用回调函数来实现中断服务功能。 三、HAL库的内存空间1.内存空间的定义
如果没定义STM32F1,则定义STM32F1。? |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/25 20:18:01- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |