準備:1.需要一個藍牙從模塊(在某寶上有賣,價格在20~50元之間)
如下圖所示:
9f2f070828381f3041d2d023a3014c086f06f075.jpg (57.09 KB, 下載次數: 93)
下載附件
藍牙從模塊
2018-4-30 14:51 上傳
2. 需要一個“藍牙串口”的安卓應用,可以在安卓手機應用商店里找到
如下圖所示:
Screenshot (2).png (31.05 KB, 下載次數: 77)
下載附件
藍牙app
2018-4-30 14:54 上傳
3:一款單片機(這里用TI公司的msp430g2553做示范),4根杜邦線
開工:
1.連接,藍牙模塊的VCC與GND分別與單片機標注為VCC與GND的針腳對應相連接。其次藍牙的RXD與TXD與單片機的TXD與RXD分別連接(VCC指電源,GND指,單片機的RXD與TXD可能要看單片機的引腳功能才能知道那些引腳是TXD,RXD)
2.燒入代碼,手機藍牙與單片機藍牙模塊HC-06連接,發送消息0或1,即可看到LED燈被點亮(具體細節請自行摸索,嘗試是一種很好的學習方法)
源代碼如下:
- #include <msp430.h>
- int main(void)
- {
- WDTCTL = WDTPW + WDTHOLD; // Stop WDT
- if (CALBC1_1MHZ==0xFF) // If calibration constant erased
- {
- while(1); // do not load, trap CPU!!
- }
- DCOCTL = 0; // Select lowest DCOx and MODx settings
- BCSCTL1 = CALBC1_1MHZ; // Set DCO
- DCOCTL = CALDCO_1MHZ;
- P1SEL = BIT1 + BIT2 ; // P1.1 = RXD, P1.2=TXD
- P1SEL2 = BIT1 + BIT2 ; // P1.1 = RXD, P1.2=TXD
- UCA0CTL1 |= UCSSEL_2; // SMCLK
- UCA0BR0 = 104; // 1MHz 9600
- UCA0BR1 = 0; // 1MHz 9600
- UCA0MCTL = UCBRS0; // Modulation UCBRSx = 1
- UCA0CTL1 &= ~UCSWRST; // **Initialize USCI state machine**
- IE2 |= UCA0RXIE; // Enable USCI_A0 RX interrupt
- __bis_SR_register(LPM0_bits + GIE); // Enter LPM0, interrupts enabled
- }
- // Echo back RXed character, confirm TX buffer is ready first
- #if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
- #pragma vector=USCIAB0RX_VECTOR
- __interrupt void USCI0RX_ISR(void)
- #elif defined(__GNUC__)
- void __attribute__ ((interrupt(USCIAB0RX_VECTOR))) USCI0RX_ISR (void)
- #else
- #error Compiler not supported!
- #endif
- {
- while (!(IFG2&UCA0TXIFG)); // USCI_A0 TX buffer ready?
- if(UCA0RXBUF=='0') // TX -> RXed character
- {
- P1DIR |= BIT0;
- P1OUT ^= BIT0;
- }
- }
復制代碼 |