打印

三星4412 串口输出 与 485输出比较

[复制链接]
1016|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
DK_winder|  楼主 | 2015-12-20 22:33 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 DK_winder 于 2015-12-20 22:37 编辑

求指教,通过JNI向串口写数据:
1、直接监测4412串口3,PC串口调试助手(16进制)输出的结果:02  02   01
2、4412串口1接485再接485转232连接到PC用串口调试助手(16进制)输出:E9    (只接收到这一个字节)

相关帖子

沙发
DK_winder|  楼主 | 2015-12-20 22:38 | 只看该作者
                               
                   int[] text = new int[]{2,2,1};//02 02 01                                
                                com3.Write(text,3);//text.length

使用特权

评论回复
板凳
DK_winder|  楼主 | 2015-12-20 22:39 | 只看该作者
JNI调用的.c文件:
JNIEXPORT jintArray JNICALL Java_com_topeet_max485test_serial_Write
  (JNIEnv *env, jobject obj, jintArray buf, jint buflen)
{
        jsize len = buflen;
       
        if(len <= 0)
                return -1;

        jintArray array = (*env)-> NewIntArray(env, len);  

        if(array == NULL){array=NULL;return -1;}

        jint *body = (*env)->GetIntArrayElements(env, buf, 0);

        jint i = 0;
        unsigned char num[len];
       
        for (; i <len; i++)
                num[i] = body[i];
       
        write(fd, num, len);

        array = NULL;

        return 0;       
  }
  

使用特权

评论回复
地板
DK_winder|  楼主 | 2015-12-21 10:19 | 只看该作者
解决了。.so文件不对。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

6

帖子

0

粉丝