Android进阶-jni串口

前言

我第一次听说串口完全是懵逼状态,脑子没一点概念,于是我就到处百度,但是发现网上的例子都是一些乱七八糟的代码,有代码也基本都不会解释,现在做这个串口开发也有段时间了,现在根据我的理解写了这篇博客。


串口是什么?

串口就是一个可以将我们的android设备和一些驱动设备数据交互的通道,通过串口我们从android设备端发送数据到驱动设备,驱动设备会随之返回一串数据给我们,通常会用usb数据线作为android设备和驱动设备之间的中间件以形成串口,当然我们需要定义好驱动设备看得明白的数据,不然它是不会理你的,就像你对着李四喊王五过来一下,李四根本就不叫王五,你叫人家怎么会理你呢。


串口数据是什么?

串口数据一般是我们提前和驱动设备提前协商好的数据格式,只有发送协商好的数据格式,驱动设备才能看懂并且回应你,这时候你就有感觉好玩了,人居然可以和物品交流,驱动设备只是一件物品,当然不能和他协商,所以我们协商的对象是c程序员,因为驱动开发都是c程序员开发的,我们只要找到那个驱动设备开发的c程序员,并且和他一起定义好一个数据协议,当然,如果c程序员以前提前定义好了,一般他定义好数据格式会写好数据格式参考文档,你就可以直接拿文档,对着文档去定义串口数据了。

比如:我做的项目是关于公司非接读卡器和平板进行非接卡交易的一个项目,如果读者不理解非接也没关系,就是我们常用的芯片银行卡,你只要知道我这里的非接读卡器就是我们前面所说的驱动设备就好了,由于我这里的c程序员已经定义好了数据格式并写好了文档,所以我直接拿到了他的文档,对着他的文档进行定义数据格式


关于串口:

google官网已经有了开源的例子,读者也可以去下载(http://code.google.com/p/android-serialport-api/)

本人也去下载了,但是我发现他的代码封装的还不是很好,因为他只是将打开关闭写在了底层,读取和写入在android操作的,而我下面会把把这些步骤都封装在底层,android只要调用就好了


怎么使用串口?

首先如果你已经有了驱动设备并且通过usb数据线之类的和我们的android设备已经连接好了,那这个时候我们就可以进行我们的jni串口开发了

如果读者还不会jni,可以去学习我的这篇博客,点击进入

使用串口的步骤:

  • 打开串口
  • 写入数据到驱动设备
  • 读取驱动设备返回的数据
  • 关闭串口

首先在jni目录中创建底层的.c文件serialprot.c

1.打开串口
再打开之前我们需要只要我们android设备的串口号和波特率,这个主要是android设备方需要给我们的

得到波特率

/**
 * 得到对应的波特率
 */
static speed_t getBaudrate(jint baudrate) {
	switch (baudrate) {
	case 0:
		return B0;
	case 50:
		return B50;
	case 75:
		ret
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 20
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有头发的猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值