主题 : mini2440 串口只能接收上位机数据,不能发送数据 复制链接 | 浏览器收藏 | 打印
不在战斗中坚强起来,就在懦弱中死亡!
级别: 新手上路
UID: 14142
精华: 0
发帖: 22
金钱: 110 两
威望: 22 点
综合积分: 44 分
注册时间: 2010-02-03
最后登录: 2011-06-17
楼主  发表于: 2010-06-13 23:02

 mini2440 串口只能接收上位机数据,不能发送数据

用C#写了一个在WinCE中接收和发送数据的程序,但是奇怪的是,下位机只能接收数据,上位机却接收不到下位机发出的数据!
不知道是程序有问题,还是板有问题!
使用板上的COM1直连PC机的COM1。

串口的设置:
SerialPort Sp = new SerialPort();

Sp.PortName = cmID.Text.Trim();
Sp.BaudRate = Convert.ToInt32(cmRate.Text.Trim());
Sp.Parity = Parity.None;
Sp.StopBits = StopBits.One;

发送信息:
byte[] data = Encoding.Unicode.GetBytes(text);
string str = Convert.ToBase64String(data);
Sp.WriteLine(str);

接收信息:
byte[] data = Convert.FromBase64String(Sp.ReadLine());
string strTemp = Encoding.Unicode.GetString(data,0,data.Length);

请各位大虾指教!

我在网上查找过一些资料,说是BSP的问题!
我也不知道该怎么解决!
不在战斗中坚强起来,就在懦弱中死亡!
级别: 新手上路
UID: 22869
精华: 0
发帖: 2
金钱: 10 两
威望: 2 点
综合积分: 4 分
注册时间: 2010-06-08
最后登录: 2010-06-24
1楼  发表于: 2010-06-24 14:12
是你串口线的问题,使用交叉线试试看
级别: 新手上路
UID: 26524
精华: 0
发帖: 7
金钱: 35 两
威望: 7 点
综合积分: 14 分
注册时间: 2010-08-10
最后登录: 2014-09-25
2楼  发表于: 2010-10-15 15:37
我也遇到此问题,怀疑BSP有问题
级别: 骑士
UID: 14419
精华: 1
发帖: 183
金钱: 995 两
威望: 199 点
综合积分: 386 分
注册时间: 2010-02-08
最后登录: 2014-04-13
3楼  发表于: 2011-01-01 23:30
只要能发送信息就证明串口线基本没用错,建议你打开Serial Port类的DataReceived事件,并在里头设置一个断点,看看能不能进入DataReceived事件。
级别: 新手上路
UID: 38062
精华: 0
发帖: 8
金钱: 40 两
威望: 8 点
综合积分: 16 分
注册时间: 2011-02-21
最后登录: 2011-07-03
4楼  发表于: 2011-02-21 18:59
发送的时候转成byte处理试试.
不在战斗中坚强起来,就在懦弱中死亡!
级别: 新手上路
UID: 14142
精华: 0
发帖: 22
金钱: 110 两
威望: 22 点
综合积分: 44 分
注册时间: 2010-02-03
最后登录: 2011-06-17
5楼  发表于: 2011-03-23 16:36
Sp.StopBits = StopBits.One;
改为:
Sp.StopBits = StopBits.Two;
即好!
不在战斗中坚强起来,就在懦弱中死亡!