RT-Thread Studio+J-Link调通STM32F103RG开发板

1.软硬件:

(1)RT-Thread Studio:

(2)串口调试工具为“通信猫”:

(3)开发板貌似是“创思通信”的,主芯片是STM32F103RGT6。

(4)J-Link有V8,V9,V11(EDU,正版)

(5)USB-TTL:CH340

2.RT-Thread Studio创建"RT-Thread项目",选择“基于芯片”,芯片选择"STM32F103RG",调试器接口选择"JTAG",如图:

3.USB-TTL的RX,TX分别连接STM32的TX1和RX1,同时连接两者的3V3和GND(仅开发板可无需另接电源供电)。

4.修改applicaions->main.c,LED1为PC15,引脚编号47;LED2为PC13,引脚编号45;LED3为PB9,引脚编号25;LED4为PA4,引脚编号4(这些引脚都是用万用表量出来);文件如下:

#include <rtthread.h>
#define DBG_TAG "main"
#define DBG_LVL DBG_LOG
#include <rtdbg.h>
#include "board.h"
#include "rtdevice.h"
#define LED4  4  //4(PA4):LED4  25(PB9):LED3 45(PC13):LED2  47(PC15):LED1
#define LED3  25
#define LED2  45
#define LED1  47
int main(void)
{
      rt_pin_mode(LED4, PIN_MODE_OUTPUT); //设置为输出模式
      rt_pin_mode(LED3, PIN_MODE_OUTPUT);
      rt_pin_mode(LED2, PIN_MODE_OUTPUT);
      rt_pin_mode(LED1, PIN_MODE_OUTPUT);
      while (1)
       {   rt_kprintf("led on!
");   //UART输出
           rt_pin_write(LED1, PIN_LOW); //低电平点亮
           rt_thread_mdelay(100);
           rt_pin_write(LED2, PIN_LOW);
           rt_thread_mdelay(100);
           rt_pin_write(LED3, PIN_LOW);
           rt_thread_mdelay(100);
           rt_pin_write(LED4, PIN_LOW);
           rt_thread_mdelay(1000);
           rt_kprintf("led off!
");
           rt_pin_write(LED1, PIN_HIGH);  //高电平关闭
           rt_thread_mdelay(100);
           rt_pin_write(LED2, PIN_HIGH);
           rt_thread_mdelay(100);
           rt_pin_write(LED3, PIN_HIGH);
           rt_thread_mdelay(100);
           rt_pin_write(LED4, PIN_HIGH);
           rt_thread_mdelay(2000);
       }
}

5.编译,有可能会出现一个warning,方便起见,找到这个地方,直接注释掉即可。

经验分享 程序员 微信小程序 职场和发展