本文來源電子發燒友社區,作者:李唐, 帖子地址:https://bbs.elecfans.com/jishu_2238177_1_1.html
在使用CSMStudio創建新項目后,會得到一個稱為“HelloWorld”的項目,其作用就是通過串口輸出圖1所示的信息。
在使用CSMStudio創建新項目后,會得到一個稱為“HelloWorld”的項目,其作用就是通過串口輸出圖1所示的信息。
![poYBAGHbFxmAW5q8AAB0QmIE6GA195.jpg](https://file.elecfans.com/web2/M00/2C/4E/poYBAGHbFxmAW5q8AAB0QmIE6GA195.jpg)
圖1輸出結果
但從其生成的程序看是應該形成LED燈閃爍效果的,其程序如下:
那為什么沒有看到LED等閃爍效果呢?
通過查看開發板的原理圖,則可得到其原因。
![poYBAGHcOkCAfY-7AAAc1TwOww0001.jpg](https://file.elecfans.com/web2/M00/2C/77/poYBAGHcOkCAfY-7AAAc1TwOww0001.jpg)
圖2LED電路
原來所使用的引腳不對,應從PA8、PA10及PA12中選取,將程序改為如下內容后即可獲得閃爍效果。
- int main(void)
- {
- CLIC_Init();
- System_Clock_Init();
- GPIO_MODE_Init(GPIOA,PIN8,GPIO_MODE_OUTPUT);
- while(1)
- {
- Delay32M_ms(500);
- GPIO_Toggle(GPIOA,PIN8);
- }
- }
![pYYBAGHcOkKAFzJdAABVoZ-rMdk675.jpg](https://file.elecfans.com/web2/M00/2C/7D/pYYBAGHcOkKAFzJdAABVoZ-rMdk675.jpg)
圖3選取下載文件
![pYYBAGHcOkOAJjywAABUNQEVVcU324.jpg](https://file.elecfans.com/web2/M00/2C/7D/pYYBAGHcOkOAJjywAABUNQEVVcU324.jpg)
圖4完成下載
在完成下載后,即可達到圖5所示的所示效果。
![poYBAGHcOkSAcu1iAAA3Bx7Hjkc421.jpg](https://file.elecfans.com/web2/M00/2C/77/poYBAGHcOkSAcu1iAAA3Bx7Hjkc421.jpg)
圖5顯示效果
若在此基礎上加以修改,則可以獲得7色彩燈的循環顯示效果。
- int main(void)
- {
- CLIC_Init();
- System_Clock_Init();
- GPIO_MODE_Init(GPIOA,PIN8,GPIO_MODE_OUTPUT);
- GPIO_MODE_Init(GPIOA,PIN10,GPIO_MODE_OUTPUT);
- GPIO_MODE_Init(GPIOA,PIN12,GPIO_MODE_OUTPUT);
- while(1)
- {
- Delay32M_ms(500);
- GPIO_Write(GPIOA,PIN12,GPIO_RESET);
- Delay32M_ms(500);
- GPIO_Write(GPIOA,PIN12,GPIO_SET);
- GPIO_Write(GPIOA,PIN10,GPIO_RESET);
- Delay32M_ms(500);
- GPIO_Write(GPIOA,PIN10,GPIO_SET);
- GPIO_Write(GPIOA,PIN8,GPIO_RESET);
- Delay32M_ms(500);
- GPIO_Write(GPIOA,PIN8,GPIO_SET);
- GPIO_Write(GPIOA,PIN12,GPIO_RESET);
- GPIO_Write(GPIOA,PIN10,GPIO_RESET);
- Delay32M_ms(500);
- GPIO_Write(GPIOA,PIN8,GPIO_RESET);
- GPIO_Write(GPIOA,PIN12,GPIO_RESET);
- GPIO_Write(GPIOA,PIN10,GPIO_SET);
- Delay32M_ms(500);
- GPIO_Write(GPIOA,PIN8,GPIO_RESET);
- GPIO_Write(GPIOA,PIN12,GPIO_SET);
- GPIO_Write(GPIOA,PIN10,GPIO_RESET);
- Delay32M_ms(500);
- GPIO_Write(GPIOA,PIN8,GPIO_RESET);
- GPIO_Write(GPIOA,PIN12,GPIO_RESET);
- GPIO_Write(GPIOA,PIN10,GPIO_RESET);
- Delay32M_ms(500);
- GPIO_Write(GPIOA,PIN8,GPIO_SET);
- GPIO_Write(GPIOA,PIN12,GPIO_SET);
- GPIO_Write(GPIOA,PIN10,GPIO_SET);
- }
- }
控制外掛LED模塊的程序如下:
- int main(void)
- {
- CLIC_Init();
- System_Clock_Init();
- GPIO_MODE_Init(GPIOB,PIN1,GPIO_MODE_OUTPUT);
- GPIO_Write(GPIOB,PIN1,GPIO_SET);
- while(1)
- {
- GPIO_Write(GPIOB,PIN1,GPIO_SET);
- Delay32M_ms(500);
- GPIO_Write(GPIOB,PIN1,GPIO_RESET);
- Delay32M_ms(500);
- }
- }
經程序的編譯與下載,其顯示效果如圖6和圖7所示。
![pYYBAGHcOkaAYf_JAAA3H6h0VOA797.jpg](https://file.elecfans.com/web2/M00/2C/7D/pYYBAGHcOkaAYf_JAAA3H6h0VOA797.jpg)
圖6熄滅LED模塊
![poYBAGHcOkeAXXaGAAA0J6m9hxU863.jpg](https://file.elecfans.com/web2/M00/2C/77/poYBAGHcOkeAXXaGAAA0J6m9hxU863.jpg)
圖7點亮LED模塊
除了GPIO口的輸出功能外,還可以用GPIO口的輸入功能來識別按鍵的狀態。
在連接薄膜軟按鍵的情況下,使用下面的程序可實現感應控制的作用。
- int main(void)
- {
- CLIC_Init();
- System_Clock_Init();
- GPIO_MODE_Init(GPIOB,PIN1,GPIO_MODE_OUTPUT);
- GPIO_MODE_Init(GPIOB,PIN2,GPIO_MODE_INPUT);
- GPIO_Write(GPIOB,PIN1,GPIO_SET);
- while(1)
- {
- if(GPIO_Read(GPIOB,PIN2)==0) GPIO_Write(GPIOB,PIN1,GPIO_SET);
- else GPIO_Write(GPIOB,PIN1,GPIO_RESET);
- }
- }
經程序的編譯與下載,其顯示效果如圖8和圖9所示。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
南京中科微
+關注
關注
0文章
60瀏覽量
814 -
CSM32RV20
+關注
關注
0文章
40瀏覽量
234
發布評論請先 登錄
相關推薦
有獎丨米爾 全志T536開發板免費試用
米爾與全志合作發布的新品基于全志T536應用處理器的MYD-LT536-GK開發板免費試用活動來啦~~米爾提供了3塊價值750元的MYD-LT536-GK開發板發起試用活動您不僅可以免
![有獎丨米爾 全志T536<b class='flag-5'>開發板</b>免費<b class='flag-5'>試用</b>](https://file.elecfans.com/web2/M00/08/64/pYYBAGDwFEGADIPWAAFlJOlmLxg664.jpg)
瑞芯微主板/開發板Linux系統播放音頻方法,觸覺智能RK3562開發板演示
本文介紹瑞芯微方案主板/開發板Linux系統播放音頻的方法,觸覺智能RK3562開發板演示,通用RK3566、RK3568、RK3588等
![瑞芯<b class='flag-5'>微</b>主板/<b class='flag-5'>開發板</b>Linux系統播放音頻方法,觸覺智能RK3562<b class='flag-5'>開發板</b>演示](https://file1.elecfans.com/web3/M00/02/33/wKgZO2dbrJmACGv1AAB7yOSAvVY164.png)
追加名額丨米爾瑞芯微RK3576開發板有獎試用
米爾與瑞芯微合作發布的新品基于瑞芯微RK3576應用處理器的MYD-LR3576開發板免費試用活動加碼啦~~米爾追加了2塊價值849元的MYD-LR3576
![追加名額丨米爾瑞芯<b class='flag-5'>微</b>RK3576<b class='flag-5'>開發板</b>有獎<b class='flag-5'>試用</b>](https://file.elecfans.com/web2/M00/08/64/pYYBAGDwFEGADIPWAAFlJOlmLxg664.jpg)
常用在工業控制系統上的MCU芯片資料:CSM32RV20
CSM32RV20是一款基于RISC-V核的低功耗MCU芯片。 內置RISC-V RV32IMAC內核(2.6CoreMark/MHz); 蕞高32MHz工作頻率; 內置4kB的SRAM; 內置8B
![常用在工業控制系統上的MCU芯片資料:<b class='flag-5'>CSM32RV20</b>](https://file1.elecfans.com/web1/M00/F4/DC/wKgZoWczDC-AV7TwAAEXvP1_BJ0707.png)
有獎丨米爾 瑞芯微RK3576開發板免費試用
米爾與瑞芯微合作發布的新品基于瑞芯微RK3576應用處理器的MYD-LR3576開發板免費試用活動來啦~~米爾提供了7塊價值849元的MYD-LR3576
![有獎丨米爾 瑞芯<b class='flag-5'>微</b>RK3576<b class='flag-5'>開發板</b>免費<b class='flag-5'>試用</b>](https://file.elecfans.com/web2/M00/08/64/pYYBAGDwFEGADIPWAAFlJOlmLxg664.jpg)
瑞芯微RK3568開發板Linux編譯報錯404怎么辦?觸覺智能教你輕松解決
本文介紹瑞芯微RK3568主板/開發板SDK編譯流程和編譯報錯404的解決方法,使用觸覺智能EVB3568鴻蒙開發板演示,具有豐富的視頻輸入輸出接口(HDMI/eDP/MIPI/LVDS) 與多種高速接口(千兆網
![瑞芯<b class='flag-5'>微</b>RK3568<b class='flag-5'>開發板</b>Linux編譯報錯404怎么辦?觸覺智能教你輕松解決](https://file1.elecfans.com/web2/M00/0A/D9/wKgZomcpisuAZYJiAAB5u-RqpRA452.png)
點擊參與米爾NXP i.MX 93開發板有獎試用
米爾與NXP合作發布的新品基于NXPi.MX93應用處理器的MYD-LMX9X開發板免費試用活動來啦~~米爾提供了3塊價值678元的MYD-LMX9X開發板發起試用活動您不僅可以免費體
![點擊參與米爾NXP i.MX 93<b class='flag-5'>開發板</b>有獎<b class='flag-5'>試用</b>](https://file.elecfans.com/web2/M00/08/64/pYYBAGDwFEGADIPWAAFlJOlmLxg664.jpg)
香橙派發布首款RISC-V開發板OrangePi RV
2024年3月,香橙派在全球開發者會議上發布了其首款基于RISC-V開發的OrangePi RV主板。這款開發板擁有四核RISC-V U74與S7協處理器,配備 2MB L2緩存。同時
評論