99久久全国免费观看_国产一区二区三区四区五区VM_久久www人成免费看片中文_国产高清在线a视频大全_深夜福利www_日韩一级成人av

  • 回復(fù)
  • 收藏
  • 點(diǎn)贊
  • 分享
  • 發(fā)新帖

【原創(chuàng)】基于STM32F401RE單片機(jī)的Android手機(jī)藍(lán)牙控制PWM調(diào)光燈!好長的名字...【正在更新】

    暑假在家,某寶上買了幾個(gè)模塊來玩一玩,其中第一個(gè)用上的就是藍(lán)牙串口模塊。

    對(duì),你沒有看錯(cuò),就是這個(gè)玩意兒:

1

    話說雖然這個(gè)東西僅僅只是把平時(shí)單片機(jī)的有線串口變成了無線的,但我感覺還是很有魔力的,突然感覺提升了一大個(gè)檔次,畢竟它能和我的手機(jī)有了溝通渠道,MM再也不用擔(dān)心我的單片機(jī)孤獨(dú)了!哈哈。。。

    這藍(lán)牙串口模塊剛到手,第一件事----點(diǎn)燈!這是所有單片機(jī)初學(xué)者最愛干的事。

    前段時(shí)間借了一堆關(guān)于Android APP開發(fā)的書,照著寫了個(gè)猜字游戲的程序就再也沒有翻動(dòng)過,要寫個(gè)藍(lán)牙數(shù)據(jù)傳輸?shù)某绦蛭疫€不敢想,于是我到WDJ上下了個(gè)現(xiàn)成的程序,為人民服務(wù)!我也為大家上傳上來吧:

    藍(lán)牙串口助手.zip

    有了她,你就可以用你的Android設(shè)備與藍(lán)牙串口模塊愉快地玩耍了。

*****************************************************************************************************

    貌似冷落了干活最多、最默默無聞的MCU了。

    現(xiàn)在隆重介紹我們最核心的成員----STM32F401RE最小系統(tǒng)板(帶ST-LINK)

 

2

    這塊板子是為了參加ST公司的ARM校園創(chuàng)新比賽申請(qǐng)的,盡管各個(gè)論壇,眾多推手不斷地夸它如何如何地Perfect(最近在惡補(bǔ)英語,這里當(dāng)默寫了,也幫大家復(fù)習(xí)復(fù)習(xí)),但我卻很討厭她的拖泥帶水,考慮得過于周到反而讓我用著很是不方便。

    51直接硬性過渡到ARM讓我到現(xiàn)在還難受著,更何況是直接就到F4,網(wǎng)上資料匱乏,只能就著F1的資料來弄,學(xué)習(xí)很慢。。。

   ********************** 跑題了*********************

    藍(lán)牙串口模塊接到了開發(fā)板的USART1端口,EN端子由于占時(shí)不用用到AT指令,先懸空;STATE端子可以接個(gè)LED到地指示連接狀態(tài),我沒連,就只是用到2個(gè)電源腳,2個(gè)串口數(shù)據(jù)端子。

    連上USB,電源指示燈亮起,硬件電路就算OK了。

  ************************************************************************************************

    硬件講完來軟的:

    藍(lán)牙串口助手工具打開界面是這樣(昨天剛升級(jí),多了幾個(gè)按鍵和功能)

這是未連接狀態(tài):

3

搜索設(shè)備:

3

這是連接到藍(lán)牙串口的狀態(tài):

1

 

 

     現(xiàn)在說下,如何利用這個(gè)APP來實(shí)現(xiàn)開關(guān)一個(gè)LED的簡(jiǎn)單功能的。

    我在這個(gè)APP里設(shè)置了兩個(gè)按鍵,在設(shè)置里我可以設(shè)置任意一個(gè)按鍵的鍵碼,當(dāng)我按下某個(gè)按鍵時(shí),手機(jī)自帶的藍(lán)牙模塊便會(huì)以藍(lán)牙的數(shù)據(jù)通信協(xié)議發(fā)送這個(gè)按鍵定義的鍵碼到已連接的藍(lán)牙設(shè)備上,當(dāng)然這個(gè)鍵碼就由開發(fā)者自己定義了。

    但是還記得紅外遙控實(shí)驗(yàn)里的“引導(dǎo)碼”嗎?我自己給它起了個(gè)名字:同步頭,它是標(biāo)志一幀數(shù)據(jù)的起始點(diǎn),如果沒有這個(gè)東西,我們沒法從一連串接收到的數(shù)據(jù)中提取出控制信號(hào);NEC標(biāo)準(zhǔn)的紅外遙控編碼方式里用了9ms+4.5ms的同步頭來作為一幀數(shù)據(jù)的開始,它與數(shù)據(jù)0和1信號(hào)的區(qū)別特別大,所以抗干擾能力十分的強(qiáng),一般不會(huì)出現(xiàn)誤碼的問題;而本次使用的藍(lán)牙串口模塊是單純的UART數(shù)據(jù)傳輸,不能夠自己定義一個(gè)類似于紅外遙控的同步頭,所以我就直接利用一個(gè)或者幾個(gè)字節(jié)的數(shù)據(jù)來作為同步頭。簡(jiǎn)單舉個(gè)例子,比如我以0xaa作為同步頭,那么我設(shè)置每按下一次“ON”按鍵手機(jī)藍(lán)牙就發(fā)送0xaa 0xa0,按下“OFF”就發(fā)送0xaa 0x0a,那我的數(shù)據(jù)是不是就被0xaa分開,已經(jīng)不是那么亂了,我可以在接收到這些數(shù)據(jù)后通過程序判斷0xaa后的數(shù)據(jù)就是我的操作碼,當(dāng)然如果是這種情況下,0xaa本身就不能作為操作碼來用了,針對(duì)這個(gè)問題,解決很簡(jiǎn)單,我多加幾個(gè)字節(jié)作為同步頭不就OK啦?按下“ON”,我發(fā)送0xa5 0x5a 0xa0,按下“OFF”,我發(fā)送0xa5 0x5a 0x0a不就完美解決了,當(dāng)然也可以多加幾個(gè),以提高抗干擾能力,至于加多少合適,就靠自己測(cè)試了,我覺得加3個(gè)就基本萬無一失了。

    當(dāng)然,有的人還喜歡加“同步尾”,就是在操作碼后加幾個(gè)字節(jié)的數(shù)據(jù),本質(zhì)上和同步頭一樣,看大家的喜好了。

    下面這就是F4的點(diǎn)亮、熄滅一個(gè)LED的整個(gè)工程文件(由于本人是一邊學(xué)習(xí)F4一邊弄這個(gè)東西的,所以程序里有些東西是沒用的,學(xué)習(xí)F4的朋友可以以該工程作為模板來用):

USART1(串口發(fā)送、中斷接收、藍(lán)牙串口控制點(diǎn)亮熄滅LED、TIM2定時(shí)中斷).zip

 

 

 

 

 

 

全部回復(fù)(3)
正序查看
倒序查看
2014-07-29 16:40
沙發(fā)沙發(fā)  !~
0
回復(fù)
2014-07-29 16:40
我是第一個(gè)頂帖子的,等著看更多嘍
0
回復(fù)
2014-11-26 22:26
極好的貼 挺起!
0
回復(fù)
發(fā)
主站蜘蛛池模板: 男女啪啪免费观看网站 | 最近免费日本视频在线 | 午夜福利无码不卡在线观看 | 中国a一片一级一片 | 国外激情av片 | 欧洲成人一区 | 一级毛片免费播放 | 加山夏子av | 91叼嘿| 国产欧美久久一区二区三区 | 极品白嫩粉嫩美女国产 | 日本黄色五级片 | 国产精品无码翘臀在线看 | 午夜精品久久久久久不卡av | 欧美一级高清免费 | 免费人成再在线观看网站 | 中文字幕天天干 | 日本精品一区二区三区视频 | 亚洲欧洲日产国码韩国 | 亚洲精品久久在线 | 久久久久久久久久久美女 | 91精品亚洲 | 羞羞视频网站免费 | 国产草b | 开心久久网 | 免费黄色网址在线观看 | 国语对白嫖老妇胖老太 | 日日噜狠狠噜天天噜AV | 隔壁人妻被水电工征服 | 色av网| 外企女老板被洋老外啪啪 | 精品一二三四五区 | 国产精品久久久久9999爆乳 | 999国产在线 | 免费无码AV一区二区 | 成本人在线观看视频网站 | 国产国产午夜福利视 | 国产爽视频 | 内射少妇一区27P | 69久久| 在线看毛片的网站 |