最近在搞一些项目,想把很多传感器什么的放到一个开发板上,结果发现开发板的rx,tx口和I2C口不够,十分难受,然后我在网上找了找总结了一些方法。
目录
RX和TX:
下载<HardwareSerial.h>库文件
这个库文件可以将几乎其他所有串口都虚拟为rx和tx口,但要注意有些口是有特殊功能的,所以推荐根据引脚图来进行虚拟。
1.实例化一个对象
具体应该是这样:
mySerial1.begin(串口波特率,SERIAL_8N1,rx,tx);
例如:
mySerial1.begin(9600,SERIAL_8N1,5,17);
2.使用:
使用的话就直接和平时一样的使用方法,不过是吧Serial改为了自己定义的名字。
3.完整代码:
#include <HardwareSerial.h>
HardwareSerial mySerial1(1);
void setup()
{
mySerial1.begin(9600,SERIAL_8N1,5,17);
}
void loop()
if(mySerial1.available()>0)
{
//读取串口数据
String str=mySerial1.readString();
Serial.println(str);
}
I2C:
这个比较简单,wire库里就自带将I2C映射到其他引脚的功能
只需要在setup函数里在初始化的时候使用
Wire.begin(SCL,SDA);
这样就可以在自己选的引脚上来使用I2C通讯了。
值得注意的是选的引脚和上面一样,有些引脚是有特殊作用的,因此不可以随意选择,要根据引脚图来选哦 。