<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

CW32快速開發入門

CW32生態社區 ? 來源:CW32生態社區 ? 作者:CW32生態社區 ? 2024-04-24 18:56 ? 次閱讀

一、 CW32工程模板創建

1.以參考標準庫中GPIO例程為例來,來新建工程。

2.新建“GPIO”文件,在GPIO文件夾內建立user文件夾。

3.制MDK安裝目錄下的4個文件。

如“C:UsersAdministratorAppDataLocalArmPacksARMCMSIS5.7.0CMSISCoreInclude”目錄下的“cmsis_armcc.h”“cmsis_compiler.h”“cmsis_version.h”“core_cm0plus.h”文件。在user文件夾下新建“SYSLIB”文件夾,并將這4個文件復制進去,如圖1所示。

wKgaomYo0m2Aa-njAABTppo-ta855.webp

圖1 復制文件

4.復制標準庫中“CW32F030_StandardPeripheralLib_V1.8Examplesgpiogpio_input_outputUSER”目錄下的SRC文件夾與INC文件夾到GPIO文件夾下的USER文件夾里。

5.將標準庫中的Libraries、IdeSupport文件夾復制到新建的GPIO工程文件里面,如圖2所示。

wKgZomYo0m2ADaQWAABDlOhzVyE04.webp

圖2 復制到新建GPIO工程文件

6.打開MDK開發環境,選擇“Project”/“New μVision Project”命令,新建工程,如圖3所示。

wKgaomYo0m6Ac_AGAABpCGXIIC887.webp

圖3新建工程文件

7.為工程輸入名稱,并保存在剛才所建立的GPIO文件夾內,之后會彈出選擇芯片型號,如圖4所示。

wKgZomYo0m-Ac9TMAAA3MB4Sc6k04.webp

圖4 選擇ARMCMOP

8.單擊“OK”按鈕并進行保存。

9.右鍵單擊“Target 1”,在彈出的菜單中選擇“Manage Project items”命令,在工程目錄中添加.c文件,如圖5所示。

wKgaomYo0m-AXw2SAABCAMKR_7w40.webp

圖5 添加.c文件

10.在出現的對話框中,增加user和Library文件夾,并添加標準庫的.c源文件到Library的Groups,如圖6所示。

wKgaomYo0nCATT0YAABERN3_7eM34.webp

圖6 添加庫.c文件

11.添加user文件夾下SRC文件夾下的文件到user Groups,如圖7所示。

wKgZomYo0nGAYPqUAAAlRBD3GxE13.webp

圖7 添加user Groups

12.添加啟動文件。啟動文件“startup_cw32f030.s”在標準庫“IdeSupportMDK”路徑下,如圖8所示。

wKgaomYo0nGARMqjAAB4zqcCRlw65.webp

圖8 添加啟動文件

13.單擊“Options for Target‘Target 1’”項目,單擊C/C++AC6)選項卡,如圖9所示,在Include Paths編輯框中添加標準庫.H文件的路徑,最后單擊“OK”按鈕完成頭文件。

wKgZomYo0nOAPfrpAABiwH0uIJ411.webp

圖9 添加頭文件與.c文件

14.選擇“Target”選項卡,在“ARM Compiler”框中選擇“Use default compiler version 5”選項,然后單擊“OK”,如圖10所示。

wKgaomYo0nWAA_oFAABW9lBboAU93.webp

圖10 選擇“Use default compiler version 5”選項

15.選擇“Debug”選項卡,保持默認“Use Simulator”被選中。

注意:如果使用硬件調試器+目標板開發調試,請選中“Use”,然后修改調試器為“CMSIS-DAP Debugger”(使用CW-DAPLINK或DAP兼容調試器時選擇該選項。如果使用其它調試器,請選擇合適的對應選項),如圖11所示。

wKgZomYo0nWAbi8zAACLGq-gZIc45.webp

圖11 修改調試器為“CMSIS-DAP Debugger”

16.選擇“Utilities”項,單擊“Settings”按鈕,在彈出的對話框中選擇“FLASH Download”選項,如圖12所示。

wKgaomYo0naAJS-7AABeLNh9yuw17.webp

圖12 選擇“FLASH Download”選項

17.單擊“Add”按鈕,找到“CW32F030”的FLASH燒寫算法,單擊“Add”按鈕添加,如圖13所示。

wKgZomYo0naANWmXAAB8OIyf89U70.webp

圖13 添加“CW32F030”的FLASH燒寫算法

18.在“Project”菜單中選擇“Rebuild all target files”以編譯項目。如果項目編譯成功,將顯示以下窗口,如圖14所示。

wKgZomYo0neAWi5qAADNLCPPpPc32.webp

圖14 成功編譯CW32F030項目顯示窗口

19.根據需要修改源代碼。完成編寫后,如需要硬件調試,則接入DAPLINK調試器到目標板上,并為目標板供電。然后在MDK IDE中,從調試菜單中選擇“開始/停止”調試會話或單擊工具欄中的“開始/停止”調試會話按鈕,以對FLASH存儲器進行編程并開始調試,如圖15所示。

wKgaomYo0niAGXrDAAATXG0CLks80.webp

圖15 對FLASH存儲器進行編程并調試

20.MDK-ARM中的調試器可用于用C語言匯編語言調試源代碼,設置斷點,以及監控各個變量和代碼執行過程中發生的事件,如圖16所示。

wKgZomYo0niAd506AACLhAHwCBU77.webp

圖16 MDK-ARM中調試器使用事件

至此,可以使用MDK初步開發CW32的相關應用了。

二、 快速點亮一個LED

以CW32F030為例,演示如何快速實現點亮一個LED。

1、軟件準備

  • MDK開發環境已安裝完成。
  • CW32固件庫已下載。
  • 芯片PACK包已安裝。
  • 工程模板已創建。

2、硬件準備

  • 準備一套調試器CW-DAPLINK(或其他兼容調試器)。
  • 一個CW32F030的核心板(具體實物可參考第8章內容)。
  • USB供電線。

硬件準備實物圖,如圖17所示。

wKgZomYo0nmAKg2OAABH8BBMM2U49.webp

圖17 硬件準備

3、代碼修改

CW32核心板上面有一個LED2指示燈,其控制端口連接至PC13,如圖18所示。從圖中不難分析,當PC13端口置為低電平時,LED指示燈亮。

wKgaomYo0nmAV5fKAAAO3BO961I43.webp

圖18 LED指示燈電路

打開2.4.1小節創建的工程模板,修改主程序代碼如下。

int32_t main(void)
{
    GPIO_InitTypeDef GPIO_InitStruct;
    CW_SYSCTRL->AHBEN_f.GPIOC = 1;    //打開GPIOC時鐘
    //設置PC13為輸出模式
    GPIO_InitStruct.Pins = GPIO_PIN_13; //PC13端口
    GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; //配置為推挽輸出模式
    GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;//高速模式
    GPIO_Init(CW_GPIOC, &GPIO_InitStruct);//初始化端口
    PC13_SETLOW(); //置低PC13,點閃LED2  
    while (1);
}

在MDK環境下修改代碼,如圖19所示。

wKgZomYo0nqAIfSFAAB_HHCAVEk43.webp

圖19 指示燈控制的代碼

4、下載測試

連接CWDAPLINK至目標核心板,并給核心板插入USB線供電,電源指示燈LED1紅燈亮起,代表板子電源供電正常。請注意,此時LED2是熄滅狀態,如圖20所示。

wKgaomYo0nqAFUy-AAA7TMAlhak71.webp

圖20 實物連接圖

在MDK工程中,配置下載器為DAP類型的調試工具,如圖21所示。

wKgaomYo0nqALMQTAACAsOOLtNQ97.webp

圖21 下載器選項配置

5、下載并運行程序

下載程序完成后,按SW1紅色復位鍵先進行復位,以確保程序的可靠運行。復位運行后,可以看到:核心板上面的電源指示燈LED1紅燈仍然常亮,下面的LED2藍燈受程序控制,已經被點亮,如圖22所示。

wKgZomYo0nuAE1r1AAB3_IU9OX448.webp

圖22 程序運行,LED2被點亮

如果要控制LED2燈熄滅,又該如何修改代碼呢?

參考代碼如下:

int32_t main(void)
{
    GPIO_InitTypeDef GPIO_InitStruct;
    CW_SYSCTRL->AHBEN_f.GPIOC = 1;    //打開GPIOC時鐘
    //設置PC13為輸出模式
    GPIO_InitStruct.Pins = GPIO_PIN_13; //PC13端口
    GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; //配置為推挽輸出模式
    GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;//高速模式
    GPIO_Init(CW_GPIOC, &GPIO_InitStruct);//初始化端口
    PC13_SETHIGH();//置高PC13,熄滅LED2  
    while (1);
}

如果要控制LED2燈閃爍,又該如何修改代碼呢?

參考代碼如下:

int32_t main(void)
{
  unsigned long i;
    GPIO_InitTypeDef GPIO_InitStruct;
    CW_SYSCTRL->AHBEN_f.GPIOC = 1;    //打開GPIOC時鐘
    //設置PC13為輸出模式
    GPIO_InitStruct.Pins = GPIO_PIN_13; //PC13端口
    GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; //配置為推挽輸出模式
    GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;//高速模式
    GPIO_Init(CW_GPIOC, &GPIO_InitStruct);//初始化端口
  while (1)
    {
      for(i=0;i
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • CW32
    +關注

    關注

    1

    文章

    125

    瀏覽量

    255
收藏 人收藏

    評論

    相關推薦

    CW32移植Free-RTOS】CW32開發者扶持計劃

    CW32配置Free-RTOS全過程,CW32開發者扶持計劃
    的頭像 發表于 04-18 09:38 ?5589次閱讀
    【<b class='flag-5'>CW32</b>移植Free-RTOS】<b class='flag-5'>CW32</b><b class='flag-5'>開發</b>者扶持計劃

    CW32飯盒派開發板 測試IO速度

    CW32飯盒派開發板的GPIO進行速度測試
    的頭像 發表于 05-26 13:07 ?42.5w次閱讀
    <b class='flag-5'>CW32</b>飯盒派<b class='flag-5'>開發</b>板 測試IO速度

    CW32飯盒派開發板試用體驗】串口實驗

    CW32飯盒派開發板實現串口接收并控制LED
    的頭像 發表于 05-29 09:13 ?41.8w次閱讀
    【<b class='flag-5'>CW32</b>飯盒派<b class='flag-5'>開發</b>板試用體驗】串口實驗

    CW32開發者扶持計劃#CW32 #芯片

    CW32
    CW32生態社區
    發布于 :2023年05月24日 16:56:14

    CW32 MCU開發資料匯總(手冊、工具、固件庫)

    32L083_StdPeriph_Lib.zip4、CW32 MCU開發工具:*附件:CW-DAPLINK調試器驅動.zip*附件:CW-DAPLINK使用手冊.pdf*附件:
    發表于 07-27 14:47

    CW32飯盒派開發板試用體驗】+初識CW32飯盒派開發

    盼星星,盼月亮,終于收到了CW32飯盒派開發板?;叵肫鹉翘齑饛蛥⒓踊顒余]件發出去的那一刻,就在期盼。 以前也了解過CW32單片機,這是一款非常優秀的32位單片機。外部資源也豐富。這回的CW32
    發表于 05-29 15:51

    CW32飯盒派開發板溫濕度采集

    CW32飯盒派開發板采集溫濕數據并用LCD顯示
    的頭像 發表于 05-26 19:20 ?1070次閱讀
    <b class='flag-5'>CW32</b>飯盒派<b class='flag-5'>開發</b>板溫濕度采集

    CW32飯盒派開發板 日歷溫濕度計

    CW32創建日歷+溫濕度計
    的頭像 發表于 05-27 14:07 ?4197次閱讀
    <b class='flag-5'>CW32</b>飯盒派<b class='flag-5'>開發</b>板 日歷溫濕度計

    cw32和stm32的區別

    cw32和stm32的區別 CW32和STM32是兩種常見的單片機,被廣泛應用于各種電子設備中。在本文中,我們將深入探討CW32和STM32之間的區別和優劣勢。 1. 硬件性能 硬件性能是衡量單片機
    的頭像 發表于 08-16 11:15 ?2347次閱讀

    基于CW32的無刷水泵方案

    基于CW32的無刷水泵方案
    的頭像 發表于 11-03 17:28 ?459次閱讀
    基于<b class='flag-5'>CW32</b>的無刷水泵方案

    基于CW32熱敏電阻采集溫度應用

    基于CW32熱敏電阻采集溫度應用
    的頭像 發表于 10-25 16:45 ?255次閱讀
    基于<b class='flag-5'>CW32</b>熱敏電阻采集溫度應用

    CW32 PWM輸出功能介紹

    CW32 PWM輸出功能介紹
    的頭像 發表于 09-27 16:12 ?431次閱讀
    <b class='flag-5'>CW32</b> PWM輸出功能介紹

    2023電賽A題國獎CW32 開源分享

    電賽A題開源分享,主控為CW32
    的頭像 發表于 11-02 10:16 ?855次閱讀
    2023電賽A題國獎<b class='flag-5'>CW32</b> 開源分享

    基于CW32的物聯網應用

    CW32】基于CW32的物聯網應用
    的頭像 發表于 11-02 15:55 ?355次閱讀
    基于<b class='flag-5'>CW32</b>的物聯網應用

    基于CW32的遙控循跡小車

    本實驗是使用CW32單片機制作一個入門的遙控循跡小車。遙控采用藍牙配合手機APP進行遙控。循跡使用一個5路的循跡模塊。使用OLED模塊進行顯示當前小車狀態。
    的頭像 發表于 11-17 17:46 ?592次閱讀
    基于<b class='flag-5'>CW32</b>的遙控循跡小車
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>