Lioyae

  • 2024-11-29
  • 发表了主题帖: CW32L010 Mini Broad 上手体验【01|点灯】

    本帖最后由 Lioyae 于 2024-11-29 21:39 编辑 CW32L010 Mini Broad 上手体验【01|点灯】 相关资料 CW32L010数据手册、用户手册、固件库(https://www.whxy.com/index.php/anquandigonghaoMCU/CW32L010F8U6.html?act=doc) CW32L010 Mini Broad 立创硬件开源链接(https://oshwhub.com/beauty_light/cw32l010-mini-board) 产品参数 •内核:ARM® Cortex®-M0+     – 最高主频 48MHz •工作温度:-40℃ 至 85℃;工作电压:1.62V 至 5.5V •存储容量     – 最大 64K 字节 FLASH,数据保持 25 年 @-40℃ ~ +85℃,支持擦写保护、读保护和安全运行库保护功能     – 最大 4K 字节 RAM,支持硬件奇偶校验     –22 字节 OTP 存储器 •CRC 硬件计算单元 •复位和电源管理     – 低功耗模式(Sleep,DeepSleep)     – 上电和掉电复位(POR/BOR)     –可编程低电压检测器(LVD) •时钟管理     – 4 ~ 32MHz 晶体振荡器     – 32kHz 低速晶体振荡器     – 内置 48MHz RC 振荡器     – 内置 32kHz RC 振荡器     – 时钟监测系统     – 允许独立关断各外设时钟 •支持最多 16+1 路 I/O 接口     – 所有 I/O 口支持具备滤波的中断功能     – 所有 I/O 口支持具备滤波的唤醒功能     – 所有 I/O 口支持迟滞及上拉输入     – 所有 I/O 口支持推挽及开漏输出 •12 位模数转换器     – 最高 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     – IR 调制器,可编程占空比和极性 •串行调试接口 (SWD) •80 位唯一 ID 以上内容摘抄自官方数据手册。 开发环境搭建以及点灯 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 } } 写完程序编译运行,结果如下:  

  • 2024-09-22
  • 回复了主题帖: 献给新手:解析STM32的库函数

    谢谢楼主  

  • 2024-09-12
  • 加入了学习《ROS趣味入门教程》,观看 如何学习ROS

  • 加入了学习《ROS趣味入门教程》,观看 什么是ROS

  • 2024-08-14
  • 回复了主题帖: 怎样让红外寻迹模块捕获到的0/1通过GPIO控制TT电机

    通过读取的红外循迹模块的状态,调整占空比改变电机转速,具体实现代码可以上csdn找找  

  • 回复了主题帖: MicroPython 用户开发指南

    这个要学习一下

  • 回复了主题帖: 做了一个电容屏的IIC接口转USB

    谢谢大佬分享,学习一下

学过的课程

最近访客

现在还没有访客

< 1/0 >

统计信息

已有--人来访过

  • 芯积分:29
  • 好友:--
  • 主题:1
  • 回复:4

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言