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

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

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

【南京中科微CSM32RV20開發(fā)板試用體驗(yàn)】GPIO口的使用

開發(fā)板試用精選 ? 來源:開發(fā)板試用 ? 作者:電子發(fā)燒友論壇 ? 2022-12-01 10:49 ? 次閱讀
本文來源電子發(fā)燒友社區(qū),作者:李唐, 帖子地址:https://bbs.elecfans.com/jishu_2238177_1_1.html

在使用CSMStudio創(chuàng)建新項(xiàng)目后,會得到一個稱為“HelloWorld”的項(xiàng)目,其作用就是通過串口輸出圖1所示的信息
poYBAGHbFxmAW5q8AAB0QmIE6GA195.jpg
圖1輸出結(jié)果
但從其生成的程序看是應(yīng)該形成LED燈閃爍效果的,其程序如下:


  1. #include "headfile.h"
  2. int main(void)
  3. {
  4. CLIC_Init();
  5. System_Clock_Init();
  6. GPIO_MODE_Init(GPIOB,PIN8,GPIO_MODE_OUTPUT);
  7. while(1)
  8. {
  9. Delay32M_ms(500);
  10. GPIO_Toggle(GPIOB,PIN8);
  11. }
  12. }
復(fù)制代碼


那為什么沒有看到LED等閃爍效果呢?
通過查看開發(fā)板的原理圖,則可得到其原因。
poYBAGHcOkCAfY-7AAAc1TwOww0001.jpg
圖2LED電路
原來所使用的引腳不對,應(yīng)從PA8、PA10及PA12中選取,將程序改為如下內(nèi)容后即可獲得閃爍效果。


  1. int main(void)
  2. {
  3. CLIC_Init();
  4. System_Clock_Init();
  5. GPIO_MODE_Init(GPIOA,PIN8,GPIO_MODE_OUTPUT);
  6. while(1)
  7. {
  8. Delay32M_ms(500);
  9. GPIO_Toggle(GPIOA,PIN8);
  10. }
  11. }
復(fù)制代碼


在完成程序編譯后,即可生成名為“mcu.elf”的目標(biāo)文件。隨后使用CSM-ISP下載工具,選取該文件進(jìn)行下載即可。
pYYBAGHcOkKAFzJdAABVoZ-rMdk675.jpg
圖3選取下載文件
pYYBAGHcOkOAJjywAABUNQEVVcU324.jpg
圖4完成下載
在完成下載后,即可達(dá)到圖5所示的所示效果。
poYBAGHcOkSAcu1iAAA3Bx7Hjkc421.jpg
圖5顯示效果
若在此基礎(chǔ)上加以修改,則可以獲得7色彩燈的循環(huán)顯示效果。


  1. int main(void)
  2. {
  3. CLIC_Init();
  4. System_Clock_Init();
  5. GPIO_MODE_Init(GPIOA,PIN8,GPIO_MODE_OUTPUT);
  6. GPIO_MODE_Init(GPIOA,PIN10,GPIO_MODE_OUTPUT);
  7. GPIO_MODE_Init(GPIOA,PIN12,GPIO_MODE_OUTPUT);
  8. while(1)
  9. {
  10. Delay32M_ms(500);
  11. GPIO_Write(GPIOA,PIN12,GPIO_RESET);
  12. Delay32M_ms(500);
  13. GPIO_Write(GPIOA,PIN12,GPIO_SET);
  14. GPIO_Write(GPIOA,PIN10,GPIO_RESET);
  15. Delay32M_ms(500);
  16. GPIO_Write(GPIOA,PIN10,GPIO_SET);
  17. GPIO_Write(GPIOA,PIN8,GPIO_RESET);
  18. Delay32M_ms(500);
  19. GPIO_Write(GPIOA,PIN8,GPIO_SET);
  20. GPIO_Write(GPIOA,PIN12,GPIO_RESET);
  21. GPIO_Write(GPIOA,PIN10,GPIO_RESET);
  22. Delay32M_ms(500);
  23. GPIO_Write(GPIOA,PIN8,GPIO_RESET);
  24. GPIO_Write(GPIOA,PIN12,GPIO_RESET);
  25. GPIO_Write(GPIOA,PIN10,GPIO_SET);
  26. Delay32M_ms(500);
  27. GPIO_Write(GPIOA,PIN8,GPIO_RESET);
  28. GPIO_Write(GPIOA,PIN12,GPIO_SET);
  29. GPIO_Write(GPIOA,PIN10,GPIO_RESET);
  30. Delay32M_ms(500);
  31. GPIO_Write(GPIOA,PIN8,GPIO_RESET);
  32. GPIO_Write(GPIOA,PIN12,GPIO_RESET);
  33. GPIO_Write(GPIOA,PIN10,GPIO_RESET);
  34. Delay32M_ms(500);
  35. GPIO_Write(GPIOA,PIN8,GPIO_SET);
  36. GPIO_Write(GPIOA,PIN12,GPIO_SET);
  37. GPIO_Write(GPIOA,PIN10,GPIO_SET);
  38. }
  39. }
復(fù)制代碼


控制外掛LED模塊的程序如下:


  1. int main(void)
  2. {
  3. CLIC_Init();
  4. System_Clock_Init();
  5. GPIO_MODE_Init(GPIOB,PIN1,GPIO_MODE_OUTPUT);
  6. GPIO_Write(GPIOB,PIN1,GPIO_SET);
  7. while(1)
  8. {
  9. GPIO_Write(GPIOB,PIN1,GPIO_SET);
  10. Delay32M_ms(500);
  11. GPIO_Write(GPIOB,PIN1,GPIO_RESET);
  12. Delay32M_ms(500);
  13. }
  14. }
復(fù)制代碼


經(jīng)程序的編譯與下載,其顯示效果如圖6和圖7所示。
pYYBAGHcOkaAYf_JAAA3H6h0VOA797.jpg
圖6熄滅LED模塊
poYBAGHcOkeAXXaGAAA0J6m9hxU863.jpg
圖7點(diǎn)亮LED模塊
除了GPIO口的輸出功能外,還可以用GPIO口的輸入功能來識別按鍵的狀態(tài)。
在連接薄膜軟按鍵的情況下,使用下面的程序可實(shí)現(xiàn)感應(yīng)控制的作用。


  1. int main(void)
  2. {
  3. CLIC_Init();
  4. System_Clock_Init();
  5. GPIO_MODE_Init(GPIOB,PIN1,GPIO_MODE_OUTPUT);
  6. GPIO_MODE_Init(GPIOB,PIN2,GPIO_MODE_INPUT);
  7. GPIO_Write(GPIOB,PIN1,GPIO_SET);
  8. while(1)
  9. {
  10. if(GPIO_Read(GPIOB,PIN2)==0) GPIO_Write(GPIOB,PIN1,GPIO_SET);
  11. else GPIO_Write(GPIOB,PIN1,GPIO_RESET);
  12. }
  13. }
復(fù)制代碼


經(jīng)程序的編譯與下載,其顯示效果如圖8和圖9所示。
pYYBAGHcOkiAKwvFAAA2ev8D844002.jpg
圖8熄滅LED模塊
pYYBAGHcOkmAeyHXAAAwvjWASqQ006.jpg
圖9點(diǎn)亮LED模塊
在掌握了GPIO口的使用后,就可以此為基礎(chǔ)來模擬I2C接口來驅(qū)動I2C接口的OLED屏或SPI接口的LCD5110屏了。

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

    關(guān)注

    0

    文章

    60

    瀏覽量

    709
  • CSM32RV20
    +關(guān)注

    關(guān)注

    0

    文章

    40

    瀏覽量

    192
收藏 人收藏

    評論

    相關(guān)推薦

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

    1、前言 申請的CSM32RV003開發(fā)板研究好長一段時(shí)間了,但是還有不少問題需要解決,一點(diǎn)一點(diǎn)的啃,終于把I/O和timer1溢出中斷弄得差不多了,這里感謝南京
    發(fā)表于 10-30 10:46

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

    初學(xué)南京中科CSM32RV003單片機(jī),對其龐大的h文件庫和C文件庫搞得一頭霧水,即使有高手指點(diǎn)一二,也是很困難,但搞清了h文件庫,C文件也就明白了,這些對入門的人來說算不了什么,但
    發(fā)表于 10-26 09:47

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

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

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

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

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

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

    【LuckFox Pico Plus開發(fā)板免費(fèi)試用】+開發(fā)板上手

    LuckFox Pico的試用機(jī)會,這款開發(fā)板相當(dāng)于是RV1103的小型評估,引出了所有的IO,并且?guī)б蕴W(wǎng)/USB/攝像頭等高速接口。
    的頭像 發(fā)表于 10-16 00:58 ?3903次閱讀
    【LuckFox Pico Plus<b class='flag-5'>開發(fā)板</b>免費(fèi)<b class='flag-5'>試用</b>】+<b class='flag-5'>開發(fā)板</b>上手

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

    試用機(jī)會,非常感謝電子發(fā)燒友論壇! 南京中科公司CSM32RV003開發(fā)板使用心得體會 這篇
    發(fā)表于 10-14 00:05

    中科CSM32RV003綠色開發(fā)板UART測試

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

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

    需要對中科CSM32RV003綠色開發(fā)板進(jìn)行開發(fā)測試,首先需要建立開發(fā)環(huán)境。
    發(fā)表于 10-11 10:09

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

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

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

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

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

    我申請項(xiàng)目:滑翔傘空中速率計(jì)。 我于2023年9月9日下午收到中科CSM32RV003開發(fā)板快遞包裹。拿回后立馬打開包裹,出現(xiàn)南京
    發(fā)表于 10-09 23:34

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

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

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

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

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

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