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:初始化内存控制器,访问存储器,把操作系统内核从存储器读取出来放到内存中, ...
随机推荐
- secureCRT登录不上ubuntu,Connection closed
secureCRT登录不上ubuntu 1.第一个原因是sshd服务没开,或者防火墙没关.装好sshd并打开就好. http://www.cnblogs.com/mylinux/p/5101956.h ...
- java--多线程之Thread继承
多线程,是java的特殊机制.所谓线程就是程序执行的流程.“多线程”就是可以在同一时刻能够执行多个程序块(注意,是程序块,而不是程序),这样一来就可以使得程序的执行速度大大增加. package Te ...
- Jsp的include指令静态导入和动态导入的区别
1.什么是静态导入? 静态导入指的是,将一个外部文件嵌入到当前JSP文件中,同时解析这个页面的JSP语句,它会把目标页面的其他编译指令也包含进来. include的静态导入指令使用语法: <%@ ...
- 基于visual Studio2013解决C语言竞赛题之0806平均分
题目
- ConcurrentModificationException异常解决办法
今天在写一个带缓存功能的访问代理程序时出现了java.util.ConcurrentModificationException异常,因为该异常是非捕获型异常而且很少见,所以费了些时间才找到问题所在,原 ...
- SRAM,SDRAM,网卡
SRAM,SDRAM,网卡有地址总线.由cpu统一编址. NAND flash没有地址总线. 因 此有这两者寻址方式不同. 字符设备驱动程序的框架. 驱动程序 1.有led.read,led.writ ...
- android APP 中微信分享功能实现 的总结
//花了很长时间最终完成了微信分享功能,中间走了很多弯路,在此做一下小结,希望对在应用中使用到微信分享的朋友有所帮助. 主要问题就是下面两个: 1.为什么运行了项目之后,微信分享只是闪了一下就没有了? ...
- Makefile学习(二)[第二版]
复杂实例 #演示样例1:在上一个演示样例的基础上再添加一个可运行文件03test[改动之处已标红] .PHONY: clean all CC = gcc CFLAGS = -Wall -g BIN = ...
- PHP - 数学运算
第4章 数学运算 学习要点: 1.数值数据类型 2.随机数 3.格式化数据 4.数学函数 在大多数程序设计语言中,数值运算都是最基本的元素之一.数值运算允许程序员完成加法到高级计算等各种操作.尽管PH ...
- [置顶] 程序员面试之道(《程序员面试笔试宝典》)之看着别人手拿大把的offer,不淡定了怎么办?
不管是在哪里,不管发生什么事,不要随便放下自己. ——<当男人恋爱时> 很多求职者都会面临一个问题:别人手拿大把大把的offer了,而自己却是两手空空,别人签约之后已经过着“猪狗不如”的悠 ...