完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
❤ 2018.8.11
最近入了STM32的坑,主要是马老师又有新项目,老师看我最近有点闲(哪里闲了?),就让我来协助,之前学了一些基础的东西了,不过没时间整理,现在准备补上。 我学习使用的是野火stm32开发板,教程很详细,强烈推荐! ○什么是STM32 ○ STM32有什么功能 ○ 开发板的硬件资源 ○ STM32分类 ○ STM32命名方法 ○ 引脚分配 ○ 参考手册与数据手册 ○ 数据手册中对引脚的定义 〇 什么是寄存器 ○ STM32架构简图 ○ 系统框图 ○ 寄存器映射 关于寄存器映射,之前没有思考过,这么一说确实是认识上有不足。 之所以能够直接给寄存器赋值,是因为把地址作为指针定义到了寄存器别名里。 ❤2018.8.12 ○ STM32的位操作 和以前51单片机的位操作还是有很大区别的,习惯就好习惯就好。 ○ STM32的寄存器是通过结构体的形式封装的 使用的时候可以这样 不过一般都是这样 大概明白是什么个意思了,就是说结构体里面都是32位的地址偏移量,把结构体的首地址定义成对应的寄存器地址,然后用指针去调用就能访问相应的寄存器。不过最简单的方式是定义地址的时候就将他强制转化成指针,这样调用的时候就可以直接用了。 〇 新建第一个工程 ○ 新建好工程后keil5不会自动提示拷贝启动文件,需要自己去st的官网下载相应的启动文件。 “【固件库】STM32F10x_StdPeriph_Lib_V3.5.0LibrariesCMSISCM3DeviceSupportSTSTM32F10xstartuparm” 大概是这么个路径。。。 ○ 每个启动文件对应的单片机型号: ○ #include “stm32f10x.h” 〇 点亮一个LED灯 直接对寄存器操作是这样的 ❤ 2018.8.17 〇 GPIO ○ GPIO简介 ○ 引脚分类 ○ GPIO功能框图 ○ 推挽输出 ♣ 推挽输出时,最高可以提供25ma电流 ○ 开漏输出 ♣ 开漏输出具有“线与”功能,一个为低,全部为低,多用于I2C和SMBUS总线。 ○ GPIO输出初始化顺序 ❤ 2018.8.18 〇 使用寄存器映射点亮LED 首先定义头文件 然后这样写代码 〇 构建库函数 ○ 通过结构体形式映射寄存器 这样定义头文件 然后这样写代码: ♣ 我理解的是,之所以调用结构体的时候不需要用取内容运算符或者说宏定义的时候前面不加*是因为-》运算符就是用来取内容的(?) ❤ 2018.8.19 ○ 使用固件库初始化GPIO并点亮LED的程序这样写 〇 STM32固件库分析 ❤ 2018.8.20 〇 新建一个固件库模板 ○ 新建工程模板文件夹,如“Fwlib-Template”,下面新建如下文件夹: ○ 新建工程,选择相应芯片型号(这是需要提前在st官网下载相应芯片包并安装的)。 ○ 在工程中target文件夹下新建相应group ○ 将官方库的相应文件拷贝到自己的工程模板目录中 · libraries:(将官方库的libraries拷贝过来之后调整目录结构) · user:(这个是从官方库的例程里面拷贝过来的,除了main.c) ○ 将相应文件添加到工程中 ○ 添加include path ○ 定义宏 ♣ USE_STDPERIPH_DRIVER是为了使工程包含stm32f10x_conf.h STM32F10X_HD是使头文件stm32f10x.h初始化为相应芯片型号(容量不同)。 ○配置options ♣ use microlib是为了在编程中使用c的标准库 ○ 添加一个清楚垃圾文件的命令行 ○ 仿真器设置(dap仿真器) 先打开开发板 ♣reset那里视频里说是autodetect,但是没找到,那就sysresetreq吧 ♣ 更改了芯片型号之后仿真器设置一定会变,记得改过来。 〇 使用固件库点亮LED · 拷贝固件库模板 · 在user里面新建led文件夹,新建bsp_led.c和bsp_led.h · 打开工程,添加刚才的文件 · bsp_led.c添加头文件,并把头文件目录添加到include path里 · bsp_led.h添加条件编译语句 · 互相添加头文件 · 将跟硬件相关的都定义成宏,增加程序可读性 · 最后写成了这样 大概就是这样了。 · 加个延时,让灯闪烁 · 新花样,使用带参宏 · 新花样2,使用c语言里面的续行符使语句变短 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1683 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1582 浏览 1 评论
1013 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
703 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1627 浏览 2 评论
1892浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
675浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
537浏览 3评论
556浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
525浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-3 15:53 , Processed in 1.136693 second(s), Total 80, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号