KL25开发板利用串口蓝牙与PC通信
KL25开发板芯片本身支持三个串口,uart0,uart1,uart2。其中uart0不太一样,在数据手册里面单独一章介绍;而uart1和uart2则是一样的。
我所使用的串口蓝牙模块是BC04,支持主从两种模式,通过硬件连接来决定是主模式还是从模式,波特率固定为9600。所以,要想与之通信,主机也必须是9600波特率。
这个模块既可以连在PC上,也可以连在开发板上,都可以用。不过它本身是TTL电平,如果要连上PC,需要转成232电压,然后交叉连接接在PC串口上。如果接单片机,则可以直接接在单片机的串口上,当然RXD和TXD也要交叉连接。
我们看一下引脚介绍:
这个介绍有点误导人。该模块的RXD引脚应该接单片机的TXD引脚,交叉连接才对。我这里使用的KL25的串口1连接这个模块。
我的KL25是3.3V供电,接上这个BC04串口蓝牙,设置为从模式。所以只连了3.3V,GND,TXD与RXD四个引脚。这个模块只要一通电,就会有一个LED不停闪烁,意思是等待蓝牙连接。
主机这端,我买了一个USB的蓝牙适配器,很便宜才12块钱。插上去之后,win7自动就能识别,驱动都不需要。win7自带有蓝牙传输软件,但是明显控制能力太差,所以我下载了最强悍的蓝牙工具:IVT Bluesoleil。
我们打开这个软件,然后打开本机的蓝牙,再搜索,就可以搜到单片机上的蓝牙。单片机上的蓝牙只要通电就会开启,不需要你手动打开。默认名称为:YFROBOT。
可以看到,主机蓝牙(中间黄色的圆代表它)支持九种服务。包括虚拟串口,传图片,组网等等。
而单片机的蓝牙只有一种服务。我们右键单击YFROBOT,选择“搜索服务”,会发现它只支持串口。右键单击串口图标,选择连接。两者就会连上,此时蓝牙模块的LED停止闪烁,进入常亮状态。这是在我笔记本上面的情况,实际在我的台式机上却还需要输入口令,默认是1234,才能连接上。台式机上是盗版win7,可见用起来还是不太方便。
配对连接之后,会有一个提示,指示该连接是基于COMM6(我的台式机是COM7),所以COMM6就是这对蓝牙的等效通信接口了,它实际上是PC给他虚拟出的一个接口。我们打开串口调试助手,波特率设为9600,打开串口6,就可以调试蓝牙了,看它是否正常工作。
连接上之后的蓝牙,其实就跟串口毫无二样,所以只需要将其当作串口开发就可以了。下面是KL25单片机的一个测试代码:
int main()
{
char count=0 ;
uart_init(UART1_BASE_PTR, 24000, 9600); //BUS时钟为24KKHZ
while (1)
{
uart_putchar( UART1_BASE_PTR,count); //单片机串口1发送
count++;
Delay1Us(20);
}
return 0;
}
烧进单片机之后,剩下的就是在PC端用串口调试助手打开串口6,就可以接收数据了。
需要注意的是:蓝牙通信模块连接好后,蓝牙模块在单片机上接的是串口1,所以单片机上要对串口1发送数据才对;而主机这边,蓝牙连接被虚拟为串口6,所以串口调试助手应该打开串口6接收数据。
KL25开发板利用串口蓝牙与PC通信的更多相关文章
- 基于Neptune开发板的键盘蓝牙模块DIY指南
目录: 1.下载开发板程序2.安装USB串口(CH340)驱动3.安装烧写工具4.烧写开发板程序 本期我们带来基于润和Neptune开发板(以下简称Neptune开发板)的键盘蓝牙模块DIY指南,利用 ...
- 【STM32 .Net MF开发板学习-05】PC通过Modbus协议远程操控开发板
从2002年就开始接触Modbus协议,以后陆续在PLC.DOS.Windows..Net Micro Framework等系统中使用了该协议,在我以前写的一篇博文中详细记载了这一段经历,有兴趣的朋友 ...
- 迅为-IMX6UL开发板丨双网口丨双CAN总线丨4路USB HOST丨2路串口、6路插座引出,共8路串口丨1路RGB信号丨2路LVDS信号
迅为iMX6UL开发板多路串口开发平台迅为i.MX 6UL开发板基于ARM Cortex-A7内核,主频高达528 MHz,内存:512MDDR3存储:8G EMMC,支持2路CAN,2路百兆以太网, ...
- 虚拟机 开发板 PC机 三者之间不能ping通的各种原因分析
这个问题事实上也相对照较简单.可是非常多网友都给我发消息说 遇到不能ping,每一个人都得回答一次确实显得心有余而力不足.如今我对遇到这几种问题给出最完整的解决方式. (说实话基本上也仅仅要这几种可能 ...
- TPYBoard V102:能跑Python的stm32开发板
近来micropython语言做硬件编程很火,随之而来的就开始带动着支持micropython语言编程的开发板也开始火的发烫,今天小编就来和大家介绍一款很经典的micropython开发板-TPYBo ...
- 恩智浦Freescale Cortex-A9 迅为IMX6开发板平台初体验
iTOP-i.MX6 开发板预装 Android4.4 系统,采用 9.7 寸(或者 7 寸或者 4.3 寸)IPS 屏 幕,至少 5 点以上触控,操作流畅,无论是高清视频.游戏等都会有上佳的表现,实 ...
- 迅为iTOP-4418嵌入式开发板初体验
iTOP-4418开发板预装 Android4.4.4 系统, 支持9.7 寸.7 寸.4.3 寸屏幕. 参数:核心板参数 尺寸 50mm*60mm高度 核心板连接器为1.5mmCPU ARM Cor ...
- 【嵌入式开发】写入开发板Linux系统-模型S3C6410
笔者 : 万境绝尘 转载请著名出处 最终拿到板子了, 嵌入式开发正式开启. 板子型号 : 三星 S3C6410 基于ARM11, 指令集基于arm6指令集; 为毛不是 Cortext A9的板子; 烧 ...
- android操作系统在itop4412开发板上的烧写
ITOP4412启动模式: 1.EMMC启动模式:拨码开关1-3为011 2.SD卡启动模式:拨码开关1-3为100uboot:初始化内存控制器,访问存储器,把操作系统内核从存储器读取出来放到内存中, ...
随机推荐
- libvirt(virsh命令总结)
virsh回车进入交互式界面: version pwd hostname 显示本节点主机名 nodeinfo 显示节点信息 list --all 显示所有云主机 7种状态: running 运行中 ...
- DH11数字温湿度传感器
DH11数字温湿度传感器是一种集温度.湿度一体的复合传感器,它能把温度和湿度物理量通过温.湿度敏感元件和相应电路转化成方便计算机.PLC.智能仪表等数据采集设备直接读取的数字量.DHT11由电阻式感湿 ...
- BZOJ 3196: Tyvj 1730 二逼平衡树( 树套树 )
这道题做法应该很多吧.... 我用了线段树套treap.... -------------------------------------------------------------------- ...
- python 函数形参四种格式
1:f(a,b) 2:f(a,b=value)有默认值的参数必须在后面 3:f(*a)多个参数直接传进一个元组 4:f(**a)以keys=values 形式给参数,传入转换为字典 def test( ...
- 给VS自动添加注释
找到类文件所在路径:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ItemTemplatesCache\CSharp\ ...
- 在CentOS下源码安装 Xen并搭建Windows虚拟机
前言 首先要感谢xing的帮助,在他的指导之下才完成环境的搭建,本文档的部分内容来自他的文档.另外,还要感谢——互联网. 1. 环境介绍 Linux: CentOS 6.3 Xen: Xe ...
- android 逆向project smail 语法学习
众所周知,android 是开源的.如今市场上反编译别人的劳动果实的人也不少.所以我们也是有必要学习下smail语言,(就是androidproject反编译后出的语法语音),看看改怎么给我们的代码 ...
- NEC协议
注意: 用示波器在接收头抓的电平看起来和NEC协议刚好相反, 那是因为:HS0038B 这个红外一体化接收头,当收到有载波的信号的时候,会输出一个低电平,空闲的时候会输出高电平. 具体情况,具体分析. ...
- 图解单片机8位PWM、16位PWM中“位”的含义!
今天 发现很多同学 搞不懂单片机的pwm中的位表示什么意思,如很多同学会问“8位pwm.16位pwm是什么意思啊,它们有什么区别啊,其中的‘位’表示什么意思啊”.对于这些问题,今天就给大家解释下,由于 ...
- 从svn下载项目后build path为灰色
今天从svn上下载项目后,想加入下面jar包.可是build path为灰色. 解决的方法是:1.在项目上右键properties---project facts 如图所看到的: 点击右側conver ...