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:初始化内存控制器,访问存储器,把操作系统内核从存储器读取出来放到内存中, ...
随机推荐
- C#验证码的另一种操作方法
sb = new StringBuilder(); char c = '0'; string s = ""; for (int i = 0; i < 4; i++) { Ra ...
- SED修改指定行
一个文件:cat aa #如果第三行是5的话将改为8,很明显第三行是5所以 结果改变 [root@remote ~]# sed -e '3s/5/8/' aa [root@remote ~]# #如果 ...
- 严重: Servlet.service() for servlet jsp threw exception java.lang.IllegalStateException: getOutputStream() has already been called
错误: 严重: Servlet.service() for servlet jsp threw exception java.lang.IllegalStateException: getOutput ...
- Cocos2d-x CCTableView实现列表
在ios程序设计中,会大量使用到tableview视图(UITableView),那么在cocos2d-x中,如果需要类似的列表,该如何实现呢?在引擎中参照ios中的UITableView实现了一个叫 ...
- spring利用扫描方式对bean的处理(对任何版本如何获取xml配置信息的处理)
利用扫描的方式将组件注入容器,就也可以不用操作bean来实例化对象了. 下面我做一个例子 我用的spring3.2.2版本的 首先写一个spring.xml. <?xml version=&qu ...
- MSSQL - 备份和还原数据库
SQL语句备份和还原数据库:http://blog.csdn.net/liuhelong/article/details/3335687 1.MSSQL - SqlServer:此数据库处于单用户模式 ...
- VDI转vmdk(VirtualBox与VMware硬盘格式转换)[转]
VirtualBox用了一段时间,感觉没想像中那么的好.虽然设置里可以分配多CPU,但是分配多CPU后经常系统挂掉.整体感觉不够稳定,但它也有好处就是开源免费.但经常挂机总不能一直使用它,索性转到Vm ...
- perl malformed JSON string, neither tag, array, object, number, string or atom, at character offset
[root@wx03 ~]# cat a17.pl use JSON qw/encode_json decode_json/ ; use Encode; my $data = [ { 'name' = ...
- 【Unity技巧】使用单例模式Singleton
这几天想把在实习里碰到的一些好的技巧写在这里,也算是对实习的一个总结.好啦,今天要讲的是在Unity里应用一种非常有名的设计模式——单例模式. 开场白 单例模式的简单介绍请看前面的链接,当然网上还有很 ...
- HDU 1251 统计难题 (字符串-Trie树)
统计难题 Problem Description Ignatius近期遇到一个难题,老师交给他非常多单词(仅仅有小写字母组成,不会有反复的单词出现),如今老师要他统计出以某个字符串为前缀的单词数量(单 ...