赞
踩
1.勾选Include C++ support
2.选择Toolchain Default
3.在Android视图下查看项目对应目录中是否存在CMakeList.txt和native-lib.cpp
1.点击鼠标右键–>>Refactor–>>Rename
2.更名为SerialPortControl.cpp
3.将下面SerialPortControl.cpp文件中的代码粘贴到项目cpp文件夹下的SerialPortControl.cpp中
SerialPortControl.cpp
#include <termios.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>
#include <jni.h>
static speed_t getBaudrate(jint baudRate)
{
switch(baudRate)
{
case 0: return B0;
case 50: return B50;
case 75: return B75;
case 110: return B110;
case 134: return B134;
case 150: return B150;
case 200: return B200;
case 300: return B300;
case 600: return B600;
case 1200: return B1200;
case 1800: return B1800;
case 2400: return B2400;
case 4800: return B4800;
case 9600: return B9600;
case 19200: return B19200;
case 38400: return B38400;
case 57600: return B57600;
case 115200: return B115200;
case 230400: return B230400;
case 460800: return B460800;
case 500000: return B500000;
case 576000: return B576000;
case 921600: return B921600;
case 1000000: return B1000000;
case 1152000: return B1152000;
case 1500000: return B1500000;
case 2000000: return B2000000;
case 2500000: return B2500000;
case 3000000: return B3000000;
case 3500000: return B3500000;
case 4000000: return B4000000;
default: return -1;
}
}
JNIEXPORT jobject JNICALL Java_com_SerialPort_open(JNIEnv *env, jclass thiz,jstring path,jint baudRate) {
int fd;
speed_t speed;
jobject mFileDescriptor;
{
speed = getBaudrate(baudRate);
if (speed == -
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。