0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【南京中科微CSM32RV20開(kāi)發(fā)板試用體驗(yàn)】無(wú)調(diào)試器邁出第一步,建立工程,點(diǎn)亮一個(gè)LED

開(kāi)發(fā)板試用精選 ? 來(lái)源:開(kāi)發(fā)板試用 ? 作者:電子發(fā)燒友論壇 ? 2022-12-01 10:38 ? 次閱讀

本文來(lái)源電子發(fā)燒友社區(qū),作者:xcs101, 帖子地址:https://bbs.elecfans.com/jishu_2243648_1_1.html


點(diǎn)亮一個(gè)LED效果(開(kāi)發(fā)板體驗(yàn)視頻,詳見(jiàn)作者原文鏈接內(nèi)容)

本帖最后由 xcs101 于 2022-2-16 11:53 編輯
今天入門南京中科微CSM32RV20開(kāi)發(fā)板,講講如何開(kāi)展設(shè)計(jì),邁出第一步,建立工程,點(diǎn)亮LED,做個(gè)記錄,方便后面學(xué)習(xí),與大家共同探討。

一、需要用到的外設(shè)
1、一個(gè)IO口
查看電路圖,開(kāi)發(fā)板上有一個(gè)RGBLED燈,使用其中一個(gè)引腳PA8,對(duì)應(yīng)藍(lán)燈。
GPIO 是用戶可配置的通用 IO,每一個(gè) GPIO 口都可以獨(dú)立配置成輸入輸出、外設(shè)復(fù)用功能或模擬功能。GPIOA0~15 對(duì)應(yīng) PA0~PA15,GPIOB0~13 對(duì)應(yīng)PB0~PB13。

二、工程建立
根據(jù)該鏈接建立一個(gè)空白的工程
https://mp.weixin.qq.com/s/El8-GMhWRSGGQWrMXCVcBA
首先安裝軟件,設(shè)置為中文;
pYYBAGHplXSAM9S0ABKzyyoVUVs194.gif

新建一個(gè)工程:
poYBAGHplmGARqOzABRk24uh9rU417.gif
]
三、程序設(shè)計(jì)
1.使用到的函數(shù)



  1. void GPIO_MODE_Init(GPIO_TypeDef *GPIOx,uint8_t PINx,uint32_t GPIO_MODEx) //GPIO 模式
復(fù)制代碼

GPIO_MODEx可設(shè)置為:輸入模式、輸出模式、復(fù)用模式和模擬模式
pYYBAGHpmCOAELSxAAByGrgwhb4934.png
poYBAGHpmDKANReKAAB3zBSOP5c365.png
poYBAGHpmDqAMjaLAAGB2TZufBc879.png
pYYBAGHpmECAPMtaAAGi4QBcOVg889.png

GPIO模擬配置原理圖


  1. #define GPIO_MODE_INPUT 0x00000000UL
  2. #define GPIO_MODE_OUTPUT 0x00000001UL
  3. #define GPIO_MODE_AF 0x00000002UL
  4. #define GPIO_MODE_ANALOG 0x00000003UL
  5. void GPIO_Toggle(GPIO_TypeDef *GPIOx,uint8_t PINx);//GPIO 翻轉(zhuǎn)
復(fù)制代碼


2.GPIO其他函數(shù)


  1. void GPIO_MODE_Init(GPIO_TypeDef *GPIOx,uint8_t PINx,uint32_t GPIO_MODEx); //GPIO 模式
  2. void GPIO_OutType_Init(GPIO_TypeDef *GPIOx,uint8_t PINx,uint32_t GPIO_OTYPEx); //GPIO 輸出模式
  3. void GPIO_InType_Init(GPIO_TypeDef *GPIOx,uint8_t PINx,uint32_t GPIO_ITYPEx); //GPIO 輸入模式
  4. void GPIO_PULL_Init(GPIO_TypeDef *GPIOx,uint8_t PINx,uint32_t GPIO_PULLx); //GPIO 上拉
  5. void GPIO_OutSpeed_Init(GPIO_TypeDef *GPIOx,uint8_t PINx,uint32_t GPIO_SPEEDx); //GPIO 壓擺率
  6. void GPIO_AF_Init(GPIO_TypeDef *GPIOx,uint8_t PINx,uint32_t GPIO_AFx); //GPIO 復(fù)用模式
  7. void GPIO_EXIT_MODE_Init(GPIO_TypeDef *GPIOx,uint8_t PINx,uint32_t GPIO_EXIT_MODEx); //GPIO 中斷模式
  8. void GPIO_INTER_enable(GPIO_TypeDef *GPIOx,uint8_t PINx); //GPIO 中斷使能
  9. void GPIO_INTER_disable(GPIO_TypeDef *GPIOx,uint8_t PINx); //GPIO 中斷關(guān)閉
  10. void GPIO_Write(GPIO_TypeDef *GPIOx,uint8_t PINx,uint32_t GPIO_PinState); //GPIO 輸出
  11. uint8_t GPIO_Read(GPIO_TypeDef *GPIOx,uint8_t PINx); //GPIO 讀輸入
  12. void GPIO_Toggle(GPIO_TypeDef *GPIOx,uint8_t PINx);//GPIO 翻轉(zhuǎn)
  13. void GPIO_EXIT_Init_case1(GPIO_TypeDef *GPIOx, uint8_t PINx); //檢測(cè)高電平
  14. void GPIO_EXIT_Init_case2(GPIO_TypeDef *GPIOx, uint8_t PINx); //檢測(cè)低電平
  15. void GPIO_EXIT_Init_case3(GPIO_TypeDef *GPIOx, uint8_t PINx); //檢測(cè)上升沿
  16. void GPIO_EXIT_Init_case4(GPIO_TypeDef *GPIOx, uint8_t PINx); //檢測(cè)下降沿
  17. void EXIT0_IRQHandler(void) __attribute__((interrupt("SiFive-CLIC-preemptible")));
  18. void EXIT1_IRQHandler(void) __attribute__((interrupt("SiFive-CLIC-preemptible")));
  19. void EXIT2_IRQHandler(void) __attribute__((interrupt("SiFive-CLIC-preemptible")));
  20. void EXIT3_IRQHandler(void) __attribute__((interrupt("SiFive-CLIC-preemptible")));
  21. void EXIT4_IRQHandler(void) __attribute__((interrupt("SiFive-CLIC-preemptible")));
  22. void EXIT9_5_IRQHandler(void) __attribute__((interrupt("SiFive-CLIC-preemptible")));
  23. void EXIT15_10_IRQHandler(void) __attribute__((interrupt("SiFive-CLIC-preemptible")));
  24. void CAW_IRQhandler(void) __attribute__((interrupt("SiFive-CLIC-preemptible")));//載波檢測(cè)中斷函數(shù)
  25. void CAW_Init(void);//載波檢測(cè)配置
復(fù)制代碼


3.修改DEMO里的程序
查看建立的模板程序,在里面找到Chapter 5 GPIO Test Init的代碼段,將第一句修改如下,設(shè)置PA8引腳的GPIO模式



  1. ///----Chapter 5 GPIO Test Init-----------------------------------------
  2. GPIO_MODE_Init(GPIOA,PIN8,GPIO_MODE_OUTPUT); //GPIO 模式
復(fù)制代碼


修改PA8引腳電平翻轉(zhuǎn)程序,實(shí)現(xiàn)100ms電平翻轉(zhuǎn)


  1. for(uint8_t i=0;i<10;i++)
  2. {
  3. GPIO_Toggle(GPIOA,PIN8); //GPIO 翻轉(zhuǎn)
  4. Delay32M_ms(100);
  5. }
復(fù)制代碼


修改主程序里while循環(huán)電平翻轉(zhuǎn)程序,實(shí)現(xiàn)500ms電平翻轉(zhuǎn)


  1. while(1)
  2. {
  3. Delay32M_ms(500);
  4. GPIO_Toggle(GPIOA,PIN8);
  5. }
復(fù)制代碼


按下Ctrl+F9,完成程序編譯完成的程序在工程文件的default文件夾里的elf文件。

四、燒錄程序
poYBAGHnqDCAEbhAAAFfF3zbv3c558.png

使用CSM-ISP燒錄程序, 同樣在這條鏈接里面就可以找到相關(guān)介紹:https://mp.weixin.qq.com/s/El8-GMhWRSGGQWrMXCVcBA

五、總結(jié)
本次建立工程,很是順利,代碼風(fēng)格跟STM32的HAL庫(kù)比較像,上手很快,后續(xù)再對(duì)其他外設(shè)進(jìn)行使用,完成項(xiàng)目設(shè)計(jì)。



出廠程序效果(開(kāi)發(fā)板體驗(yàn)視頻,詳見(jiàn)作者原文鏈接內(nèi)容)



聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • IO
    IO
    +關(guān)注

    關(guān)注

    0

    文章

    418

    瀏覽量

    38881
  • 開(kāi)發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    4771

    瀏覽量

    96177
  • 調(diào)試器
    +關(guān)注

    關(guān)注

    1

    文章

    297

    瀏覽量

    23568
  • 南京中科微
    +關(guān)注

    關(guān)注

    0

    文章

    60

    瀏覽量

    709
  • CSM32RV20
    +關(guān)注

    關(guān)注

    0

    文章

    40

    瀏覽量

    192
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    郭光燦院士:邁出中國(guó)量子計(jì)算“軟實(shí)力”第一步

    ,是中國(guó)量子計(jì)算“軟實(shí)力”邁出第一步。量子計(jì)算是國(guó)際前沿科技,也是中國(guó)未來(lái)產(chǎn)業(yè)之。當(dāng)前,中國(guó)量子計(jì)算科技“硬實(shí)力”已居全球第一方陣,中國(guó)是世界上第三
    的頭像 發(fā)表于 09-12 08:07 ?110次閱讀
    郭光燦院士:<b class='flag-5'>邁出</b>中國(guó)量子計(jì)算“軟實(shí)力”<b class='flag-5'>第一步</b>

    CSM32RV003開(kāi)發(fā)板的按鍵及timer1溢出中斷的應(yīng)用

    1、前言 申請(qǐng)的CSM32RV003開(kāi)發(fā)板研究好長(zhǎng)段時(shí)間了,但是還有不少問(wèn)題需要解決,點(diǎn)點(diǎn)的啃,終于把I/O口和timer1溢出中斷弄
    發(fā)表于 10-30 10:46

    哪位大佬能提供中科CSM32RV003單片機(jī)開(kāi)發(fā)系統(tǒng)中g(shù)pio.h文件的中文解釋,及用法

    初學(xué)南京中科CSM32RV003單片機(jī),對(duì)其龐大的h文件庫(kù)和C文件庫(kù)搞得頭霧水,即使有高手指點(diǎn)一二,也是很困難,但搞清了h文件庫(kù),C文件
    發(fā)表于 10-26 09:47

    CSM32RV003 單片機(jī)輸入功能的使用

    前言 大家好。 首先,感謝南京中科提供的CSM32RV003開(kāi)發(fā)板及cjlink調(diào)試器,同時(shí)也
    發(fā)表于 10-25 16:13

    中科CSM32RV003綠色開(kāi)發(fā)板免費(fèi)體驗(yàn)】IDE使用及流水燈程序演示

    【RISC-V】中科CSM32RV003綠色開(kāi)發(fā)板IDE使用及流水燈程序演示 流水燈代碼 #include \"headfile.h\" int main(void
    發(fā)表于 10-23 19:26

    中科CSM32RV003綠色開(kāi)發(fā)板免費(fèi)體驗(yàn)】環(huán)境配置

    CSM32RV003】中科CSM32RV003綠色開(kāi)發(fā)板環(huán)境配置 視頻中詳細(xì)介紹了開(kāi)發(fā)板
    發(fā)表于 10-23 19:17

    中科CSM32RV003綠色開(kāi)發(fā)板免費(fèi)體驗(yàn)】3.使用流程

    深入理解和使用其功能的個(gè)人感觸。首先,我對(duì)南京中科公司的CSM32RV003開(kāi)發(fā)板表示由衷的贊賞。第一
    發(fā)表于 10-14 00:05

    中科CSM32RV003綠色開(kāi)發(fā)板UART測(cè)試

    開(kāi)發(fā)板南京中科
    Youzhiyu
    發(fā)布于 :2023年10月11日 11:00:12

    中科CSM32RV003綠色開(kāi)發(fā)板免費(fèi)體驗(yàn)】+環(huán)境安裝與第一個(gè)示例程序測(cè)試

    需要對(duì)中科CSM32RV003綠色開(kāi)發(fā)板進(jìn)行開(kāi)發(fā)測(cè)試,首先需要建立
    發(fā)表于 10-11 10:09

    中科CSM32RV003綠色開(kāi)發(fā)板免費(fèi)體驗(yàn)】+ISP下載測(cè)試

    在收到中科CSM32RV003綠色開(kāi)發(fā)板后,首先到官網(wǎng)和技術(shù)支持信群尋找資料。要實(shí)現(xiàn)CSM32RV
    發(fā)表于 10-11 08:58

    中科CSM32RV003綠色開(kāi)發(fā)板免費(fèi)體驗(yàn)】2.RISC-V RV32IMAC內(nèi)核

    CSM32RV003綠色開(kāi)發(fā)板免費(fèi)體驗(yàn)】1.上手 我要感謝南京中科微電子有限公司提供的CSM32RV003綠色
    發(fā)表于 10-10 00:03

    中科CSM32RV003綠色開(kāi)發(fā)板免費(fèi)體驗(yàn)】 開(kāi)箱和安裝工具帖

    003的Type-C端口,開(kāi)發(fā)板小的LED紅色電源燈閃爍后,RGB大的LED燈亮。工作正常。 2023年9月17日收到中科公司
    發(fā)表于 10-09 23:34

    中科CSM32RV003綠色開(kāi)發(fā)板免費(fèi)體驗(yàn)】1.上手

    首先,我要感謝南京中科微電子有限公司提供的CSM32RV003綠色開(kāi)發(fā)板試用機(jī)會(huì),這讓我有機(jī)會(huì)深入了解并使用該公司的產(chǎn)品。經(jīng)過(guò)幾天的熟悉和
    發(fā)表于 10-09 23:21

    中科CSM32RV003綠色開(kāi)發(fā)板免費(fèi)體驗(yàn)】開(kāi)發(fā)板使用3彩燈

    接上文 【中科CSM32RV003綠色開(kāi)發(fā)板免費(fèi)體驗(yàn)】開(kāi)發(fā)板使用2 官方例程SYSTICK_Interrupt\\\\SYSTICK_In
    發(fā)表于 09-28 07:04

    中科CSM32RV003綠色開(kāi)發(fā)板免費(fèi)體驗(yàn)】第二貼-CSM Stduio使用、ISP下載固件及C-Jlink進(jìn)行調(diào)試

    非常感謝南京中科提供的試用機(jī)會(huì),經(jīng)過(guò)幾天的熟悉,本期將對(duì)CSM Studio的基礎(chǔ)使用、CSM
    發(fā)表于 09-27 20:26