eric2013 发表于 2019-6-9 08:35:22

2019-06-09
下周开始将陆续发布更新章节。

eric2013 发表于 2019-6-16 10:40:47

已经更新前两章节

leimao 发表于 2019-6-16 19:19:35

现在st主推stm32cube,所以hal不得不学了,感谢硬汉哥,学习方便很多

missfox 发表于 2019-6-17 09:36:57

终于更新了,赞

eric2013 发表于 2019-6-18 11:39:40

leimao 发表于 2019-6-16 19:19
现在st主推stm32cube,所以hal不得不学了,感谢硬汉哥,学习方便很多

:handshake

夏清 发表于 2019-6-20 01:03:40

你好   V6的HAL库工程模板中 为什么没有stm32f4xx_hal_msp.c 这个文件。 用不着吗?

eric2013 发表于 2019-6-20 08:41:30

夏清 发表于 2019-6-20 01:03
你好   V6的HAL库工程模板中 为什么没有stm32f4xx_hal_msp.c 这个文件。 用不着吗?

对,用不到这个文件,如果将驱动的底层IO配置都放在这个文件,导致用户移植的时候,这个文件很容易被遗忘。

程序里面是独立到各个bsp驱动包里面实现,保证驱动文件的独立性。

eric2013 发表于 2019-6-23 09:51:56

2019-06-23
发布V0.2版本

新增章节:
第3章 STM32F429 整体把控
第4章 STM32F429 工程模板建立(MDK5)
第5章 STM32F429 下载和调试方法(MDK5)   

新增例子:
V6-000_程序模板

juzibaba 发表于 2019-6-26 18:02:14

支持~~~~~~~~~

小帅瓜 发表于 2019-6-28 15:44:01

刚发现这个论坛,来逛逛:)

eric2013 发表于 2019-6-30 10:23:45

2019-06-30
发布V0.3版本

新增章节:
第6章 STM32F429 工程模板建立(IAR8)
第7章 STM32F429下载和调试方法(IAR8)
第8章 STM32F429 的终极调试组件 Event Recorder
第9章 STM32F429 重要知识点数据类型,变量和堆栈
第10章 STM32F429 的 FLASH,RAM 和栈使用情况(map 和 htm 文件)

eric2013 发表于 2019-7-7 10:59:16

发布V0.4版本

新增章节:
第11章 STM32F429 移植 SEGGER 的硬件异常分析

新增例子:
V6-001_移植SEGGER的硬件异常分析机制

清风徐来 发表于 2019-7-10 14:00:19

你好,刚看了stm32f4xx_hal_gpio.c文件,最后对IO操作的有两个函数。
void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin)和__weak void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) 不是很明白,可以解释下吗?

eric2013 发表于 2019-7-10 14:20:48

清风徐来 发表于 2019-7-10 14:00
你好,刚看了stm32f4xx_hal_gpio.c文件,最后对IO操作的有两个函数。
void HAL_GPIO_EXTI_IRQHandler(uint ...


清风徐来 发表于 2019-7-10 14:26:48

eric2013 发表于 2019-7-10 14:20


原来HAL库这样搞的。 利用两个函数 来实现一个中断处理函数。

清风徐来 发表于 2019-7-10 16:08:54

本帖最后由 清风徐来 于 2019-7-10 16:14 编辑

哥。看到时钟配置这块, stm32f4xx_hal_rcc.c 定义了 __weak HAL_StatusTypeDef HAL_RCC_DeInit(void)弱函数。
                           而在 stm32f4xx_hal_rcc_ex.c中 直接定义了 HAL_StatusTypeDef HAL_RCC_DeInit(void) 具体的操作函数。
这样做有什么意义?   还有 stm32f4xx_hal_rcc.c 与stm32f4xx_hal_rcc_ex.c,为什么不合并成一个C文件?

eric2013 发表于 2019-7-10 16:33:20

清风徐来 发表于 2019-7-10 16:08
哥。看到时钟配置这块, stm32f4xx_hal_rcc.c 定义了 __weak HAL_StatusTypeDef HAL_RCC_DeInit(void)弱 ...

文件stm32f4xx_hal_rcc_ex.c不是必须要用到的,我很多时候基本不用这个文件。

eric2013 发表于 2019-7-14 00:34:37

2019-07-14
发布V0.5版本

新增章节:
第12章 STM32F429 的 HAL 库框架设计学习
第13章 STM32F429 启动过程详解
第14章 STM32F429 的电源,复位和时钟系统
第15章 STM32F429 的 GPIO 基础知识(重要)

清风徐来 发表于 2019-7-14 13:13:00

哥 ,利用KEIL5,可以在仿真工程的时候,查看系统及各个外设的时钟频率吗,以及各个IO口的状态?以前用过新唐的芯片,带这样的功能的。不知道F429怎么查看?

清风徐来 发表于 2019-7-14 14:49:56

V6模板时钟配置有点问题吧

eric2013 发表于 2019-7-15 07:07:20

清风徐来 发表于 2019-7-14 14:49
V6模板时钟配置有点问题吧

谢谢指出,注释有问题,注释的那个PLL_M = 8

eric2013 发表于 2019-7-15 07:07:44

清风徐来 发表于 2019-7-14 13:13
哥 ,利用KEIL5,可以在仿真工程的时候,查看系统及各个外设的时钟频率吗,以及各个IO口的状态?以前用过 ...

有时钟获取API,调用下即可

msyeh 发表于 2019-7-16 19:10:08


支持支持,支持

清风徐来 发表于 2019-7-18 16:33:38

                if (pBtn->LongTime > 0)
                {
                        if (pBtn->LongCount < pBtn->LongTime)
                        {
                                /* 发送按钮持续按下的消息 */
                                if (++pBtn->LongCount == pBtn->LongTime)
                                {
                                        /* 键值放入按键FIFO */
                                        bsp_PutKey((uint8_t)(3 * i + 3));
                                }
                        }
                        else
                        {
                                if (pBtn->RepeatSpeed > 0)
                                {
                                        if (++pBtn->RepeatCount >= pBtn->RepeatSpeed)
                                        {
                                                pBtn->RepeatCount = 0;
                                                /* 常按键后,每隔10ms发送1个按键 */
                                                bsp_PutKey((uint8_t)(3 * i + 1));
                                        }
                                }
                        }
                }

按键检测函数中 :这段没搞明白?可以再解释下吗?

eric2013 发表于 2019-7-18 17:00:52

清风徐来 发表于 2019-7-18 16:33
if (pBtn->LongTime > 0)
                {
                        if (pBtn->LongCount < pBtn->LongTime)


先看V7的按键部分学习吧,这个部分代码一模一样

http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980&extra=page%3D1

清风徐来 发表于 2019-7-19 08:32:46

eric2013 发表于 2019-7-18 17:00
先看V7的按键部分学习吧,这个部分代码一模一样

http://www.armbbs.cn/forum.php?mod=viewthread&t ...

好的。 如果一个键 ,有多种功能。 比如 按下第一次是 A , 按下二次是B , 再次按下 回到A 。 实现这样的功能,该怎么实现呢?

eric2013 发表于 2019-7-19 09:27:22

清风徐来 发表于 2019-7-19 08:32
好的。 如果一个键 ,有多种功能。 比如 按下第一次是 A , 按下二次是B , 再次按下 回到A 。 实现这样的 ...

在自己的应用程序里面处理即可,做个变量标志。

eric2013 发表于 2019-7-21 13:16:12

2019-07-21
发布V0.6版本

新增章节:
第16章 STM32F429 必备的 HAL 库 AP(I 重要)
第17章 STM32F429 之 GPIO 的 HAL 库 API

wdliming 发表于 2019-7-21 18:16:58

谢谢分享,!!!

lable 发表于 2019-7-21 23:27:13

加油,会越来越好!

lable 发表于 2019-7-21 23:27:39

加油,会越来越好!

eric2013 发表于 2019-7-28 02:13:13

发布V0.7版本

新增章节:
第18章 STM32F429 的 GPIO 应用之跑马灯
第19章 STM32F429 的 GPIO 应用之按键 FIFO
新增例子:
V6-002_跑马灯
V6-003_按键检测(软件滤波,FIFO机制)

eric2013 发表于 2019-8-9 09:53:58

2019-08-04
发布V0.8版本

新增章节:
第20章 STM32F429 的 GPIO 应用之无源蜂鸣器
第21章 STM32F429 的 NVIC 中断分组和配置(重要)
第22章 STM32F429 的 SysTick 实现多组软件定时器


新增例子:
V6-004_无源蜂鸣器
V6-005_基于Systick滴答定时器的多组软件定时器实现

浴火重生 发表于 2019-8-11 22:04:35

hal库的思维方式真的很好

星光 发表于 2019-8-13 17:28:09

Event Recorder太好用了,的确是单片机调试的利器:lol

由崎星空 发表于 2019-8-16 18:07:49

顶顶顶,硬汉哥牛逼

cheng_5230 发表于 2019-8-17 08:49:53

很给力,终于出来了

eric2013 发表于 2019-8-18 02:05:09

2019-08-18
发布V0.9版本

新增章节:
第23章 STM32F429 的 USART 串口基础知识和HAL库 API
第24章 STM32F429 的 USART 应用之八个串口FIFO 实现
附件 E---基于 CMSIS-Driver 的 8 串口DMA不定长收发实现
附件 F---基于 mbedTLS 的 AES 加密实现

新增例子:
V6-006_串口和PC机通信(驱动支持8串口FIFO)

清风徐来 发表于 2019-8-19 16:09:13

老大, HAL库的工程模板中,包含的 内核头文件哪几个是必须的?我看了 莫哥的归纳 ,core_cm4.h 、core_cmFunc.h 、core_cmInstr.h 、core_cmSimd.h 和 cmsis_armcc.h 这5个是必须的。 但是我看 你的模板 ,只调用了 core_cm4.h与cmsis_armcc.h这两个。

eric2013 发表于 2019-8-19 16:36:42

清风徐来 发表于 2019-8-19 16:09
老大, HAL库的工程模板中,包含的 内核头文件哪几个是必须的?我看了 莫哥的归纳 ,core_cm4.h 、core_c ...

这个用户不用去管,用户仅需把最新版CMSIS软件包include文件夹路径添加上即可。

你要到那些功能了,就会自动去关联,因为在F4的头文件里面有包含。
页: 1 [2] 3 4 5 6 7
查看完整版本: 【安富莱】V6,V5开发板用户手册,重在BSP驱动包设计方法,HAL库的框架学习,授人以渔,更新至50章(2023-10-24)