CW32L010|新品初体验

最近我们迎来了CW32L010新品的正式发布,标志着嵌入式技术领域的又一次创新突破。今日,我们有幸进行该新品的首次使用体验,以一块L010核心板为例,体验一下这颗芯片。

一、核心板概览

如图所示,本次体验的核心板为CW32L010的TSSOP20pin的封装版本,它集成了完整的最小系统,所有输入输出接口(GPIO口)均已引出,便于用户进行各类开发与测试。核心板上不仅设有SWD下载接口,还配备了LED指示灯PB0口,通过Type-CUSB接口即可实现便捷供电,为用户提供了极大的便利。

二、官方资料下载与准备

为全面了解CW32L010的性能与使用方法,我们首先通过IE浏览器访问武汉芯源的官方网站(https://www.whxy.com/ziliaoxiazai.html),并在资料下载页面获取了数据手册、用户手册及标准库等关键资料。

有中英文版的资料,可重点关注数据手册、用户手册及固件库这三项核心内容。下载完成后,我们将资料整齐地归类于同一文件夹中,以便后续参考使用。

三、开发环境搭建与例程测试

随后,我们着手搭建开发环境。作为嵌入式开发的常用工具,MDK(Keil Microcontroller Development Kit)自然成为了我们的首选。我们从标准库中解压文件。

并在IDEsupport文件夹下安装器件包:

安装步骤如下:

四、移植GPIO作代码调整

安装完成后,我们从标准库例程中挑选了一个GPIO(通用输入输出)基础实验例程进行修改与测试。

打开之GPIO的一个基本例程。它的文件框架组成:一个是启动文件、还有一个时钟文件、以及用户文件主程序、中段函数文件、以及我们的Driver外设库函数,在例程中只添加了使用到的外设驱动源文件。

我们再来看一下L010核心板原理图。主控芯片是CW32L010F8P6,还有两排IO的引出。可以看到原理图上有下载接口、PB00对应的LED1指示灯(低电平的时候可以亮)、PB07(上电复位信号,也可以作为普通IO)接的是NRST。就是这样一个简单的核心板,我们可以用LED1指示灯,来进行一个闪烁控制。

接下来我们控制PB0,进行输出的修改。

我们把这个IO口改成PB0口的配置,包括时钟,和输出推挽的模式。

把不相关的可以删除。

然后在while里面,我们可以做个最简单的,延时控制灯反转的功能。它这里有一个反转的语句,然后把这IO口改成PB00。

再加一条延时语句,比如说我们常习惯的延时语句。

这里的延时系数不够长,我们可以定一个32位的long范围,我们将这个6万,可以改成60万或者20万。延时的效果会更好。

然后进行编译,无错的情况的话可以下载。

五、下载测试与结果验证

完成代码编写与调试后,我们使用WCH-Link下载器将程序烧录至核心板。通过连接下载器与核心板,并在MDK中设置正确的目标芯片型号(L010),添加进来之后就可以下载程序啦。

我们成功地将程序下载至核心板。随后,我们观察到核心板上的LED指示灯按照预期实现了闪烁控制功能,验证了程序的正确性与GPIO的初体验。

六、总结与展望

这里我们主要体验的是官方库例程。许多L010的优势还没开始。尽管如此,本次的初次体验也让我们感受到了其强大的功能与广泛的应用前景。未来,我们将继续利用标准库及官方手册等资源,进一步探索CW32L010在物联网、智能家居、工业控制等领域的无限可能。我们相信,在不久的将来,CW32L010定将在嵌入式技术领域大放异彩!

七、演示视频

CW32L010|新品初体验_哔哩哔哩_bilibili​www.bilibili.com/video/BV1iXxNeAEF8/​编辑

### CW32L010 Keil项目配置 对于CW32L010单片机,在Keil中的配置主要包括安装必要的支持包、设置正确的设备选项以及调试工具的选择。 #### 安装和支持包 为了使Keil能够识别并支持CW32L010,需先确认已安装最新版本的MDK软件,并通过Pack Installer获取对应的器件库文件。这通常涉及下载由制造商提供的Device Family Pack (DFP),其中包含了目标处理器所需的启动代码、头文件和其他资[^2]。 #### 设备选择 打开Project窗口后,依次点击Target -> Options for Target '...' -> Device标签页来指定使用的具体型号。在弹出对话框里输入“CW32L010”,如果之前已经成功加载了相应的DFP,则应该可以在列表中找到该款MCU并选中它。 #### 调试接口设定 针对调试部分,推荐采用SWD模式连接硬件板卡上的编程器/DAPLink等适配器到PC端USB接口上。同样是在Options界面下的Debug分栏下完成这些参数调整工作,确保选择了合适的驱动程序和服务提供商[^1]。 ```c // 示例:初始化系统时钟函数 void SystemClock_Config(void){ RCC_OscInitTypeDef RCC_OscInitStruct = {0}; RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; /* 配置HSE振荡器 */ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; RCC_OscInitStruct.HSIState = RCC_HSI_ON; HAL_RCC_OscConfig(&RCC_OscInitStruct); /* 设置AHB, APB总线频率 */ RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_PCLK1; RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSICLK; RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; if(HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0)!=HAL_OK){ Error_Handler(); } } ``` 上述代码展示了如何配置系统时钟以适应CW32L010的工作需求。实际应用中可能还需要根据具体的电路设计做适当修改[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值