久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5569|回復: 10
收起左側

邊干邊學CH32V103單片機-從“點亮LED開始認識CH32V103單片機

  [復制鏈接]
ID:678336 發表于 2022-4-9 19:32 | 顯示全部樓層 |閱讀模式
南京沁恒出品的CH32V103系列單片機,采用完全開源的RISC-V架構,對標STM32F103系列單片機。本人出于對純國產32位單片機的好奇,開始學習這款單片機。
學習單片機的最好方法就是邊干邊學。經過仔細閱讀沁恒公司網站的信息,選擇沁恒廠家出品的CH32V103R8T6核心板和WCH-Link下載器套餐作為硬件平臺,以及MounRiver作為集成開發環境,開始了學習旅程。
學習軟件編程都是以”Hello World !”開始,學習單片機則都是從“點亮LED”開始,本人也不能免俗。將核心板與WCH-Link用杜邦線連接,再插入筆記本電腦的USB口。打開MounRiver,在自己習慣的位置新建一個P-001工程項目,參考廠家提供的GPIO例程,按照以下代碼修改User子目錄下的main.c文件,
/*
*@Note
    使用沁恒CH32V103R8T6核心板,板上排針連接為PA0接LED1或LED2
    通用MUC第一個實例,“點亮LED”
*/

#include "debug.h"

int main(void)
{
    u8 i=0; //端口變量,0-低電位,1-高電位。調用GPIO_WriteBit()函數時才能作用于PA0端口

    Delay_Init(); //初始化延時函數

    GPIO_InitTypeDef GPIO_InitStructure = {0}; //聲明GPIO結構體定義
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //使能PA端口時鐘
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1; //配置PA0、PA1端口
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽輸出
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度
    GPIO_Init(GPIOA, &GPIO_InitStructure); //初始化PA端口,PA0、PA1上電后自動為低電位,LED點亮

    while(1)
    {
        Delay_Ms(500); //延時0.5秒
        (i == 0) ? (i = Bit_SET) : (i = Bit_RESET); //取反語句,即將變量i的布爾值取反
        GPIO_WriteBit(GPIOA, GPIO_Pin_0, i); //LED間隔0.5秒閃爍

    }
}
保存好修改結果,選擇項目菜單下全部構建,順利通過后選擇閃存菜單下的下載,即可將編譯好的P-001.hex文件下載到核心板。
將核心板上的PA0排針與LED1排針用杜邦線連接,即可看到板載的LED1閃爍。結合裴曉芳主編的《RISC-V架構嵌入式原理與應用——CH32V103單片機編程與項目實踐》一書,可以了解GIPO的設置和簡單應用。
在上述代碼中,多設置了IO口PA1,主要目的是展示設置多個IO口的方法,實際運行結果是LED1接PA1時會長亮而不閃爍。如果沒有設置PA1,連接LED時不會亮,說明PA1未被激活生效。

在實際應用項目中使用GPIO時需要注意以下問題,
1、在推挽輸出模式下,每個IO口最大拉電流和灌電流不應超過20mA,直接驅動LED或光耦時,通常控制在1.5~3mA左右。如果需要控制大功率外設,可以通過IO口控制MOS管的柵極電壓,再控制外設。
2、單片機芯片的最大工作電流不應超過50mA,多個IO口控制外設時,一定要注意芯片的最大工作電流。

  程序代碼都在附件中,就不注水了。

MounRiver Studio代碼51hei附件下載: P-001.rar (553.75 KB, 下載次數: 17)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:1017814 發表于 2022-4-15 14:04 | 顯示全部樓層
還沒有學過這種的單片機,只在學STC52RC。接下來想學這種的單片機了。

弱弱地問一句,GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度

這個是IO口的速度,50MHZ,這么快能看到LED燈閃嗎?

我不懂,還沒學過,不要見怪呀
回復

使用道具 舉報

ID:161362 發表于 2022-4-17 21:47 | 顯示全部樓層
50M你覺得能看到嗎?人眼的極限大概也就50Hz
回復

使用道具 舉報

ID:886836 發表于 2022-5-8 11:11 | 顯示全部樓層
人眼的極限大概也就30Hz,,,,,膠片電影的幀速
回復

使用道具 舉報

ID:709912 發表于 2022-5-13 10:40 | 顯示全部樓層
wukouyyq 發表于 2022-4-15 14:04
還沒有學過這種的單片機,只在學STC52RC。接下來想學這種的單片機了。

弱弱地問一句,GPIO_InitStructur ...

這個是指單片機管腳的響應速度,需要控制LED閃爍的時候用Delay_Ms()就好了
回復

使用道具 舉報

ID:87631 發表于 2022-6-22 12:40 | 顯示全部樓層
接觸過STM32的很容易就上手,這個單片機在一般應用場合完全可低替STM32B .我現在的全部產品都改成了WCH的了
回復

使用道具 舉報

ID:1042195 發表于 2022-8-16 10:54 | 顯示全部樓層
csgtli 發表于 2022-6-22 12:40
接觸過STM32的很容易就上手,這個單片機在一般應用場合完全可低替STM32B .我現在的全部產品都改成了WCH的了

正在找這方面的資料,感謝
回復

使用道具 舉報

ID:620337 發表于 2022-8-22 10:16 | 顯示全部樓層
這個芯片有什么優勢???穩定性如何
回復

使用道具 舉報

ID:620337 發表于 2022-9-21 09:27 | 顯示全部樓層
目前發現這個芯片的功能還是比較原始,很多功能不完善,相當于一個很原始的單片機
回復

使用道具 舉報

ID:87631 發表于 2022-10-13 11:16 | 顯示全部樓層
fqc168 發表于 2022-8-22 10:16
這個芯片有什么優勢???穩定性如何

批量時有的芯片SWD無法下載,其他穩定,沒有什么問題,廠家提供的例程編寫風格與STM32的基本一致
回復

使用道具 舉報

ID:702600 發表于 2024-4-21 09:34 | 顯示全部樓層
開發環境用的是什么?沁恒自己的嗎?
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 51成人网| 秋霞午夜鲁丝一区二区老狼 | 99re在线| 成人在线一区二区 | 日韩三级久久 | aaaa级片| 黄色一级片免费看 | 日本公妇乱偷中文字幕 | 五月激情综合 | 久色成人 | 黄色一级免费视频 | www.国产在线观看 | 欧美日韩在线一区二区三区 | 三上悠亚激情av一区二区三区 | 免费成人深夜夜行网站 | 日韩黄色网址 | 国产精品久久久一区二区 | 性久久久久久 | 成人h视频在线观看 | 91亚洲一区| 国产一区欧美 | 国产操操操 | 久久久久女人精品毛片九一 | 日本激情网站 | 日本精品国产 | 国产91在线播放 | 欧美精品黄色 | 亚洲黄色影院 | 欧美视频一区二区 | 中文字幕国产在线 | 一区二区高清 | 狠狠干狠狠干 | 成人免费在线播放 | 九色91popny蝌蚪新疆 | 无套内谢的新婚少妇国语播放 | 18精品爽国产白嫩精品 | 欧美一级特黄视频 | 欧美国产日韩视频 | 日韩一级淫片 | 四虎在线观看 | 四虎色播 |