欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 邊干邊學CH32V103單片機-從“點亮LED開始認識CH32V103單片機 [打印本頁]

作者: 隨緣57    時間: 2022-4-9 19:32
標題: 邊干邊學CH32V103單片機-從“點亮LED開始認識CH32V103單片機
南京沁恒出品的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)

作者: wukouyyq    時間: 2022-4-15 14:04
還沒有學過這種的單片機,只在學STC52RC。接下來想學這種的單片機了。

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

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

我不懂,還沒學過,不要見怪呀
作者: sanmaodeai    時間: 2022-4-17 21:47
50M你覺得能看到嗎?人眼的極限大概也就50Hz
作者: 山烏木    時間: 2022-5-8 11:11
人眼的極限大概也就30Hz,,,,,膠片電影的幀速
作者: sxd2529427292    時間: 2022-5-13 10:40
wukouyyq 發表于 2022-4-15 14:04
還沒有學過這種的單片機,只在學STC52RC。接下來想學這種的單片機了。

弱弱地問一句,GPIO_InitStructur ...

這個是指單片機管腳的響應速度,需要控制LED閃爍的時候用Delay_Ms()就好了
作者: csgtli    時間: 2022-6-22 12:40
接觸過STM32的很容易就上手,這個單片機在一般應用場合完全可低替STM32B .我現在的全部產品都改成了WCH的了
作者: zzzzxxxxp    時間: 2022-8-16 10:54
csgtli 發表于 2022-6-22 12:40
接觸過STM32的很容易就上手,這個單片機在一般應用場合完全可低替STM32B .我現在的全部產品都改成了WCH的了

正在找這方面的資料,感謝
作者: fqc168    時間: 2022-8-22 10:16
這個芯片有什么優勢???穩定性如何
作者: fqc168    時間: 2022-9-21 09:27
目前發現這個芯片的功能還是比較原始,很多功能不完善,相當于一個很原始的單片機
作者: csgtli    時間: 2022-10-13 11:16
fqc168 發表于 2022-8-22 10:16
這個芯片有什么優勢???穩定性如何

批量時有的芯片SWD無法下載,其他穩定,沒有什么問題,廠家提供的例程編寫風格與STM32的基本一致
作者: shy332    時間: 2024-4-21 09:34
開發環境用的是什么?沁恒自己的嗎?





歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1