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,方便起见,找到这个地方,直接注释掉即可。
