问题是这样的,我的单片机只有一个uart口,但是我同时要驱动一个max232芯片和一个使用uart口的无线芯片。 单片机端的TXD同时驱动2个设备没有问题,问题在于,单片机的RXD端同时接2个设备会产生电平冲突,我希望不用到专用的数字开关,一个是考虑复杂度和成本,第二是我希望这2个设备不用设置就都可以接收和发送(不会同时接收)。 我将max232的ROUT端(单片机的RXD端)接了个二极管(1N5819)和下拉电阻,虽然可以使用,但经常有丢数据的现象发生,是不是我使用的二极管有问题?还是方法不对? 还有就是无线设备用的是3.3v,而单片机因为一些原因必须使用5v供电。如果要用二极管隔离,则电平将下降更多,单片机更难正确的接收数据。有什么解决办法? 我曾经用9014和9012搭出逻辑电平转换电路,但结果是逻辑电平转换正常,但是单片机发出的数据在超过300的波特率时转换电路的输出波形就几乎看不到了。是我用的三极管问题?还是方案问题? |