微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > CC2540藍牙發送

CC2540藍牙發送

时间:10-02 整理:3721RD 点击:

請問如果完全不使用CC2540的硬體和軟體模組,當成單純的單晶片,自己來撰寫程式,要如何將數據透過藍牙發送?是否有相關暫存器、Buffer?(類似Uart的概念)

還是只能用官方已經寫好的程式下去修改?

CC2540可以作为单纯的8051编程也可以作为BLE的芯片编程,

如果您需要BLE协议栈就必须要用TI的协议栈。如果是单纯的8051编程TI也提供例程,但是不带有任何蓝牙协议栈,就是直接对GPIO操作

目前想要做到的是將原用uart發送的數據,改成用無線收發,如果我想做無限的收發,就只能用TI已經寫好的程式模組?

无线的收发您指的是使用BLE?如果是BLE,是否可以理解成串口透传?

单纯使用8051编程也可以使用无线部分的啊 只是就是自定义协议 不是蓝牙协议了

我整理一下我的問題:

問題一 :

     您所說的藍牙協議是指GATT、ATT等各層連接而成的通訊協議吧?也就是假如我想用藍牙功能,只有一個辦法,就是必須用TI已經寫好的所謂藍牙協議的程式模組下去做修改,對吧?

問題二

     如果我想做的只是將原本Uart傳送的東西,改成無線的發送,就像是您說的自定義協議,要如何發送?應該控制那些暫存器?

问题一回答:

是的,这样的话就是CC2540收取UART口过来的数据然后通过蓝牙发送出去 对方通过蓝牙接收

问题二回答:

TI 有提供proprietary的per test的代码。但是这个代码不包含CC2540的,你可以参考CC2541的,以及CC2540的手册来尝试达成你想要的。

  • http://www.ti.com/litv/zip/swrc251b

那這樣我大致了解了,要用藍牙發送或接收,就只能用原來TI已經寫好的協議模組程式下去做修改。

那請問如果用藍牙來做發送跟接收,需要將資料放在哪裡(類似Buffer)?才能透過協議發送出去?

调用GATT和GAP层的接口完成通讯,

参考例程里面的SimpleBLEPeripheral和SimpleBLECentral

BLE是通过characteristic属性来传递数据的

不好意思,還有一個疑問,UUID的定義位址是固定的嗎? 例如: 0x23(Handle)   0x2800(Type)  GATT_PRIMARY_SERVICE_UUID

Handle和 Type是固定的嗎? 還是使用者可依照自己需求作修改?

 

想要自定义UUID可以不用关心handle和type,协议里面要操作某个特征值就要通过handle来操作,在通讯建立起来之后handle就自然得到了

UUID的排列顺序可以自己定义

謝謝您的答覆,大致上了解了,日後有問題還請多多指教!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top