Firefly开源社区

FireBLE的双串口程序

93

积分

2

威望

0

贡献

技术小白

Rank: 1

积分
93
发表于 2016-6-2 16:38:32     
帖子将简单说明下QN9021双串口的程序以及简单讲解,有问题的话,欢迎大家随时扔砖抛意见,这部分的资料比较少,大家共同努力专研吧~下面就直接进入主题。
双串口的编程,一目了然,是两个串口异步通信的编程,即QN9021的两个串口可以同时使用,不管是蓝牙连接之前还是蓝牙连接之后,串口1及串口2都可以单独发送和接收指令,至于什么是串口想必大家都知道了。这部分的程序是在蓝牙串口传透项目中实现的,代码已经贴到附录中~PS:因为上传有限制,程序分开上传了,下载后,需要新建一个文件夹FireBLE_DualSerialPort,将下载后的两个压缩包解压到该文件夹编译即可。


关于程序,我建议从main函数下手,如果真要刨根问底的话,那么可在startup.s中搜索程序的奥秘o~
那么简单的说下程序把,main函数进入后,进行一系列的内核和BLE协议的初始化和配置,下来,最为关心的就是硬件的配置,即在SystemInit函数中实现,关于LED,按键,串口等等的初始化,值得留意的地方是串口,经过几次测试发现,该处的配置如果在使用睡眠机制的情况下,则串口在usr_sleep_restore中的配置会生效,可以试下,看改下在SystemInit中的波特率,编译下载后有没有效果~

下面一步非常关键,重点提出的是com_uart_rx_start()这么个函数,经过大量测试,在蓝牙连接之前,尽管开启了串口接收中断,但是,如果在串口回调函数中写入打印函数,那么该打印函数也不会生效,原因是BLE的串口回调将会通过uart_read(。。。)这个函数调用(秘密就在uart_read中),那么串口回调函数才会正确将串口数据长传至TASK_APP层,这部分,已经跟大家说了架构,想必深入串口打印和串口回调中就不难了。

至于双串口,一个搞定后,一个进行同样的配置,就可以了~








FireBLE_DualSerialPort.rar

65.76 KB, 下载次数: 59, 下载积分: 灯泡 -1 , 经验 -1

src.rar

988.6 KB, 下载次数: 56, 下载积分: 灯泡 -1 , 经验 -1

回复

使用道具 举报

399

积分

0

威望

0

贡献

注册会员

Rank: 8Rank: 8

积分
399
QQ
发表于 2016-6-4 09:41:43     
:victory:技术贴,加精加精!!!
没个性,不签名!
回复

使用道具 举报

发表于 2016-6-6 10:49:44     
好贴,已设置精华
暴走的创客!
回复

使用道具 举报

93

积分

2

威望

0

贡献

技术小白

Rank: 1

积分
93
发表于 2016-6-18 14:53:23     
谢谢,后面还会陆续更新
回复

使用道具 举报

4

积分

0

威望

0

贡献

技术小白

Rank: 1

积分
4
发表于 2017-10-11 15:40:23     
大神,想请教您几个问题 qq 323241642
回复

使用道具 举报

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表