- 博客(8)
- 收藏
- 关注
原创 8、stm32按键板级支持包增加EXTI功能
为了方便移植,按照之前的方法,将main.h中关于按键的定义复制替换到bd_key.h中;在gpio.c文件中找到MX_GPIO_Init()函数,全部复制到bd_key.c文件中将名字改为KEY_EXTI_Init()再声明一下就完成了。GPIO模式有6种选择,分别是上升沿触发中断、下降沿触发中断、上/下沿都触发中断、上升沿触发事件、下降沿触发事件、上/下都触发事件,这里选择前3种任意中断触发方式都可以。RCC配置就简单了,当前RCC怎么配置都不影响,输入喜欢的频率敲一下回车就行了响,不配置也没有问题。
2024-07-21 14:06:52
121
原创 七、stm32f103超频笔记
STM32CubeMX软件中可以直接配置超频,虽然它会显示标红,但一样可以生产keil工程。经过测量,我手里面的这块开发板,倍频12倍(96MHz)时示波器显示正常(96/2=48MHz);再提高倍数后,示波器测量到的频率低于(系统时钟/2),并且还到不了(96/2=48MHz),并且倍频设置越大,测量到的频率越小,甚至倍频设置最大16时,示波器测量到的频率只有36MHz了。有没有懂的,在线求科普!
2024-07-21 09:38:43
237
原创 六、stm32f103启动文件笔记
STM32启动过程全面解析,包括启动过程的介绍、启动代码的陈列以及深入解析。相对于ARM上一代的主流ARM7/ARM9内核架构,新一代Cortex内核架构的启动方式有了比较大的变化。... 【经验分享】STM32启动文件深度解析 ,ST意法半导体中文论坛。15. 启动文件详解 — [野火]STM32库开发实战指南——基于野火MINI开发板 文档 (embedfire.com)【经验分享】STM32启动文件深度解析 - STM32团队 ST意法半导体中文论坛。
2024-07-20 21:39:29
152
原创 五、构建按键板级支持包
野火的方法是用固件库的编程方式来配置,但一个成熟的程序员必须要会CTRL+C,并且我不认为我写的能比ST官方提供的还好,所以我这里是从上一个RGB的工程文件里面的main.h文件找到RGB引脚的定义,复制到bd_rgb.h中,这样定义就有了;还差一个RGB的初始化函数,在gpio.c文件中找到void MX_GPIO_Init(void)函数,全部复制到bd_rgb.c中,为了区分将函数名改为(void)RGB_Init(void),并在bd_rgb.h中声明,这样就搞定了。
2024-07-20 18:33:10
546
原创 四、构建RGB板级支持包
他们的命名规则是bsp_xxx.c,bsp就是板级支持包,xxx是对应功能。针对我自己,命名规则调整为bd_xxx.c,既然bsp是针对相应开发板的,就替换成霸道拼音的首字母缩写bd,这样也能区分其他开发板。配置引脚时需要配置为输出,输出方式选择推挽模式,理论上也可以选择开漏模式,在此进行验证;初始需要灭灯,所以初始电平设置为高;输出速率目前没发现有影响,并且我发现大家都喜欢选择最快,但我却知道男人不能太快,所以我选最慢。下图是参考野火霸道开发板构建的,RGB是负极驱动的,所以是低电平亮灯,高电平灭灯。
2024-07-19 17:23:15
267
原创 二、安装STM32CubeMX
官方推出STM32CubeMX,用图形化的开发方式更容易上手。相比固件库和寄存器的开发方式趋向底层硬件,对初学者来说很不友好。并且STM32CubeMX已经出现很久了,网上的资料也越发齐全,作为未来的主流,还免费,怎么也要了解一番。
2024-07-18 21:52:03
304
原创 三、STM32F103ZET6最小系统
stm32最小系统除去主控CPU外,需要包含,电源电路,复位电路,BOOT电路,时钟电路(因为stm32有内置时钟,对时钟要求不高的话,可以不要)。NRST引脚其实芯片已经用一个约40K的电阻上拉了,所以理论上来说是不需要再外接上拉电阻的,但我看大家都是有外接上拉的,心里没有底,不管这么多,先预留着。吃过亏,特意查看了芯片手册资料,下图是官方建议的供电方案,图片来自stm32f103zet6数据手册。首先明白目标,单纯的学习软件知识并不是我希望的,我还希望会硬件设计,这样后面才能摆脱开发板。
2024-07-18 16:05:39
705
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人