Найти в Дзене
Паяльник и код

Добавление библиотеки ch32v003fun в MounRiver Studio

ch32v003fun – библиотека с открытым исходным кодом (утилиты, файлы заголовок, примеры) для CH32V003 (и многих других чипов семейства CH32V) с gcc-riscv64 Хорошая библиотека с кучей примеров. Добавим её в MounRiver Studio и рассмотрим пример Blink с микроконтроллером CH32V003J4M6 Продолжение статьи - https://dzen.ru/a/Z2Plk8vPfilOg5Be 1. Скачиваем библиотеку с https://github.com/cnlohr/ch32v003fun 2. Создаем проект в MounRiver Studio 3. Удаляем все файлы в директории USER 4. Удаляем все файлы в папках INC и SRC в каталоге Peripheral 5. Из скаченной библиотеки копируем ch32v003fun.h в папку INC, ch32v003fun.c в папку SRC, funconfig.h в USER 6. Удаляем папку Debug Проект готов. Если нужны дополнительные компоненты библиотеки, так же копируете их в папки INC и SRC Дальше в USER создаем .с- файл с кодом своей программы Схема Лампочка подключена на пин PC1 Вот так выглядит проект Код blink_FUN.c #include "ch32v003fun.h"
#include <stdio.h> int main() {
SystemInit();
funGpioInitAll()
Оглавление

ch32v003fun – библиотека с открытым исходным кодом (утилиты, файлы заголовок, примеры) для CH32V003 (и многих других чипов семейства CH32V) с gcc-riscv64

Хорошая библиотека с кучей примеров. Добавим её в MounRiver Studio и рассмотрим пример Blink с микроконтроллером CH32V003J4M6

Продолжение статьи - https://dzen.ru/a/Z2Plk8vPfilOg5Be

Алгоритм

1. Скачиваем библиотеку с https://github.com/cnlohr/ch32v003fun

2. Создаем проект в MounRiver Studio

3. Удаляем все файлы в директории USER

4. Удаляем все файлы в папках INC и SRC в каталоге Peripheral

5. Из скаченной библиотеки копируем ch32v003fun.h в папку INC, ch32v003fun.c в папку SRC, funconfig.h в USER

6. Удаляем папку Debug

Проект готов. Если нужны дополнительные компоненты библиотеки, так же копируете их в папки INC и SRC

Дальше в USER создаем .с- файл с кодом своей программы

Схема

-2

Лампочка подключена на пин PC1

Вот так выглядит проект

-3

Код blink_FUN.c

#include "ch32v003fun.h"
#include <stdio.h>
int main() {
SystemInit();
funGpioInitAll();
funPinMode( PC1,
GPIO_Speed_10MHz | GPIO_CNF_OUT_PP );

while(1){
funDigitalWrite( PC1, FUN_HIGH );
Delay_Ms( 550 );
funDigitalWrite( PC1, FUN_LOW );
Delay_Ms( 150 );
}
}

После компиляции

-4

можно сравнить с размером blink из прошлой статьи

-5

Размер считается

Flash = data+dec

SRAM = data+bss

Результат «моргания»

-6

Библиотеку отличная. Буду использовать в своих проектах