• «
  • 1
  • 2
  • 3
  • »
  • Pages: 1/3     Go
主题 : android串口程序ARM11 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 56709
精华: 0
发帖: 21
金钱: 105 两
威望: 21 点
综合积分: 42 分
注册时间: 2011-10-12
最后登录: 2014-08-14
楼主  发表于: 2012-05-09 20:51

 android串口程序ARM11

大家好,我现在根据友善给的SO库写了个android串口读写程序,为什么可以向PC发送数据,不能从PC向开发板发送呢(开发板有时候会接受到,但数据几乎是断断续续的),我不知道错在哪呢,有人说要改init.rc,但是在最后一样加一行chmod 777 serialport0重启开发板没啥效果啊,希望这个帖子大家看看一起解决了,我把代码贴上来
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.method.ScrollingMovementMethod;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import com.friendlyarm.AndroidSDK.HardwareControler;

public class AnSerialPortActivity extends Activity {
    private Button send;
    private Button clear;
    EditText sendEditText;
    TextView readTextView;
    private int fd;
    byte[] buf= new byte[300];
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        readTextView=(TextView)findViewById(R.id.text);
        sendEditText=(EditText)findViewById(R.id.editText);
        send=(Button)findViewById(R.id.send);
        clear=(Button)findViewById(R.id.clear);
        fd = HardwareControler.openSerialPort("/dev/s3c2410_serial2",9600, 8, 1);//打开串口
        if (fd != -1) {
            Toast.makeText(this, "success", 2000).show();
        } else {
            Toast.makeText(this, "wrong", 2000).show();
        }  
        readTextView.setMovementMethod(ScrollingMovementMethod.getInstance());
        new readThread().start();
        
        send.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                HardwareControler.write(fd, sendEditText.getText().toString().getBytes());
            }
        });
        clear.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
               sendEditText.setText("");    
            }
        });    
        }
        Handler handler = new Handler() {
        public void handleMessage(Message msg) {
                switch (msg.arg1) {
                case 0:
                    int len = HardwareControler.read(fd, buf, 30);    
                    String string = new String(buf, 0, len);
                    //readTextView.setText(string.toCharArray(),0,len);                        
                    readTextView.append(string+"/n");                                      
                    new readThread().start();//处理完消息后立即开启监听线程
                    break;
                case 1:
                    HardwareControler.setLedState(1, 0);
                    new readThread().start();
                    break;
                default:
                    break;
                }
            }
        };
        class readThread extends Thread//读取串口信息线程
        {        
            public void run()
            {
                Message msg = new Message();
              
                if (HardwareControler.select(fd,5,0)==1) {            
                    msg.arg1 = 0;      
                    HardwareControler.setLedState(0, 1);
                }
                else {
                    msg.arg1 =1;
                    HardwareControler.setLedState(1, 1);
                }
                handler.sendMessage(msg);
                }
        }
            
    
}
级别: 新手上路
UID: 56709
精华: 0
发帖: 21
金钱: 105 两
威望: 21 点
综合积分: 42 分
注册时间: 2011-10-12
最后登录: 2014-08-14
1楼  发表于: 2012-05-09 20:54
发送接收很不稳定啊
级别: 新手上路
UID: 56709
精华: 0
发帖: 21
金钱: 105 两
威望: 21 点
综合积分: 42 分
注册时间: 2011-10-12
最后登录: 2014-08-14
2楼  发表于: 2012-05-09 21:58
已解决,哈哈哈哈
级别: 新手上路
UID: 69594
精华: 0
发帖: 16
金钱: 80 两
威望: 16 点
综合积分: 32 分
注册时间: 2012-05-08
最后登录: 2017-09-13
3楼  发表于: 2012-05-10 23:23
解决了就把自己怎么解决的写出来呗~~以后有人也遇到同样的问题可以参考~~
级别: 新手上路
UID: 69594
精华: 0
发帖: 16
金钱: 80 两
威望: 16 点
综合积分: 32 分
注册时间: 2012-05-08
最后登录: 2017-09-13
4楼  发表于: 2012-05-10 23:24

 回 2楼(涛声依旧1986) 的帖子

求方案 解决了就把自己怎么解决的写出来呗~~以后有人也遇到同样的问题可以参考~~
级别: 新手上路
UID: 69594
精华: 0
发帖: 16
金钱: 80 两
威望: 16 点
综合积分: 32 分
注册时间: 2012-05-08
最后登录: 2017-09-13
5楼  发表于: 2012-05-11 07:39
涛声依旧,可以帮忙告知是怎么解决的嗎?
级别: 新手上路
UID: 69594
精华: 0
发帖: 16
金钱: 80 两
威望: 16 点
综合积分: 32 分
注册时间: 2012-05-08
最后登录: 2017-09-13
6楼  发表于: 2012-05-11 20:16
求解中.....
级别: 新手上路
UID: 69594
精华: 0
发帖: 16
金钱: 80 两
威望: 16 点
综合积分: 32 分
注册时间: 2012-05-08
最后登录: 2017-09-13
7楼  发表于: 2012-05-11 21:32
求解啊求解,求解啊求解
级别: 新手上路
UID: 69594
精华: 0
发帖: 16
金钱: 80 两
威望: 16 点
综合积分: 32 分
注册时间: 2012-05-08
最后登录: 2017-09-13
8楼  发表于: 2012-05-12 11:18
涛声依旧快现身....
级别: 新手上路
UID: 69594
精华: 0
发帖: 16
金钱: 80 两
威望: 16 点
综合积分: 32 分
注册时间: 2012-05-08
最后登录: 2017-09-13
9楼  发表于: 2012-05-12 15:39
涛声依旧还不在啊? 斑竹可否帮上忙?
  • «
  • 1
  • 2
  • 3
  • »
  • Pages: 1/3     Go