第一次使用HK32F103VET6的芯片,看芯片资料引脚和功能兼容STM32F103VET6,ST的芯片最近涨价涨的太离谱了,想测试下这个国产芯片来替代STM32F103,支持国产芯片。在官网申请芯片也没有申请到,就在X宝上购买了一片。芯片是LQFP100引脚的,发现购买的芯片引脚不是很对位,还好焊接没有短路,上电先跑个点灯程序。
官网也没有找到芯片SDK包文件,翻论坛的帖子看到有下载资料的链接:航顺MCU开发入门及常见问题汇总 - - 21ic电子技术开发论坛
一、安装软件包
官网可以下载到IAR和MDK对应pack文件,我使用的是MDK,下载对应的文件。
二、硬件
开发板是自己设计的,点灯的硬件端口是PD3和PE0.
三、程序
3.1、GPIO端口应用分析
通过点灯程序来学习HK32F103芯片的GPIO端口的应用,通过HK32F103xCxDxE用户手册_V1.0.0来了解下GPIO端口的功能。 GPIO端口的每个位可以由软件分别配置成多种模式,可配置的模式有下面内容:
-- 输入浮空
-- 输入上拉
-- 输入下拉
-- 模拟输入
-- 开漏输出
-- 推挽式输出
-- 推挽式复用功能
-- 开漏复用功能
每个端口都可以根据硬件的功能来配置。
对应的程序部分
我的板子硬件外接的LED灯是上拉电阻到电源正极,可以配置的端口模式为开漏输出或推挽式输出。
HK32F103芯片的GPIO配置和STM32F103芯片的GPIO配置看资料是一样的,代码应该可以兼容使用的。
3.2、运行一个简单的点灯程序
对应的GPIO口配置为输出,程序里面我配置为推挽式输出。
代码:led.c
#include "led.h"
#include "delay.h"
void Led_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD|RCC_APB2Periph_GPIOE, ENABLE);
GPIO_InitStructure.GPIO_Pin = LED1_GPIO_PIN;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(LED1_GPIO_PORT, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = LED0_GPIO_PIN;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(LED0_GPIO_PORT, &GPIO_InitStructure);
LED0_OFF;
LED1_OFF;
}
代码:main.c
3.3、选择开发工具
3.4、程序代码
HK32F103C8T6_template(Keil v5).rar (4.31 MB)
四、程序执行
下载程序后,复位板卡,开发板上的两个LED交替点亮,实际拍摄视频转换成GIF图片,看着效果不是很清晰,还是能够看出交替点亮过程。
---------------------
作者:tlled
链接:https://bbs.21ic.com/icview-3061152-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。