631|6

68

帖子

0

TA的资源

一粒金砂(中级)

 

【HC32F448测评】+ Hello World!!! [复制链接]

  本帖最后由 dmzdmz666666 于 2023-8-4 21:53 编辑

第二篇:Hello World!!!@dmz 23.08.04

这篇主要介绍工程的创建和MCU的串口、按键和LED的使用。

首先作为一个个人开发者来说,选择微控制器这里混合信号IC还是模拟IC、数字IC,主要就关注硬实力还有软实力下。硬实力主要就是看芯片本身的性能,是不是足够好,是不是足够适合;另一方面软实力就包括生态,良好的生态就是让开发者开发起来事半功倍,不用反复踩别人踩过的坑了,像数据手册、用户手册、勘误表、各部分的使用注意事项、例程、SDK、驱动库应该是完整且易获得的,国产厂家的微控制器在硬实力上这些年慢慢向中高端走,性能越来越好,产品线越来越丰富,但距离国际大厂像意法半导体、恩智浦半导体、瑞萨半导体还有差距;在软实力上,一个典型的例子就是意法半导体的STM32系列,它本土化方面做的就很好,最常见的STM32F103系列中文资料一堆,很多英文资料官方都提供了中文版,同时跟国内的做开发板厂家,比如正点原子、野火科技、安富莱电子等合作,推出了很多本土化的教程,大大降低了普通个人开发者的使用门槛和开发难度,同时网络上资料非常多,各类的评估版、系统板也非常多,所以至少在中国,STM32的影响力还是非常大的;国产的微控制器在本土化上应该是有优势的,但是奇怪的是,有些MCU的半导体厂家要么资料还是英文的(搞不懂你国际化没问题,那也应该立足本土化,放眼国际化呀,可以中文英文都搞一个呀),要么资料就不全、要么资料还需要注册或者留言才能有机会看到,要么就干脆不给,搞起来神神秘秘的,说就是面向大客户或者公司,还要签订什么协议。

这方面小华半导体、雅特力科技啊就做的都很不错,它们的数据手册、用户手册、开发工具的使用手册均是原生中文的,而且提供全套的例程和SDK、驱动库、还有开发板对应的BSP,对我给人而言,手册看起来特别舒服直观,不需要翻译,程序写起来也很容易。而且之资料摆放的位置也很好找,可以很方便的下载。芯片在淘宝上也很容易买到,对于个人开发者来说,这几点直接让我无脑支持。

image-20230804214813-1.png  

image-20230804214813-2.png  

说回正事,这次的程序需要用到串口、LED和按键。需要用到的例程在HC32F448_DDL_Rev1.0.0\HC32F448_DDL_Rev1.0.0\projects\ev_hc32f448_lqfp80\examples\usart\usart_uart_int

但是我们要将这个usart_uart_int单独拎出来是无法编译通过的,因为里面缺少组件,就像下面这样

 

image-20230804214813-3.png  

所以我们单独拎出来后,要将HC32F448_DDL_Rev1.0.0\HC32F448_DDL_Rev1.0.0\drivers这个里面的drivers复制到新文件夹里面,并新建一个子文件夹HARDWARE存放自己自定义的组件,如下图

 

image-20230804214813-4.png

进入工程以后记得点击下面两个图标并且修改对应drivers路径,这里我就不在赘述了。

 

image-20230804214813-5.png

image-20230804214813-6.png

 

例程usart_uart_int是RX和TX都是中断。这里我要修改为RX为中断,TX用printf实现。这里选择的串口是USART 2,因为自带的DAP电路支持虚拟串口,而它所连接的正是USART 2,正好方便调试。

 

image-20230804214813-7.png
我将USART相关的函数都放在了HARDWARE文件夹里的USART里,这样比较清晰。

首先是MY_USART_Init(void),这里是为了防止跟驱动库里的函数命名重复,才命名成MY_USART_Init,初始化的流程跟例程中的一致,就是配置GPIO、使能对应时钟、USART参数配置、使能RX TX的功能,如下图。

 

image-20230804214813-8.png

然后RX功能是通过中断实现的,配置如下图所示,包括一个ERROR中断和FULL中断,还有对应的回调函数。然后在FULL中断里面,我们设置将收到的数据重新发出去。

 

image-20230804214813-9.png

 

image-20230804214813-10.png

TX则通过主动发送,通过USART_GetStatus检测到USART的TX状态为空时,再将待发送的数据通过USART_WriteData写入USART,此时USART会将数据发送出去。同时,通过重定向fputc函数,printf就可以正常使用了。记得要加这个"stdio.h"头文件

 

image-20230804214813-11.png

其次是LED和按键,但其实官方的SDK已经给你弄好了的,就在ev_hc32f448_lqfp80这个子文件夹里。

首先是ev_hc32f448_lqfp80_tca9539.c这个C文件里包含LED0-LED2的初始化,因为这3个LED的IO是通过TCA9539芯片扩展的,然后用BSP_LED_Init();初始化;

ev_hc32f448_lqfp80.c这个C文件包含了按键KEY的初始化,用BSP_KEY_Init();初始化,然后通过BSP_KEY_GetStatus(BSP_KEY_1)来判断是否按下,按下状态则为SET。

因为LED3是单片机通过PA2直接控制的,所以这就涉及到了对GPIO口的初始化,设置为输出

 

image-20230804214813-12.png

 

image-20230804214813-13.png

最后对各模块进行初始化,这里我参照例程。

 

最后的效果是按下对应的按键,对应的LED会翻转,同时USART会发送"Hello World!!!@DMZ   This is KEY_1

 

image-20230804214813-14.png

 

看最后效果,测试成功。

 

image-20230804214813-15.png

 

HC32F448_Hello World.zip

6.6 MB, 下载次数: 1

最新回复

定位国际市场肯定就是做成英文的......看你是不是目标客户而已   详情 回复 发表于 2023-8-6 16:08
 
 
 

回复

5097

帖子

3

TA的资源

版主

 

这方面小华半导体、雅特力科技啊就做的都很不错,它们的数据手册、用户手册、开发工具的使用手册均是原生中文的,而且提供全套的例程和SDK、驱动库、还有开发板对应的BSP,对我给人而言,手册看起来特别舒服直观,不需要翻译,程序写起来也很容易。而且之资料摆放的位置也很好找,可以很方便的下载。芯片在淘宝上也很容易买到,对于个人开发者来说,这几点直接让我无脑支持。

小华的这方面确实非常好,我体验4A0时的印象特别深!

点评

同感+1  详情 回复 发表于 2023-8-5 10:26
 
 
 

回复

1524

帖子

0

TA的资源

五彩晶圆(初级)

 

确实是,有些国产的微控制器在本土化上应该是有优势的,但有些MCU的半导体厂家资料还全是英文的,就不自信了

点评

定位国际市场肯定就是做成英文的......看你是不是目标客户而已  详情 回复 发表于 2023-8-6 16:08
可能想搞成半个洋品牌吧  详情 回复 发表于 2023-8-5 10:27
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(中级)

 
lugl4313820 发表于 2023-8-5 06:59 这方面小华半导体、雅特力科技啊就做的都很不错,它们的数据手册、用户手册、开发工具的使用手册均是原生中 ...

同感+1

 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(中级)

 
火辣西米秀 发表于 2023-8-5 08:30 确实是,有些国产的微控制器在本土化上应该是有优势的,但有些MCU的半导体厂家资料还全是英文的,就不自信 ...

可能想搞成半个洋品牌吧

 
 
 

回复

29

帖子

0

TA的资源

一粒金砂(中级)

 
火辣西米秀 发表于 2023-8-5 08:30 确实是,有些国产的微控制器在本土化上应该是有优势的,但有些MCU的半导体厂家资料还全是英文的,就不自信 ...

定位国际市场肯定就是做成英文的......看你是不是目标客户而已

点评

国内市场也很重要呀 面向国人的话中文资料是最实用的 当然了想走向国际市场 英文版是没问题  资料都有是最好的  详情 回复 发表于 2023-8-8 12:39
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(中级)

 
lightningguagua 发表于 2023-8-6 16:08 定位国际市场肯定就是做成英文的......看你是不是目标客户而已

国内市场也很重要呀 面向国人的话中文资料是最实用的 当然了想走向国际市场 英文版是没问题  资料都有是最好的

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2023 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表