本帖最后由 Lioyae 于 2024-11-29 21:28 编辑
#申请原创# CW32L010 Mini Broad 上手体验【01|点灯】 相关资料 CW32L010数据手册、用户手册、固件库 CW32L010 Mini Broad 立创硬件开源链接 产品参数
- 工作温度:-40℃ 至 85℃;工作电压:1.62V 至 5.5V
- 存储容量
– 最大 64K 字节 FLASH,数据保持 25 年 @-40℃ ~ +85℃,支持擦写保护、读保护和安全运行库保护功能 – 最大 4K 字节 RAM,支持硬件奇偶校验 – 22 字节 OTP 存储器 – 低功耗模式(Sleep,DeepSleep) – 上电和掉电复位(POR/BOR) – 可编程低电压检测器(LVD) – 4 ~ 32MHz 晶体振荡器 – 32kHz 低速晶体振荡器 – 内置 48MHz RC 振荡器 – 内置 32kHz RC 振荡器 – 时钟监测系统 – 允许独立关断各外设时钟 - 支持最多 16+1 路 I/O 接口
- 所有 I/O 口支持具备滤波的中断功能
– 所有 I/O 口支持具备滤波的唤醒功能 – 所有 I/O 口支持迟滞及上拉输入 – 所有 I/O 口支持推挽及开漏输出 – 最高 2M SPS 转换速度,各序列通道采样时间可单独配置 – 具备 8 个转换结果寄存器 – 内置 1.2V 电压基准 – 模拟看门狗功能 – 内置温度传感器 – 支持由 Sleep/DeepSleep 模式唤醒4 / 66 – 16 位高级控制定时器,支持 6 路输入捕获,支持 6 对带死区的互补 PWM 输出,支持双点比较,支持PWM 移相 – 一组 16 位通用定时器 – 三组 16 位基本定时器 – 一组 16 位低功耗定时器 – 独立看门狗定时器 – 二路低功耗 UART,支持小数波特率,支持低功耗接收数据,支持可配置电平转换,其中一路支持LIN 通信接口 – 一路 SPI 接口 24Mbit/s,支持 4~16bit 位宽 – 一路 I2C 接口 1Mbit/s,支持可配置电平转换,支持 SMBUS – R 调制器,可编程占空比和极性 以上内容摘抄自官方数据手册。 开发环境搭建以及点灯 1.下载并安Keil 2.下载并安装 WHXY.CW32L010_DFP.1.0.0.pack,其位置在下载的固件库文件中路径为这个的 XXXX\CW32L010_StandardPeripheralLib_V1.0.3\IDEsupport\MDK 文件夹内 准备完开发环境我们开始点灯,首先找到官方提供的原理图,从原理图上我们可以看到,在在最下方有一个板载 LED,GPIO 口为 PB 00。
接下来我们打开从官网下载的示例程序打开路径为 CW32L010_StandardPeripheralLib_V1.0.3\Examples\GPIO\gpio_blink\MDK 文件双击 Project.uvprojx 打开 Keil 工程,打开后双击右侧 USER文件下的 main.c 文件此为官方例程。
根据官方例程我们进行一仿写,即可得到我们自己的点灯程序。注:开发板到手后内部并未烧录程序,此点在开发板介绍中有提到。 #include "../inc/main.h"
#define LED_GPIO_PORT CW_GPIOB
#define LED_GPIO_PINS GPIO_PIN_0
int main(void)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
SYSCTRL_HSI_Enable(SYSCTRL_HSIOSC_DIV1);
__SYSCTRL_GPIOB_CLK_ENABLE();
GPIO_InitStruct.IT = GPIO_IT_NONE;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pins = LED_GPIO_PINS;
GPIO_Init(LED_GPIO_PORT, &GPIO_InitStruct);
while(1)
{
GPIO_TogglePin(LED_GPIO_PORT, LED_GPIO_PINS);
FirmwareDelay(1000000); // 此为系统时钟延时函数,单位为us
}
}
写完程序编译运行,结果如下:
|