Arduino 下初试 stm32开发板

Arduino 下初试 stm32开发板

1.实验环境

1.野火STM32指南者(STM32F103VET6)
2.Arduino IDE 1.8.13(下载链接)
3.STM32 Flash loader 2.8.0(下载链接)

在这里插入图片描述
在这里插入图片描述

2.配置环境

点击开发板管理器
在这里插入图片描述
搜索SAM,安装。

下载并烧录bootloader

clone 大佬的这两个项目
在这里插入图片描述

Arduino_STM32 项目地址
STM32duino-bootloader 项目地址

将下载的 Arduino_STM32 项目放到Arduino安装目录的hardware路径。

重启Arduino IDE,可以看到很多stm32的板子
在这里插入图片描述
打开 STM32 Flash loader,将stm32 boot0 引脚接为高电平,插上串口线,
开始烧录STM32duino-bootloader项目里binaries下的bin文件。

俺这边烧的是pb0,因为野火指南者pb0接了个绿色的LED。
在这里插入图片描述
在这里插入图片描述
选择自己对应的串口,我这是COM14
在这里插入图片描述
一路下一步,选择自己要烧录的文件。在这里插入图片描述

在这里插入图片描述
成功,然后在Arduino IDE编译测试源码,上传到板子。

注意以下为本人实践经验(不一定大家都适用):

1.上传程序时boot0 接高电平,boot1低电平。这时的程序好像是被搞到内存里了,断电或reset就没了。
2.boot0 与boot1都接低电平,貌似无法上传程序。
3.想让程序断电后都在板子上,可以这样操作。boot0接高电平,boot1接低电平,点击上传,程序上传成功,这是将boot0接到低电平,然后断电,这是供电后,程序就会一直在了,不晓得啥子原因。

3.测试源码

源码功能: 绿灯闪,不断向串口发“cao,hello!!!”,直到PC向stm32发送“stop”指令。

void setup() {
  // put your setup code here, to run once:
  pinMode(PB0, OUTPUT);
  Serial.begin(115200); //设置波特率
}
void stop()//终止函数
{
  while (1)
  {

  }
}
char incomingByte = 0;
void loop() {
  // 点灯
  digitalWrite(PB0, HIGH);//PB0引脚,高电平
  delay(1000);//延时
  digitalWrite(PB0, LOW);//PB0引脚,低电平
  delay(1000);
  Serial.println("cao,hello!!!!");//这串字符打到串口
  delay(1000);
  String str = "";

  //接受PC机发送给stm32的数据
  while (1)
  {

    if (Serial.available() > 0) {
      // read the incoming byte:
      incomingByte = Serial.read();
      // say what you got:
      Serial.print("I received: ");
      Serial.println(incomingByte, DEC);
      str += incomingByte;
    }
    else
    {
      break;
    }
  }

  //判断是否是结束标志,使用Arduino IDE 工具自带的串口调试工具,每当给stm32发送字符串时,都会在末尾加上ascII码(值为10)
  if (str != "")
  {
    if (str.length() == 5)
    {
      if (str[0] == 's' && str[1] == 't' && str[2] == 'o' && str[3] == 'p')
      {
        Serial.println("Stop!!!!");
        stop();
      }
    }
  }






}

4.效果图
在这里插入图片描述
工具,串口监视器
在这里插入图片描述
在这里插入图片描述

作者info
作者:DebugWuhen
原创公众号:『DebugWuhen』,专注于记录有趣的编程技术和有益的程序人生,期待你的关注。
转载说明:务必注明来源(注明:来源于公众号:DebugWuhen, 作者:DebugWuhen)
在这里插入图片描述

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值