[CW32F030系列]

CW32F03000CxT6StartKit评测+ 流水灯

[复制链接]
3870|1
手机看帖
扫描二维码
随时随地手机跟帖
rock00210|  楼主 | 2022-7-5 10:07 | 显示全部楼层 |阅读模式
首先非常荣幸能参加此次活动并参与评测。
本次收到的开发板型号是CW32F030CCxT6,芯片型号为CW32F030C8T6

板载有USB转串口芯片CH340,EEPPROM,Flash芯片,需要注意,这些芯片需要飞线供电才能工作,同时有编程器接口和调试接口。

说一下使用感受吧,兼容性还可以,可以兼容ST-Link,J-Link,Dap-Link,串口下载,同时厂商还自己也开发了CW-DAPLINK调试器,芯片支持3.3V和5V供电,支持电压比较宽广(1.65V~5.5V),比较人性化,厂商提供有开发包,开发包也比较好学,易用,类似于STM32。

芯源资料下载路径:
数据手册下载地址:
固件库下载地址:
开发工具下载地址:
开发板资料下载地址:


现先演示一下如何下载程序,本次使用的开发软件是Keil5,下载器件是ST-Link,兼供电,连接CN12接口,连接方式:VDDIN---3.3V,GND---GND,SWCLK---SWCLK,SWDIO—SWDIO.

首先安装Keil5,需要5.17以上版本,方法不在赘述,然后安装厂商提供的SDK


file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml33500\wps1.jpg
MDK在如下压缩包里:
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml33500\wps2.jpg

默认路径安装即可,安装好之后,打开Keil5,加载要下载的程序,设置步骤如下:

1. 点Keil5魔法棒,设置Device


file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml33500\wps3.jpg
2. 设置Debug


file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml33500\wps4.jpg
3. 点Settings将芯片加入,同时将Utiities里也同样设置一下(如未设置,可能会报错,No Debug Unit Device Found)


file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml33500\wps5.jpg
4. 编译后,点Load下载


file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml33500\wps6.jpg
下载成功后,会有如下提示:
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml33500\wps7.jpg

附上一个简单的流水灯程序,输出点使用PB8~PB15,采用杜邦线和面包板相连,LED灯插在面包板上,具体见下图:


file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml33500\wps8.jpg
程序如下:
void Delay(__IO uint16_t nCount);
    void delayXms(uint16_t Xms);

int32_t main(void)
{
        GPIO_InitTypeDef GPIO_InitStruct;
            CW_SYSCTRL->AHBEN_f.GPIOB = 1;    //Open GPIOB Clk
        //set PB08 ~ PA15 as output
        GPIO_InitStruct.Pins = GPIO_PIN_8 | GPIO_PIN_9| GPIO_PIN_10| GPIO_PIN_11| GPIO_PIN_12| GPIO_PIN_13| GPIO_PIN_14| GPIO_PIN_15;
        GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;//GPIO_MODE_INPUT_PULLUP;
        GPIO_InitStruct.IT   = GPIO_IT_NONE;
        GPIO_Init( CW_GPIOB , &GPIO_InitStruct);
        while(1)
        {
                    GPIO_HighByte_Write(CW_GPIOB, 0xff );
                                delayXms(200);
                                GPIO_HighByte_Write(CW_GPIOB, 0xfe );
                                delayXms(200);
                                        GPIO_HighByte_Write(CW_GPIOB, 0xfd );
                                    delayXms(200);
                                        GPIO_HighByte_Write(CW_GPIOB, 0xfb );
                                    delayXms(200);
                                        GPIO_HighByte_Write(CW_GPIOB, 0xf7 );
                                    delayXms(200);
                                        GPIO_HighByte_Write(CW_GPIOB, 0xef );
                                    delayXms(200);
                                        GPIO_HighByte_Write(CW_GPIOB, 0xdf );
                                    delayXms(200);
                                        GPIO_HighByte_Write(CW_GPIOB, 0xbf );
                                    delayXms(200);
                                        GPIO_HighByte_Write(CW_GPIOB, 0x7f );
                                        delayXms(200);
       }
}
void delayXms(uint16_t Xms)
{
      uint16_t i,j;
            for(i = Xms;i>0;i--)
              for(j=5000;j>0;j--);
      }

状态如下图: