Lioyae 发表于 2024-11-29 21:40

CW32L010 Mini Broad 上手体验【01|点灯】

<div class='showpostmsg'> 本帖最后由 Lioyae 于 2024-11-29 21:39 编辑

<p><span style="font-size:20px;">CW32L010 Mini Broad 上手体验【01|点灯】</span></p>

<p><span style="color:#f1c40f;">相关资料</span></p>

<p>CW32L010数据手册、用户手册、固件库(<a href="https://www.whxy.com/index.php/anquandigonghaoMCU/CW32L010F8U6.html?act=doc)" target="_blank">https://www.whxy.com/index.php/anquandigonghaoMCU/CW32L010F8U6.html?act=doc)</a></p>

<p>CW32L010 Mini Broad 立创硬件开源链接(<a href="https://oshwhub.com/beauty_light/cw32l010-mini-board)" target="_blank">https://oshwhub.com/beauty_light/cw32l010-mini-board)</a></p>

<p><span style="color:#f1c40f;">产品参数</span></p>

<div style="text-align: center;"></div>

<p>&bull;内核:ARM&reg; Cortex&reg;-M0+</p>

<p>&nbsp; &nbsp; &ndash; 最高主频 48MHz</p>

<p>&bull;工作温度:-40℃ 至 85℃;工作电压:1.62V 至 5.5V</p>

<p>&bull;存储容量</p>

<p>&nbsp; &nbsp; &ndash; 最大 64K 字节 FLASH,数据保持 25 年 @-40℃ ~ +85℃,支持擦写保护、读保护和安全运行库保护功能</p>

<p>&nbsp; &nbsp; &ndash; 最大 4K 字节 RAM,支持硬件奇偶校验</p>

<p>&nbsp; &nbsp; &ndash;22 字节 OTP 存储器</p>

<p>&bull;CRC 硬件计算单元</p>

<p>&bull;复位和电源管理</p>

<p>&nbsp; &nbsp; &ndash; 低功耗模式(Sleep,DeepSleep)</p>

<p>&nbsp; &nbsp; &ndash; 上电和掉电复位(POR/BOR)</p>

<p>&nbsp; &nbsp; &ndash;可编程低电压检测器(LVD)</p>

<p>&bull;时钟管理</p>

<p>&nbsp; &nbsp; &ndash; 4 ~ 32MHz 晶体振荡器</p>

<p>&nbsp; &nbsp; &ndash; 32kHz 低速晶体振荡器</p>

<p>&nbsp; &nbsp; &ndash; 内置 48MHz RC 振荡器</p>

<p>&nbsp; &nbsp; &ndash; 内置 32kHz RC 振荡器</p>

<p>&nbsp; &nbsp; &ndash; 时钟监测系统</p>

<p>&nbsp; &nbsp; &ndash; 允许独立关断各外设时钟</p>

<p>&bull;支持最多 16+1 路 I/O 接口</p>

<p>&nbsp; &nbsp; &ndash; 所有 I/O 口支持具备滤波的中断功能</p>

<p>&nbsp; &nbsp; &ndash; 所有 I/O 口支持具备滤波的唤醒功能</p>

<p>&nbsp; &nbsp; &ndash; 所有 I/O 口支持迟滞及上拉输入</p>

<p>&nbsp; &nbsp; &ndash; 所有 I/O 口支持推挽及开漏输出</p>

<p>&bull;12 位模数转换器</p>

<p>&nbsp; &nbsp; &ndash; 最高 2M SPS 转换速度,各序列通道采样时间可单独配置</p>

<p>&nbsp; &nbsp; &ndash; 具备 8 个转换结果寄存器</p>

<p>&nbsp; &nbsp; &ndash; 内置 1.2V 电压基准</p>

<p>&nbsp; &nbsp; &ndash; 模拟看门狗功能</p>

<p>&nbsp; &nbsp; &ndash; 内置温度传感器</p>

<p>&bull;双路电压比较器</p>

<p>&bull;实时时钟和日历</p>

<p>&nbsp; &nbsp; &ndash; 支持由 Sleep/DeepSleep 模式唤醒4 / 66</p>

<p>&bull;定时器</p>

<p>&nbsp; &nbsp; &ndash; 16 位高级控制定时器,支持 6 路输入捕获,支持 6 对带死区的互补 PWM 输出,支持双点比较,支持PWM 移相</p>

<p>&nbsp; &nbsp; &ndash; 一组 16 位通用定时器</p>

<p>&nbsp; &nbsp; &ndash; 三组 16 位基本定时器</p>

<p>&nbsp; &nbsp; &ndash; 一组 16 位低功耗定时器</p>

<p>&nbsp; &nbsp; &ndash; 独立看门狗定时器</p>

<p>&bull;通信接口</p>

<p>&nbsp; &nbsp; &ndash; 二路低功耗 UART,支持小数波特率,支持低功耗接收数据,支持可配置电平转换,其中一路支持LIN 通信接口</p>

<p>&nbsp; &nbsp; &ndash; 一路 SPI 接口 24Mbit/s,支持 4~16bit 位宽</p>

<p>&nbsp; &nbsp; &ndash; 一路 I2C 接口 1Mbit/s,支持可配置电平转换,支持 SMBUS</p>

<p>&nbsp; &nbsp; &ndash; IR 调制器,可编程占空比和极性</p>

<p>&bull;串行调试接口 (SWD)</p>

<p>&bull;80 位唯一 ID</p>

<p>以上内容摘抄自官方数据手册。</p>

<p><span style="color:#f1c40f;">开发环境搭建以及点灯</span></p>

<p>1.下载并安Keil</p>

<p>2.下载并安装 WHXY.CW32L010_DFP.1.0.0.pack,其位置在下载的固件库文件中路径为这个的 XXXX\CW32L010_StandardPeripheralLib_V1.0.3\IDEsupport\MDK 文件夹内</p>

<p>准备完开发环境我们开始点灯,首先找到官方提供的原理图,从原理图上我们可以看到,在在最下方有一个板载 LED,GPIO 口为 PB 00。</p>

<div style="text-align: center;"></div>

<p>接下来我们打开从官网下载的示例程序打开路径为 CW32L010_StandardPeripheralLib_V1.0.3\Examples\GPIO\gpio_blink\MDK</p>

<p>文件双击 Project.uvprojx 打开 Keil 工程,打开后双击右侧 USER文件下的 main.c 文件此为官方例程。</p>

<div style="text-align: center;"></div>

<p>根据官方例程我们进行一仿写,即可得到我们自己的点灯程序。注:开发板到手后内部并未烧录程序,此点在开发板介绍中有提到。</p>

<pre>
<code class="language-cpp">#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, &amp;GPIO_InitStruct);
   
        while(1)
        {
                GPIO_TogglePin(LED_GPIO_PORT, LED_GPIO_PINS);
                FirmwareDelay(1000000);                        // 此为系统时钟延时函数,单位为us
        }               
}</code></pre>

<p>写完程序编译运行,结果如下:</p>

<div style="text-align: center;"></div>

<p>&nbsp;</p>
</div><script>                                        var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;"   style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
                                       
                                        if(parseInt(discuz_uid)==0){
                                                                                                (function($){
                                                        var postHeight = getTextHeight(400);
                                                        $(".showpostmsg").html($(".showpostmsg").html());
                                                        $(".showpostmsg").after(loginstr);
                                                        $(".showpostmsg").css({height:postHeight,overflow:"hidden"});
                                                })(jQuery);
                                        }                </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>

wangerxian 发表于 2024-11-30 16:12

<p>这个芯片功耗应该很低吧,话说这板子是真的小。</p>
页: [1]
查看完整版本: CW32L010 Mini Broad 上手体验【01|点灯】