打印
[方案相关]

国产MCU专栏 第91期:【原创精选】解锁小华HC32 MCU应用的无限可能

[复制链接]
15941|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
*阅读说明:以下仅摘录帖子内容展示,详细过程说明及相关源码、资料等请戳原链接查看



本文将介绍在 F4A0 平台上,基于RT-Thread bsp 框架实现使用 spi 接口对外部SD/TF 卡的操作。
IDE :Keil MDK 5.2X
硬件平台 :EV_HC32F4A0_LQFP176_Rev1.0 开发板和 16G 的 TF 卡
Env tool :env_released_x_x_x
调试工具 :USB 串口线和逻辑分析仪

点评:基于 RT-Thread bsp 框架实现使用 spi 接口对外部 SD/TF 卡进行操作,解决大量数据存储问题。




本文档主要介绍如何用 Eclipse C/C++ IDE、ARM GNU GCC 和 Jlink 开发调试 HCWB392 模板工程。

点评:本文档主要介绍如何用 Eclipse C/C++ IDE、ARM GNU GCC 和 Jlink 开发调试 HCWB392 模板工程。整个过程透明清晰,一步步完成,具有很大的借鉴意义。




在实际应用中,经常会用到串口接收不定长数据的问题,一帧数据中包括帧头、帧尾、数据、校验码等。常用的接收数据的方式是用串口中断,每接收一个数据,中断一次,然后去读取,去判断是不是帧头,再去接收其他的数据,这种不停中断的方式很浪费CPU的资源。
这次我们采用的是HC32F460,找遍了数据手册也没有找到空闲中断这一条说明,后来发现他有一个叫做超时接收中断,其实和STm32的串口空闲中断差不多,只不过STM32间隔时间是对应波特率下一个字节的时间,而HC32F460的超时中断时间可自己设置,如果也设置为对应波特率下1个字节的时候,那么就和STM32作用一致,可以说是HC32F460空闲中断时间可设置。

点评:HC32F460的超时中断+DMA的案例讲解,以更加灵活稳定的方式处理不定长的串口数据接收。




在进行调试和维护时,常常需要与单片机进行交互,获取、设置某些参数或执行某些操作,nr_micro_shell正是为满足这一需求,针对资源较少的MCU编写的基本命令行工具。虽然RT_Thread组件中已经提供了强大的finsh命令行交互工具,但对于ROM、RAM资源较少的单片机,finsh还是略显的庞大,在这些平台上,若仍想保留基本的命令行交互功能,nr_micro_shell是一个不错的选择。

点评:以HC32F072芯片为依托,移植nr_micro_shell,步骤清晰,讲解细致,配以清晰的视频,容易理解借鉴,感谢分享。




现在越来越多的 mcu 芯片中就带有RTC 了,叫做芯片内置 RTC,并且用起来跟独立的时钟芯片效果相差无几(当然一份价格一分货,贵点的时钟芯片都比一颗单片机价格超出一大截)。最近在用 HC32F60PETB 这颗芯片做项目,通过选型手册了解到该 MCU 同样是带有 RTC 的,细看手册发现它并无 VBAT 引脚,那么它是如何实现该有的功能呢?细看手册,做一下记录。

点评:巧设电路结构,解决非断电型RTC MCU的电池供电方案。




NTC电阻是一种低成本的温度传感器,在很多方案中都有广泛的使用。
本文分享本人使用过程中的一些经验方法,
使用小华L196芯片的ADC外设+ NTC电阻实现的一种温度检测方法。
此方法有以下特点:
1、不需要高精度基准电压。
2、采样结果自动累加,可以减少MCU的一些工作量,方便做平均,采样值比较稳定。
3、具有温度区间细化功能,提高温度结果的精度,实际进行高低温测试,结果与TI的高精度温度传感器(TMP117)的误差在1℃以内。




BLDC驱动的核心就是电子换相;以方波驱动为例,常用的手法就是过零点换相;
那么如何检测过零点,常见的可以采用两种方式:
1、ADC端口电压检测,与虚拟中点电压值比较,受ADC转换时间的影响,这种方式无法在高速及超高速BLDC中应用;
2、基于VC比较器,将悬空相与虚拟中点比较,VC比较器的响应时间可以做到ns级别,非常适合高速BLDC的驱动;




最近在学习华大的HC32F460单片机,学习单片机就不得不说说单片机的运行时钟,华大这款单片机的时钟有很多的时钟总线,外设都是挂载在时钟线上运行的。




》访问小华半导体论坛,可查看更多开源作品。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

153

主题

691

帖子

26

粉丝