Arduino为GD32芯片编程

GD32F103用Arduino编程

  • 板子线路图
  • Ardunino编程
  • 程序编制
  • 编译下载

板子线路图

Arduino为GD32芯片编程_第1张图片
这个STM32F103C8T6用国产的GD32来代替。

Ardunino编程

使用Arduino编程,在板子管理器中安装:
Arduino为GD32芯片编程_第2张图片
安装需要一些时间,在这里可以看到,STM32F1xx支持GD32F1xx系列的板子。

安装完成后在板子管理器中出现:
Arduino为GD32芯片编程_第3张图片
选择STM32F1板子。
我在其中选择STM32F103C系列的板子。

程序编制

/*  Timer Interrupt Example
 *  
 */

#define LED_PIN PC13
//#define LED_RATE 500000    // in microseconds; should give 0.5Hz toggles
#define LED_RATE 1        // 1000 μs = 1 ms
void handler_count1(void);

int iCnt01 = 0;
bool toggle = 0;
bool bDebug = false;

void handler_led(void)
{
    iCnt01++;
    if ( iCnt01 >= 100000 )
    {
        toggle = !toggle;        
        digitalWrite(LED_PIN, toggle);
        if ( bDebug )
          Serial1.println("Interrupt called!");
        iCnt01 = 0;
    }
} 

void setup() 
{
    Serial1.begin(115200);
    pinMode(LED_PIN, OUTPUT);
    while(!Serial1);
    delay(2000);
    Serial1.println("COM 1 Setup OK!");

    Timer2.setMode(TIMER_CH1, TIMER_OUTPUTCOMPARE);
    Timer2.setPeriod(LED_RATE); // in microseconds 0.5 second
    Timer2.setCompare(TIMER_CH1, 1);      // overflow might be small
    Timer2.attachInterrupt(TIMER_CH1, handler_led);
}

void loop() 
{
    if (Serial1.available())
    {
        int x = Serial1.read();
        if ( x == 'd')
        {
            bDebug = !bDebug;
            Serial1.print("bDebug = ");
            Serial1.println(bDebug, BIN);
        }
    }

}

我的编程设备采用了JLink V9.0,这里可能要在下载器的目录中安装Jlink.exe,Jlink_X64.DLL, JLink_ARM.DLL文件。我把文件安装在
stm32duino\tools\stm32tools\2022.9.26\win>目录下面。

编译下载

在Arduino的编程环境下是Upload。
下载完成,一切正常,我用的板子是GD32F103C8T6
Arduino为GD32芯片编程_第4张图片

你可能感兴趣的:(Arduino,IDE,嵌入式硬件,单片机)