主题:EM9160 COM3通信问题

  共有31628人关注过本帖    
diaryon
1楼


EM9160 COM3通信问题  发帖心情 Post By:2009-1-12 21:35:00   [只看该作者]

你好:
    最近在用EM9160作板子,在调试程序时发现一个很奇怪的问题,已经困惑了一个星期了,不知何故。我们自己作了一个底板,在底板上有一片STM32单片机进行AD采样,并将数据通过串口(baud=115200)向外传送。用工业控制计算机COM1/COM2可以接受单片机采集的信号,用EM9160不能接受串口数据(偿试过交换RS232 TX/RX信号线)。但是EM9160却能接收来自工业控制计算机的RS232信号,用示波器查看峰峰值为15V。如果用计算机作为调试设备,两头都是好的,但是两个设备之间却不能通信,我应该怎么来改决这个问题?


┌────┐   Rx     ┌───────┐
│计算机  │ ======   │ EM9160评估板 │  (可以通信)
└────┘   Tx     └───────┘

┌────┐   Rx     ┌───────┐
│ 计算机 │ ======   │ STM32单片机  │  (可以通信)
└────┘   Tx     └───────┘

┌──────┐    Rx     ┌───────┐
│STM32单片机 │  ======   │ EM9160评估板 │   (不能通信)
└──────┘   Tx      └───────┘



  单帖管理 | 引用 | 回复 回到顶部
x10
2楼


  发帖心情 Post By:2009-1-13 9:07:00   [只看该作者]

请确认STM32单片机串口接口电平是TTL或RS232C,EM9160上不同串口有不同的接口电平,其中COM3为RS232C电平(+/-9V),但注意COM3是通过MAX202E驱动的,不像PC那样有很强的驱动能力。如果接到TTL电平的串口,通讯不正常。

  单帖管理 | 引用 | 回复 回到顶部
diaryon
3楼


  发帖心情 Post By:2009-1-13 12:11:00   [只看该作者]

今天早上找到问题了,在等待接收数据时,需要写数据出去才能收数据,真奇怪.
改以前代码:
if( WaitCommEvent(m_hAdSerial,&dwEvtMask, NULL))
改后代友:
Sleep(50);
WriteFile(m_hAdSerial,"0",1,NULL,NULL);
Sleep(50);
if( WaitCommEvent(m_hAdSerial,&dwEvtMask, NULL))

  单帖管理 | 引用 | 回复 回到顶部

返回首页

EM9160 COM3通信问题

用户名:
            验证码: 验证码,看不清楚?请点击刷新验证码
内容: