TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2540藍牙發送

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

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

Barbara Wu:

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

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

Wade Wade1:

回复 Barbara Wu:

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

Barbara Wu:

回复 Wade Wade1:

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

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

Wade Wade1:

回复 Barbara Wu:

我整理一下我的問題:

問題一 :

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

問題二

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

Barbara Wu:

回复 Wade Wade1:

问题一回答:

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

问题二回答:

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

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

Wade Wade1:

回复 Barbara Wu:

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

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

Barbara Wu:

回复 Wade Wade1:

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

参考例程里面的SimpleBLEPeripheral和SimpleBLECentral

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

Wade Wade1:

回复 Barbara Wu:

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

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

 

Wade Wade1:

回复 Barbara Wu:

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

赞(0)
未经允许不得转载:TI中文支持网 » CC2540藍牙發送
分享到: 更多 (0)