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的头文件里面有包含。