我的语音模块(tts)和无线模块 (syn6288-01)同时需要串口,而用软串口后并不能同时工作(之前使用uno),后来换了一块mega,有4组硬串口,然后还是无济于事。只有放在串口0的模块可以工作,其他不起作用。。
于是打开语音模块的库文件syn6288.cpp,将其中的serial一致改为serial1,保存后,重新编译上传程序,还是不可以。。。
于是又打开该文件,将serial一致改为serial3,再次编译上传程序,,将语音模块的rx、tx交叉连接串口3,结果就可以了。
原因是该库文件将串口写死为serial,所以既不能用软串口,也不能用其他硬串口。。。。只能用串口0.
修改后,至于为什么串口1不行,串口3可以,至今没找到原因,或许我的串口1是有问题的。。