UART与PIC接收问题

9个员额/ 0个新员额
最后发表
aeris
离线
最后看到:5年8个月前
加入:2015-03-05 45
UART与PIC接收问题

你好,再次:p

我的PIC无法接收来自PAN1740 USB加密狗的数据。
我尝试与适配器和USB UART对话:工作
我尝试与PIC和USB UART对话:工作
我把PIC插到dongle,所有的工作都有流量控制,但PIC不接收…
DSPS android应用程序看到流量控制,可以发送数据。

PIC在RX和CTS上有内部弱上拉。
PIC启用了它的接收,然后设置RTS并等待中断。我尝试在设置RTS之前添加1毫秒的延迟,但没有任何改变。

我认为DA14580比FTDI芯片更严格,可能我哪里有延迟问题,但我不知道是怎么回事……

谢谢。

Morgane法兰

关键词:
设备:
MT_dialog
离线
最后看到:1个月1个星期前
工作人员
加入:2015-06-08 34
嗨aeris

嗨aeris

对不起,艾瑞斯,你能再说一遍你在做什么吗?你想发送数据到你的PIC,但PIC似乎没有接收数据?

由于MT_dialog

aeris
离线
最后看到:5年8个月前
加入:2015-03-05 45
是的,我试着把数据发送到我的

是的,我试着用DSPS应用程序和PAN1740 USB狗把数据发送到我的PIC。
DSPS app查看流量控制,可以接收数据。

MT_dialog
离线
最后看到:1个月1个星期前
工作人员
加入:2015-06-08 34
嗨aeris,

嗨aeris,

你能告诉我一些你们设备的细节吗?我听不懂。

由于MT_dialog

aeris
离线
最后看到:5年8个月前
加入:2015-03-05 45
我有一个带dsp应用程序的pad

我有一个pad,我的DSPS应用程序连接到一个PAN1740 USB devboard。
PAN1740模块通过UART连接到具有硬件流量控制的PIC16。该PIC具有流量控制的软件实现。
该DSPS应用程序可以从PIC槽BT与流量控制接收数据。
我想发送数据与pad到我的PIC,但PIC收到什么和流量控制看起来工作。
我尝试将我的PIC连接到FTDI USB UART进行测试,它工作了。
我尝试连接PAN1740 devboard到FTDI UART,它也工作。
如果我把PAN1740连接到PIC, PIC不接收。

MT_dialog
离线
最后看到:1个月1个星期前
工作人员
加入:2015-06-08 34
嗨aeris,

嗨aeris,

你说da使用硬件流控制,PIC使用软件流控制.....你说的软件流控制是什么意思,我假设你的代码是驱动GPIOs作为RTS, CTS,以便为uart事务的da发出信号。那是正确的吗?如果是这种情况,请确保da在发送任何实际数据之前是清醒的。你可以通过使用RTS信号来唤醒da。一旦da准备好了,将设置CTS高。替代你可以唤醒的da没有使用RTS/CTS通过有一个唤醒虚拟字节发送的TX线和在da代码定义RX uart线唤醒da。一旦da唤醒它,你应该编程它发送一个确认序列,如ok或准备到PIC,然后你知道你可以发送真实的数据。请注意,唤醒da的时间大约是3-4毫秒。

由于MT_dialog

aeris
离线
最后看到:5年8个月前
加入:2015-03-05 45
我用你的假设是对的

你的假设是对的,我使用PIC16的GPIO,它没有本地流控制。

它们是硬件流控制的两个主要版本:
-你在这里解释的是旧版本
在另一种情况下,当每个设备可以接收的时候,他们就把RTS线放下来,然后他们就等着这个RTS(他的CTS)下来发送
你确定DA实现是你解释的情况吗?因为在我的第一个测试中,我使用这个和那个不工作:-/

编辑:当你说“高”时,意思是逻辑1,但电压等级0,对吗?
当我说“下”时,意味着电压水平为0。

我的PIC也睡着了,当它醒来时,它会放下RTS, DSPS应用看到这个控制,它接收一个XON(流控制槽BT)并发送他的数据,然后说“写好”,但PIC没有看到这个数据。

MT_dialog
离线
最后看到:1个月1个星期前
工作人员
加入:2015-06-08 34
嗨aeris,

嗨aeris,

你能检查PIC的GPIO的电压等级吗?在DA上(应该是0-3v)和FTDI上,你验证了它可以工作,然后告诉我们?这在PIC或DA上都不应该是一个逻辑错误,因为它们都与FTDI一起工作。

由于MT_dialog

aeris
离线
最后看到:5年8个月前
加入:2015-03-05 45
PIC电源是3.3V和

PIC电源是3.3V和FTDI dongle I使用5V…