【正点原子】SYSTEM文件夹第三方库 For STM32 HAL库版本 (*)

要点:

1. STM32CubeMX 新版的功能应该足够强大了,可能已经不需要 SYSTEM 文件夹了?

在 CubeMX中,可以直接菜单设置、并生成相当于 sys目录下的文件?

HAL_Delay() 函数,CubeMX自动生成。

printf 函数,可能才需要用户自行稍作修改? arm 的 printf 函数默认支持“半主机模式”,需要专门的调试器来配合使用。

2. 由于正点原子  SYSTEM文件夹下的第三方库,具有通用性和普遍性;虽然使用 CubeMX可以生成这些函数,但是,还是具备很好的学习意义的。

3. 每一家公司的项目,各有其特点,因此,项目的文件夹结构,也各有不同。

正点原子的项目文件夹结构,适合于教学,但未必适合于实际的项目。

在使用 STM32的场景,最好的项目结构,可能是直接由 CubeMX生成的项目结构,直接自动生成,省心省力。但实际上,可能就是以此作为基础模板,然后,用户根据自己的项目特点,另行扩展,从而形成自己的项目目录结构。

4. printf()函数,与软件的逻辑调试有关,通常都是需要掌握的。

因此,与 printf有关的串口功能,也就必须掌握了。假如 MCU没有串口外设,则可能需要采用 IO口进行软件模拟。

x. 世界是不断变化的,STM32 也是。

使用 STM32CubeIDE,可以自动生成工程,这些工程可以包含 RTOS,图形界面库等等,

只不过 ST 自有的 IDE 还处在一个不断完善的过程中。如果只是使用 ST的 MCU,那么,使用 STM32CubeIDE无疑是方便的;
但是,实际上,每一家用户公司可能都会使用 2家以上的不同品牌 MCU吧?毕竟除了价格上的问题之外,没有哪一家 MCU 的供应链能够保证不会缺货?

----------------------------------------------------------------

关联:

串口通信:printf 重定向 (****)  https://blog.csdn.net/ken2232/article/details/135347248

ARM半主机模式介绍,及 printf (**) https://blog.csdn.net/ken2232/article/details/135324666

=====================================

SYSTEM文件夹,是由正点原子提供的第三方库。

这个正点原子库的特点:

具有通用性。在不同的项目中,一般都需要用到。

  https://www.bilibili.com/video/BV1bv4y1R7dp?p=41

delay 目录:主要是 us、ms级别的延时函数。
注意:?该延时函数采用死等的方式来实现延时,因此,可能只适合用在教学场景,或者 RTOS场景(时间片由 OS控制,因此,不会阻塞其他任务)。

usart 目录:主要是定义了 printf() 函数,重定向到串口输出。通过串口的上位机软件,可以获取用户自定义的各种调试输出信息。

sys 目录:

特别说明:

1. CLKSOURCE:在 ARM内核中定义为:时钟源选择;但是,被STM32重定义为:分频系数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值