十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
需要一个包 comm.jar
成都创新互联公司长期为数千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为普兰企业提供专业的网站制作、成都网站设计,普兰网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。
需要一个配置文件 javax点抗 m.properties (工程根目录)
(或者放在JDK里)
// 取得端口句柄
CommPortIdentifier id = CommPortIdentifier.getPortIdentifier(portName);
port = (SerialPort) id .open("SerialDemo", 30000);
port .setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
port .notifyOnDataAvailable(true);
port .notifyOnBreakInterrupt(true);
port .enableReceiveTimeout(delayTime);
读取之类的自己写就行了,(port .getInputStream()),完事之后别忘了关掉端口,不然下次就不能用了,只能重启系统
配置文件里就一行:
Driver=com.sun点抗 m.Win32Driver
----------------------------------
你设个断点单步调试看一下原因,那个SerialBean是你自己写的,谁也不知道里面整啥了,单步调试就知道哪里错误。
抛出异常了Exception in thread "main" java.lang.NullPointerException
at serial.SerialBean.WritePort(SerialBean.java:114)
从这里看,是在SerialBean.java的114行(函数WritePort)的一个东西,它的值是null,所以报错了
发送就是像流中写入16进制数据,java中用byte[]数组表示,至于数组怎么存放数据要看接受端的要求了,这就要协议来控制,比如数据开头是什么,数据长度,校验位什么的。发数据要看接受端,两端需要统一,不能随便发送。读写数据很简单,关键是处理分析数据,调试最难了,有时候还会遇到数据大小端不一致,数据解析乱码。
Comm.Output=字符串或byte
如果是可见字符,则可以直接输出字符串,如Comm.Output="hello"
不然得用byte(数组),如
Comm.CommPort = 3 '...使用Com3口
Comm.Settings = "57600,n,8,1" '对串口通讯的相关参数。包括串口通讯的比特率,奇偶校验,数据位长度、停止位等。其默认值 是“9600,N,8,1”,表示串口比特率是9600bit/s,不作奇偶校验,8位数据位,1个停止位。
Comm.OutBufferSize = 1024
If Comm.PortOpen = False Then
Comm.PortOpen = True '...打开串口
End If
Comm.OutBufferCount = 0 '...清空输出寄存器
Dim buffer(6) as Byte
buffer(0) = 255
buffer(1) = 1
buffer(2) = 0
buffer(3) = 0
buffer(4) = 0
buffer(5) = 0
buffer(6) = 1
Comm.Output = buffer
Comm.PortOpen = False
上面确实是VB的代码。
在VBS中,没有类型,所以声明数组与初始化可能为:
Dim buffer(6)
buffer(0) = CByte(255)
...
我没试过,不一定正确哟。
串口通信
蓝牙模块HC-05的调试(利用LED灯来检验信号是否能正常传输)
zihasyu
原创
关注
1点赞·1634人阅读
蓝牙模块HC-05的调试(利用LED灯来检验信号是否能正常传输)
by hasyu
我所用到的硬件
BlueTooth HC-05,arduino 2560(uno也行吧) 电脑 手机
硬件的连接
不同步骤不一样,所以丢到后面。
蓝牙模块的不同模式解读
AT模式
首先按住蓝牙模块上的复位键然后再上电,看见蓝牙模块上的LED灯以2s间隔闪烁,就表示进入了AT模式 记住串口助手的波特率设置为38400,停止位1位,数据为8位,奇偶校验无,另外一定要勾上“发送新行”!
当然如果使用arduino 自带的串口调试器,你只需要9600→38400就完了,毕竟其他的都是默认的。
当模块处于命令响应工作模式(或者AT模式)时能才能执行 AT 命令,用户可向模块发送各种 AT指令,为模块设定控制参数或发布控制命令。(AT指令就是我们PC与一些终端设备(例如蓝牙,WiFi模块)之间进行通信的,配置这些终端设备参数的一套指令。)
在别的模块也可能会用到AT指令,虽然各有不同,但都是利用串口进行沟通的一套“预设”指令。相对来说HC05是相对友好的指令了。//UWB dw1000 nodemcu-BU01***没意见吧
链接模式
我们发送AT+RESET之后,当模块LED以0.5s间隔闪烁时表示进入自动连接模式。 在自动连接工作模式下模块又可分为主(Master)、从(Slave)和回环(Loopback)三种工作角色。 当模块处于自动连接工作模式时,将自动根据事先设定的方式连接的数据传输。
本模块需要的是从模式。
流程目录
进入AT模式,蓝牙模块接软串口并在此模式下修改蓝牙配置//未接触过AT模式和串口的话需要细心留意一下每一个步骤的先后顺序。
AT模式跟蓝牙模块交流。
退出AT模式,蓝牙模块连接0 1口(RX→TX,TX→RX),然后把led接到原本蓝牙模块的位置//想换也行,大不了重新声明个位置呗。。
写LED灯的代码,验证上传,手机下载个蓝牙串口调试的app(个人使用的是蓝牙调试器),连接你的蓝牙模块(蓝牙配置的时候改一个好辩认的名字),利用串口控制led。
一.进入AT模式
硬件连接
板子 link 蓝牙模块
软RX,引脚8 TX
软TX,引脚9 RX
3.3V VCC
GND GND
arduino代码
#include SoftwareSerial.h//软串口通信的库
SoftwareSerial BT(8,9);//定义8,9为软串口,相对的0,1是默认的硬串口
void setup()
{
//开启电脑通信串口,因为HC-05的波特率为38400,两者通信保持一致
Serial.begin(38400);//开启蓝牙,设置波特率38400,进入AT模式
BT.begin(38400);
Serial.println("BT is ready!");// Serial.这里是电脑与板子交流的串口,BT.是板子和蓝牙模块的串口
}
char AT_Cmd,AT_Rec;
void loop()
{
//若是电脑发送信息
if(Serial.available()0)
{
//读取信息,并且将信息发送给蓝牙,进行AT设置
AT_Cmd = Serial.read();
BT.print(AT_Cmd);
}
//若是接收到蓝牙返回的信息:一般设置后返回OK
if(BT.available()0)
{
AT_Rec = BT.read();
Serial.print(AT_Rec);
}
}
现实中的动作
1 .电脑接板子,代码上传,然后,,断掉电脑和板子的连接(为了断电)。
2 .长按蓝牙模块的按钮,接电,红灯2s为间隔闪烁,成功进入AT模式。
3 . 打开串口监视器,输入 AT 返回 OK 就算成功。
4 .开始利用电脑上的串口,借由板子作中转站和蓝牙模块进行AT对话。
二.AT模式跟蓝牙模块交流
//换句话说是配置
在arduino串口需要做的事
AT+ORGL # 恢复出厂模式
AT+NAME= **# 设置蓝牙名称 **//eg: AT+NAME=bendan
AT+ROLE=0 **# 设置蓝牙为从模式 **
AT+CMODE=1 # 设置蓝牙为任意设备连接模式
AT+PSWD= # 设置蓝牙匹配密码//eg: AT+PSWD=dabendan
一个一个来,它会回复你OK。
三.退出AT模式
拔掉电脑的USB,好了,断电退出了。
四.写LED灯的代码,验证
第二次硬件连接
板子 link 蓝牙模块
11 LED灯
GND LED灯
3.3V VCC
GND GND
硬RX,引脚0 蓝牙模块TX
硬TX,引脚1 蓝牙模块RX
第二次代码
void setup()
{
Serial.begin(9600);
pinMode(11,OUTPUT);
}
char ch;
void loop() {
if(Serial.available()0)
{
ch = Serial.read();
if(ch=='1')
digitalWrite(11,HIGH); //开启小灯
else
digitalWrite(11,LOW); //关闭小灯
Serial.print(ch);
}
}
手机的蓝牙调试器连接蓝牙模块,输入1开灯,输入非1则关灯。
至此,用led验证了能正常输入输出。
arduino
蓝牙
串口通信
dell笔记本
精选推荐
广告
HC-05蓝牙模块PC端调试软件及指令文件
86下载·1评论
2017年3月26日
蓝牙模块HC05遇到的一些常见的问题
6.1W阅读·46评论·36点赞
2017年7月21日
HC-05蓝牙模块使用教程
7.0W阅读·20评论·141点赞
2018年8月5日
学习 stm32 无线蓝牙模块HC05配置与应用(手机蓝牙连接发送参数)
2980阅读·2评论·7点赞
2022年8月20日
HC05蓝牙模块配对步骤及AT模式设置方法(转载并进行部分修改)
8187阅读·0评论·5点赞
2021年7月13日
蓝牙模块HC-05使用前调试
1478阅读·0评论·0点赞
2021年10月24日
类似拳皇的手游
精选推荐
广告
调试蓝牙串口模块HC-05
4460阅读·0评论·6点赞
2020年3月31日
连接HC-05与HC-06
4838阅读·4评论·7点赞
2018年10月28日
QT应用编程: 编写HC05串口蓝牙调试助手(Android系统APP)
3333阅读·16评论·6点赞
2021年5月25日
HC05与STM32进行串口通讯实现与手机APP的数据透传
4724阅读·3评论·6点赞
2021年2月20日
HC-05蓝牙模块AT指令调试
7057阅读·0评论·4点赞
2018年9月11日
HC05蓝牙模块特点及使用介绍
2.9W阅读·1评论·8点赞
2021年8月23日
解决HC05蓝牙模块主从配对失败及AT模式设置方案
1.3W阅读·4评论·12点赞
2019年7月9日
蓝牙模块HC-05的测试
2937阅读·0评论·2点赞
2017年9月28日
HC-05蓝牙模块的配置和使用方法
1.3W阅读·2评论·9点赞
2019年9月19日
HC-05(ZS-040)蓝牙模块使用详情(蓝牙模块配置、手机蓝牙控制单片机、蓝牙与蓝牙之间的通信)
1.1W阅读·8评论·31点赞
2021年12月27日
HC-05学习笔记
4489阅读·0评论·0点赞
2022年3月24日
java蓝牙串口调试,HC-05蓝牙串口调试
381阅读·0评论·0点赞
2021年4月13日
手把手教你使用--常用模块--HC05蓝牙模块,无线蓝牙串口透传模块,(实例:手机蓝牙控制STM32单片机点亮LED灯)
1.0W阅读·5评论·21点赞
2022年5月13日
HC-05蓝牙调试基本过程
1.5W阅读·14评论·9点赞
2018年9月23日
去首页
看看更多热门内容
评论2
sherryaxx
赞
求源码 谢谢