GD32F103用Arduino编程
- 板子线路图
- Ardunino编程
- 程序编制
- 编译下载
板子线路图
这个STM32F103C8T6用国产的GD32来代替。
Ardunino编程
使用Arduino编程,在板子管理器中安装:
安装需要一些时间,在这里可以看到,STM32F1xx支持GD32F1xx系列的板子。
安装完成后在板子管理器中出现:
选择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