太久没有写STM的程序了~~~ 发现变化好大啊! 不得一步一步的从头开始学习! 工程建好后 首选是配置 系统时钟,以下是我的一些小结,不知对不对,不对的地方请各位斧正。 第一步学会看 系统时钟的block 图, 看懂之后 配置寄存器。 网上有两种做法: 1种是 “在应用笔记中找到STM32F0xx系列微控制器的时钟配置工具,下载下来得到一个EXCEL表文件” ,然后生成一个system_stm32f0xx.c 文件文件中 SystemInit() 函数对系统时钟进行了配置, 然后这个函数 会在单片机起来的时候 在startup_stm32f030.s 中被调用, 这样的话 应用层的 程序上就不用再去配置 系统时钟。 这个只是配置系统的时钟 如果 其他外设 如 GPIO, I2C,串口 要使用的话, 就要通过 RCC 去配置,等于 把时钟线 牵到对应外设上去。 第2 种是直接 在RCC_Configuration() 中进行 系统时钟配置,和外设 的时钟配置。。等于自己写出每一个寄存器的配置。 个人感觉这样比较麻烦 |
评分
查看全部评分
CubeMx 确实 很强大, 不过好像占用很多程序空间 是吗?
CubeMx 也可以使用HAL 库??谢谢!
Cube只是个工具,他生成的代码是用的两个库,HAL和LL,可以任意选择,甚至某个外设单独用另外的都可以。。。
评分
查看全部评分
好的谢谢你! 图形化的界面应该很棒,有机会一定要学习一下!谢谢版主!
稍微修正一下,cubeMx目前只能生成HAL,LL的代码只能在库的路径下找,都是固定例程,目前暂时不能灵活生成能
你说的应该指的是时钟,其他外设配置,可以很灵活,当然了,这里的灵活依然仅仅指的是初始化而已!!!
是的,毕竟应用是无穷无尽,就如我们的串口接口,就只有轮训,中断,和DMA,但是他们要不就是用time out,不要就是以长度作为结束,但用户用AT指令或者一些数据采集卡时,就不能有关键符号,或者是自动接收了.都是需要自己修改接口,希望cubeMx可以越来越完善,适应越来越多的应用.
评分
查看全部评分