20円マイコン RISC-V CH32V003 をMounRiver Studioで使ってみよう2

__20円マイコン RISC-V CH32V003 をMounRiver Studioで使ってみよう__ の続きです。
https://qiita.com/usashirou/items/658394f66705001d950a
# 1からプログラムを作ってみる
今回は、1からプログラムを作ってみます。
__File⇒New⇒MounRiver Project__ をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/e4745065-68f9-afeb-bad4-00d926e9a787.png)
今回使用するマイコン __CH32V003F4P6__ を選択します。
__CH32V003⇒CH32V003F4P6__
__Project Name__ を入力して __Finish__ をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/546b8a2f-511f-fa41-e7f8-ad6ff4d884a0.png)
生成されたプログラムを見てみましょう。
__User⇒main.c__ をクリックします。
__TX：D5
RX：D6__
になっています。
__コンパイル__ をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/25aa1153-d5c8-a6cd-766f-31d6a6d29b35.png)
__ダウンロード__ します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/7a2cd373-3100-d551-af5f-af2ba3ea9d6e.png)
TeraTermで見てみましょう。
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/835f63f1-7679-42cf-d973-feebc2ea0a0c.png)
# LED点滅を追加する
シリアル通信にLEDの点滅を追加します。
__※UARTのRX/TXがかぶっているので正しいプログラムではありません。__
__GPIO_Toggle_INIT__ を追加し __main内__ を以下のように変更しました。
__GPIO_Toggle_INIT__
```
void GPIO_Toggle_INIT(void)
{
    GPIO_InitTypeDef GPIO_InitStructure = {0};

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOD, &GPIO_InitStructure);
}
```
__main.c__
```
int main(void)
{
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
    Delay_Init();
    GPIO_Toggle_INIT();

    USART_Printf_Init(115200);
    printf("SystemClk:%d\r\n",SystemCoreClock);
    printf("GPIO Toggle TEST\r\n");

    USARTx_CFG();

    while(1)
    {
        Delay_Ms(500);
        GPIO_WriteBit(GPIOD, GPIO_Pin_0, Bit_SET);
        GPIO_WriteBit(GPIOD, GPIO_Pin_4, Bit_RESET);
        printf("GPIO Toggle TEST1\r\n");
        Delay_Ms(500);
        GPIO_WriteBit(GPIOD, GPIO_Pin_0, Bit_RESET);
        GPIO_WriteBit(GPIOD, GPIO_Pin_4, Bit_SET);
        printf("GPIO Toggle TEST2\r\n");

    }
}
````
__TeraTermの表示__
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/fbc892f1-a251-4c7a-0dd9-f37a7c98b35b.png)
# ダウンロードプログラムの設定
__Download__ ボタンの横を押す事で __Configuration__ を開く事が出来ます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/06165af1-e4fd-9135-fea4-8ddd6166051d.png)
TargetMode横の __Query__ をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/ee25b96d-8e4e-d81c-95ff-1ee9e92a91ee.png)
__Query__ をクリックする事で __TargetMode__ が選定されます。
__TargetFile__ を選択します。
__Browse__ をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/1c6c2892-7a85-cdf4-4e2a-bc985c7d0e37.png)
__ダウンロード__ するプログラムを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/b4f8f579-c46c-accc-d34f-c12da7fce085.png)
__Apply and Close__ をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/7833ab31-5dc4-b77b-0d08-df4b0fb40289.png)
以上で __ダウンロード__ するプログラムを変更することが出来ます。