救命啊!Arudino蓝牙串口 成员函数怎么全局调用?-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1665|回复: 1

[未解决] 救命啊!Arudino蓝牙串口 成员函数怎么全局调用?

[复制链接]
发表于 2021-8-6 02:02 | 显示全部楼层 |阅读模式
大佬救命啊! https://www.arduino.cn/thread-47262-1-1.html 这个蓝牙串口通信 我自己整个大程序拆成了很多cpp 所以把蓝牙单独写在一个子函数里,

所以在另一个函数中mySerial.begin()没定义到  我不清楚怎么把这个mySerial给extern全局定义了,或者有其他规则吗? 怎么像serial一样全局可用呢?

#include <SoftwareSerial.h>应该再加到头文件,主程序之类的地方吗?



感激不尽!!!!!!!!!!!!!!!!!!!!!

这个是我的函数:
#include "Arduino.h"
#include "config.h"
#include <SoftwareSerial.h>
void BT() {
  //将串口6,7,引脚使用软串口RX、TX处理连接BLE蓝牙模块
  static SoftwareSerial BT_Serial(6, 7);


//BT_Serial.begin(9600);??????????????????????


String str = "";
  //监控串口,将串口接收到的字符串传送给蓝牙模块
  //将蓝牙模块返回的内容串口打印到串口监视器进行显示
  str = "";
  if (BT_Serial.available())
  {
    Serial.write(BT_Serial.read());
  }
  if (Serial.available()) {
    BT_Serial.write(Serial.read());
  }
}

发表于 2021-8-6 02:39 | 显示全部楼层

回帖奖励 +1 金币

在定义软串口的 cpp 文件里,把软串口定义成全局的玩意,放在函数外侧:SoftwareSerial BT_Serial(6, 7);

在需要引用 BT_Serial 的 cpp 文件里,开头加一句引用声明:extern SoftwareSerial BT_Serial;
之后就可以愉快地使用了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-29 01:44 , Processed in 0.069042 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表