目录
- 前言
- 环境配置
- 点亮led
- 源码
- IDA集成了串口监视器
- 最后下载到开发板中运行
前言
海思MCU体验官活动,Hi3061M开发板到手后,配置环境初步测试点亮小灯。
环境配置
环境配置按照gitee提供的redeme一步一步来配置起来很顺利。具体可自行查阅:环境配置
这里稍微提一嘴,安装驱动后其实可以不需要重启电脑,插拔一下开发板应该就可以。
再使用zadig.exe进行驱动转换就可以在“Options”->选中“list All Devices”中找到并选中“Dual RS232- HS(Interface 0)”,然后进行转换。(我是没插开发板,安装好驱动,再插入开发板进行转换的),只有插入了开发板才能在list All Devices”找到对应的设备
另外一个点是建议调试和程序加载都配置好
还有记得点击一下底部的目标板,检测目标板在线
我不知道这个有没有影响,不点直是不在线的,但是好像也能下载(不记得了),可能只是现实bug
点亮led
根据文档新建工程后,文档就是上面环境配置的文档。
内部是带例程的
选中使能,会弹出一个加载led配置,覆盖原有配置,是否使用点击确认即可。
需要注意的是如果你原有工程改过东西,点这些案例配置,会覆盖你原来所有的,慎重,新建的工程随意。
当然不是这样就可以编译下载了,例程中的IO口需要进行更换。例程中的管脚在Hi3061M中不是对应的LED灯,默认的是16脚
我们可以通过芯片配置器管脚模式进行快速配置,选中引脚,选择功能,选好如图出现勾和绿色标识时,就是成功了,然后点生成代码,就会自动生成对应的IO初始化代码了,还是很方便的。
但是这个有一点缺点,那就是无法设置引脚的输入输出模式,以及电平高低等参数,而且现实的是管脚,按原理图GPIO2_3找起来优点麻烦。
另外一种方式是在表格视图中对io口进行配置,可以添加,也可以修改原来定义的引脚,当然这里只处理引脚的定义,对于特殊功能如串口、IIC的不会在这显示,这里单纯定义引脚还是非常方便的,都不需要改代码。
我一开始遇到的坑就是,直接在管脚视图生成了GPIO2_3的代码,然后进行编译下载,但是一直不亮,这个例程还带了串口的调试,我看了下串口也有调试信息出现, 调了延时发现灯一直没亮,以为坏了,就去试试另一个,后面看代码才发现管脚视图初始化默认的IO的模式应该是为输入模式,导致没亮灯。这是一个呼吸灯+串口的案例,可以去看看源码,不是很复杂,把IO定义搞明白了,后面的开发相对也会容易点
另外附上两个LED对应的IO口——GPIO2_3就是对应的35脚, GPIO1_0就是对应的27脚
其实也可以直接在源码上改,把默认的16改到35就好了,但是初次使用图形化配置也挺方便的,该删的直接删除就行
(图中级别就是IO口的电平,低电平亮)
源码
源码其实就几句,SystemInit()是一些IO口的定义,模式啊,输入输出,什么什么的BASE_FUNC_DELAY_MS(CYCLE_INTERVAL_TIME);就是延时函数延时ms,CYCLE_INTERVAL_TIME 设置值,
HAL_GPIO_TogglePin(&LED_HANDLE, LED_PIN);进行IO口翻转,
DBG_PRINTF(“LED Stata reverse! \r\n”);串口打印。
这个是一个闪烁灯案例。
#define CYCLE_INTERVAL_TIME 2000/* ---------------------------------- Sample Parameters -------------------------------- */
/*** @brief Test GPIO PIN control LED.* @param None* @retval Value of @ref BASE_StatusType.*/
BASE_StatusType GPIO_LedSample(void)
{SystemInit();/* Cycle control LED on and off. */while (1) {BASE_FUNC_DELAY_MS(CYCLE_INTERVAL_TIME);HAL_GPIO_TogglePin(&LED_HANDLE, LED_PIN);DBG_PRINTF("LED Stata reverse! \r\n");}return BASE_STATUS_OK;
}
IDA集成了串口监视器
总的来说这个开发软件真的做的还是不错了,调试也试过,很丝滑。美中不足的是有些地方留白边框有点多。
最后下载到开发板中运行
实图
欢迎一起沟通交流。