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 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> c语言程序编译原理STM32HAL开发API索引简记 -> 正文阅读

[嵌入式]c语言程序编译原理STM32HAL开发API索引简记

解析stm32内部的存储原理

编译——汇编——链接
编译:c源码变为汇编语言*.s的过程
汇编:汇编语言变为机器语言*.o的过程
链接:多个.o文件按顺序合并成一个可执行文件
对于一个c语言程序,其内存主要分为、代码段(存放程序执行代码)、数据段(已被初始化的全局变量或静态变量)、静态区(隐式初始化的全局变量或静态变量)、栈stack(编译器分配的)、堆heap(程序员分配,不连续,自由空间更多)

单片机上通常由ROM和RAM
STM32上的Flash 就是它的ROM 从0x0800 0000开始 结束地址再加上它的容量
Flash内部存储程序代码和const类型变量
SRAM则存储运行时的变量,掉电丢失
FLASH 包含主存储器(代码和const)、系统存储器(厂家配置的串口,usb烧录等程序)、 OTP 区域(flash控制寄存器区)以及选项字节区
为了使用Flash内部巨大的空间,可以看编译生成的map文件来确认flash的使用情况进而写入flash内数据
HAL_FLASHEx_Erase(Flash_EraseInitTypedef* ,SectorErros*存储flash擦除错误时的页面号)
HAL_FLASH_Program(选择写入的数据格式(8/16/32), 地址,数据)
Flash中读数据就用memcpy(放地址,取地址,几个8位)
HAL_FLASH_Unlock为flash写数据或者擦除时都要为flash解锁
HAL_FLASH_Lock

STM32HAL库的API简记

HAL_GPIO_WritePin 写电平HAL_GPIO_ReadPin读电平
HAL_GetTick获得当前时刻tick值
HAL_Delay
HAL_GPIO_TogglePin电平反转

定时器开启(无中断):HAL_TIM_Base_Start 有IT后缀的是有中断的函数
aRGB 是透明度加三原色,透明度越大越不透明
_HAL_TIM_PWM_Start开始输出PWM
_HAL_TIM_Setcompare(句柄,通道,值)修改CCRX比较寄存器的值

ADC_ChannelConfTypeDef 先用它对ADC的各个结构体赋值
HAL_ADC_ConfigChannel来为ADC设置各个通道值
HAL_ADC_Start开启ADC转换
HAL_ADC_PollForConversion等待ADC转换结束 最后参数为最大等待时间
HAL_ADC_GetValue 获取ADC值

HAL_UART_ENABLE_IT使能串口功能,含中断
HAL_UART_TxCpltCallback为其发送中断回调函数

HAL_DMA_ENABLE

HAL_I2C_Mem_Read(句柄、从机地址、寄存器地址、寄存器地址增加大小(8/16),数据指针、数据长度、超时时间)
HAL_I2C_Mem_Write参数相同

如果要使用HAL的SPI的API的话,如果要使用DMA,那么在全双工模式时,同时使用DMA的API,是默认需要tx和rx都使用,且二者发送接收数据长度相同的这就可能会导致一些数据读错,此外,在,
HAL_SPI_TransmitRecceive(句柄,发送数据指针、接收数据指针、数据长度、最大发送时间)

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-01-25 10:45:17  更:2022-01-25 10:45:55 
 
开发: 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 10:46:57-

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