Cypress公司的东西不错,使用起来很方便,尤其是PSoC Creator,可以自动生成驱动代码,自己只要写逻辑控制的代码就可以了。不过呢,这次试验居然栽在了Cypress官网提供的App上。
App有两个,一个是Android的,一个是ios的。Android的App不论在什么版本上安装直接报错,说是安装包解析错误,好在我还有iPhone的手机,还是装ios的吧。iPhone4安装没问题,但是4的蓝牙硬件不是4.0的,所以App提示不支持,正常。只有从4S开始才是蓝牙4.0的,所以我又在6Plus上安装。安装同样没有问题,能够进入程序,也能够搜索到这个蓝牙套件,但是始终不能连接上,马上就断开,然后报超时,看来ios8.x还是有改动的,鬼知道又改了什么东西。
无奈之下只能翻出5来试一试,结果终于正常了,下面开始用手机控制开发板。
简单起见,工程建立的过程省略掉。之前的那些工程都删掉了,实在抱歉,这次特意保留了工程,在后面附件里,当作参考吧
一个蓝牙组件,这是必须的,远程连接就靠它了。还有三个控制灯的引脚,用它来显示控制状态。
先设置蓝牙的,双击后弹出设置界面
从最简单的开始,Find ME,不用加密之类的东西
按照图上的设置
都选好后保存。
再来设置引脚,这个就简单多了,用程序来控制所以要把HW connection的勾去掉,初始高电平
三个同样的设置,设置好后保存。
分配引脚,P2_6、P3_6、P3_7,红绿蓝三色,哪个脚对应什么颜色我也忘了,能亮就行:-)
设置好后先编译一下,自动生成代码,以便写程序。
开始写逻辑控制的代码,在main.c中。
这里主要有三部分内容,
第一部分是初始化,在main函数中调用相关的函数(参照附件工程中的代码)
第二部分是蓝牙协议栈的回调函数,用于检测连接的断开事件
第三部分是接收App发送的控制指令,数据放在了Flag变量中,Transed变量是标识是否有新数据传输
全部工程完成,再次编译并烧写到开发板中准备测试
打开手机上的CypressBLE App,能够发现开发板,如果没有向下拉动屏幕进行刷新。
点击找到的设备,运行的是Find Me,和蓝牙组件中设置的是一样的
此时蓝牙已经连接上了,可以看到板子上的三色灯全亮。点击Find Me进入
在下拉框中选择不同的指令
每一个指令对应的灯亮起
退出Find Me后,板子检测到连接断开,所有的灯灭掉,试验成功。
工程附件在此
Cypress公司的东西不错,使用起来很方便,尤其是PSoC Creator,可以自动生成驱动代码,自己只要写逻辑控制的代码就可以了。不过呢,这次试验居然栽在了Cypress官网提供的App上。
App有两个,一个是Android的,一个是ios的。Android的App不论在什么版本上安装直接报错,说是安装包解析错误,好在我还有iPhone的手机,还是装ios的吧。iPhone4安装没问题,但是4的蓝牙硬件不是4.0的,所以App提示不支持,正常。只有从4S开始才是蓝牙4.0的,所以我又在6Plus上安装。安装同样没有问题,能够进入程序,也能够搜索到这个蓝牙套件,但是始终不能连接上,马上就断开,然后报超时,看来ios8.x还是有改动的,鬼知道又改了什么东西。
无奈之下只能翻出5来试一试,结果终于正常了,下面开始用手机控制开发板。
简单起见,工程建立的过程省略掉。之前的那些工程都删掉了,实在抱歉,这次特意保留了工程,在后面附件里,当作参考吧
一个蓝牙组件,这是必须的,远程连接就靠它了。还有三个控制灯的引脚,用它来显示控制状态。
先设置蓝牙的,双击后弹出设置界面
从最简单的开始,Find ME,不用加密之类的东西
按照图上的设置
都选好后保存。
再来设置引脚,这个就简单多了,用程序来控制所以要把HW connection的勾去掉,初始高电平
三个同样的设置,设置好后保存。
分配引脚,P2_6、P3_6、P3_7,红绿蓝三色,哪个脚对应什么颜色我也忘了,能亮就行:-)
设置好后先编译一下,自动生成代码,以便写程序。
开始写逻辑控制的代码,在main.c中。
这里主要有三部分内容,
第一部分是初始化,在main函数中调用相关的函数(参照附件工程中的代码)
第二部分是蓝牙协议栈的回调函数,用于检测连接的断开事件
第三部分是接收App发送的控制指令,数据放在了Flag变量中,Transed变量是标识是否有新数据传输
全部工程完成,再次编译并烧写到开发板中准备测试
打开手机上的CypressBLE App,能够发现开发板,如果没有向下拉动屏幕进行刷新。
点击找到的设备,运行的是Find Me,和蓝牙组件中设置的是一样的
此时蓝牙已经连接上了,可以看到板子上的三色灯全亮。点击Find Me进入
在下拉框中选择不同的指令
每一个指令对应的灯亮起
退出Find Me后,板子检测到连接断开,所有的灯灭掉,试验成功。
工程附件在此