一边是ARM板,另一边是51,两边都使用蓝牙模块,原理上等同于串口。虽然说起来这么简单,但动起来还是有些问题的,中间有几个小问题记下: 1)S3C2410中没找到ttyS1,只有ttyS0,我用mknod也不行,郁闷死了。本就只用过串口0,没用过串口1。还以为板子有问题,跑开发板厂商上去看,上BBS一搜才知道原因。 ttyS0也相当于一个快捷方式,实际上用的是 /dev/tts/0 1 2 三个。其中1,2都是串口1~,于是,试之果然。 2)12M的51串口波特率肯定是上不了115200的,当然,也许可以算出来,但实际误差太大不可用。我本想用9600的,却也用不了,不知道原因,调试的时候串口就是没有数据,只好再降下来用4800,终于好了。 3)蓝牙模块由于设计的时候为了与PC通信,加了串口,由于与TTL电平不匹配的原因所以直接将单片机的RXD,TXD和蓝牙芯片上的两脚接起来。实际上我是对这个没有把握的,因为我对串口不熟悉。但调试的时候出问题,单片机发数据正常,但却读不了数据。串口调试的时候,发现把PC串口接上却可以通信。异之~,于是考虑到应该是串口信号状态的原因,但我不知道应该怎么做。忽然想起有资料说接1K电阻形成自握手可行,其实之前我还不知道这是什么意思。于是,找来电阻,本想焊接上去,却心里没准,所以查了查串口,把电阻两个脚插到串口的接口两个信号脚之间,试之,可!