由于项目需要,需要用TQ210的串口1与CC2530进行通信,自己移植的linux3.4.112,用usb转TTL模块连接其串口1留出的接插件接口,应用程序死活收不到数据,后来定位到在drivers/tty/serial/Samsung.c的函数s3c64xx_serial_handle_irq()为串口一的收发中断处理函数。在里面加打印发现用pc通过usb转TTL模块或者CC2530都是开发板能发数据,电脑和CC2530能收到,但是给它发送数据死活不进中断。然后短接TXD和RXD,发现能很好的接收和发送数据。刚开始以为是数据流控的问题,开始到网上疯狂的找linux下串口编程的例子,但是结果都一样,外设给它发送死活不进中断。用linux内核以来,出现问题首先怀疑的是不是内核没有初始化好,找了6天,串口驱动框架看了个遍,没发现问题。后来怀疑是不是电平转换芯片的问题,由于手上没有示波器,拆下来又不好拆,所以又找了两天,今天下定决心拆下来,神奇的事发生了,接收中断能进了,而且能很好的接收数据。现在只想说一句fuck you TQ210。
TQ210 串口1 只能发不能收(不进中断)
最新推荐文章于 2024-07-22 16:18:07 发布