20606|40

23

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

MSP430F5529和蓝牙模块实现的无线通信程序 [复制链接]

 
请问哪位大神有MSP430F5529和蓝牙模块实现的无线通信程序,有的话给参考下,多谢啦!!!!

最新回复

新手小白求教程,源码  留个邮箱:1483693261@qq.com   详情 回复 发表于 2020-9-21 10:06
 
点赞 关注

回复
举报

2

帖子

0

TA的资源

一粒金砂(初级)

推荐
 
信驰达蓝牙4.0透传模块  有兴趣的话 我这边有资料 提供邮箱就OK

点评

有基于430单片机的蓝牙模块的程序吗?发给我一份可以吗,非常感谢,  详情 回复 发表于 2014-7-22 15:15
 
 

回复

23

帖子

0

TA的资源

一粒金砂(中级)

推荐
 
小右派 发表于 2014-1-8 23:09
你先看一下模块的协议

恩,好的!
 
 
 

回复

139

帖子

0

TA的资源

一粒金砂(高级)

推荐
 
如果你需要的话,就给我留言,我教你,保准你学会。

点评

Sur
好啊,出个教程呗,我也想学习下  详情 回复 发表于 2014-1-7 17:19
 
 
 

回复

2781

帖子

417

TA的资源

五彩晶圆(中级)

5
 
UART通信?

点评

恩恩,是啊!  详情 回复 发表于 2014-1-6 19:58
 
个人签名
 
 

回复

23

帖子

0

TA的资源

一粒金砂(中级)

6
 

恩恩,是啊!

点评

那只要配置下寄存器就行了呀  详情 回复 发表于 2014-1-6 20:44
 
 
 

回复

2781

帖子

417

TA的资源

五彩晶圆(中级)

7
 

那只要配置下寄存器就行了呀

点评

啊,不是相当于做串口通信吗?还要配置寄存器?  详情 回复 发表于 2014-1-7 16:44
 
个人签名
 
 

回复

139

帖子

0

TA的资源

一粒金砂(高级)

8
 
我恰好有相应的程序,我用的是深圳信驰达的蓝牙4.0模块,接口非常简单。

点评

真的啊,那太棒了,麻烦给点指导,多谢啦!!!  详情 回复 发表于 2014-1-7 16:45
 
 
 

回复

23

帖子

0

TA的资源

一粒金砂(中级)

9
 
qinkaiabc 发表于 2014-1-6 20:44
那只要配置下寄存器就行了呀

啊,不是相当于做串口通信吗?还要配置寄存器?
 
 
 

回复

23

帖子

0

TA的资源

一粒金砂(中级)

10
 
小右派 发表于 2014-1-6 21:06
我恰好有相应的程序,我用的是深圳信驰达的蓝牙4.0模块,接口非常简单。

真的啊,那太棒了,麻烦给点指导,多谢啦!!!

点评

明天早上回复  详情 回复 发表于 2014-1-7 23:13
 
 
 

回复

1531

帖子

49

TA的资源

五彩晶圆(中级)

11
 
小右派 发表于 2014-1-6 21:07
如果你需要的话,就给我留言,我教你,保准你学会。

好啊,出个教程呗,我也想学习下

点评

你看看模块协议,以及我附录的程序,我用的cpu是4619  详情 回复 发表于 2014-1-9 12:32
 
个人签名NXP新年新气象大家一起嗨起来 + 恩智浦KW41Z有奖创意征集令高能来袭 +https://www.eeworld.com.cn/huodong/201611_NXPKW41ZActivity1/index.html
 
 

回复

139

帖子

0

TA的资源

一粒金砂(高级)

12
 
六度分离xia 发表于 2014-1-7 16:45
真的啊,那太棒了,麻烦给点指导,多谢啦!!!

明天早上回复

点评

您好,能把MSP430F5529和蓝牙模块实现的无线通信程序 发给我一份吗,我刚接触蓝牙模块,不是很明白,希望能得到你的程序参考一下,非常感谢您,邮箱  详情 回复 发表于 2014-7-22 15:13
恩恩,如果方便的话,程序能不能发给我参考下,我的邮箱。多谢!  详情 回复 发表于 2014-1-8 10:42
 
 
 

回复

23

帖子

0

TA的资源

一粒金砂(中级)

13
 

恩恩,如果方便的话,程序能不能发给我参考下,我的邮箱2281943003@qq.com。多谢!

点评

你先看一下模块的协议  详情 回复 发表于 2014-1-8 23:09
 
 
 

回复

139

帖子

0

TA的资源

一粒金砂(高级)

14
 
先发一下这个模块的资料

20131227090541375310信驰达低功耗蓝牙(BLE)模块及协议 v2.2u 20131227.pdf

3.34 MB, 下载次数: 610

点评

谢谢,分享  详情 回复 发表于 2019-7-9 10:06
 
 
 

回复

139

帖子

0

TA的资源

一粒金砂(高级)

15
 
具体程序我又没有带U盘,程序在办公室电脑上。
 
 
 

回复

139

帖子

0

TA的资源

一粒金砂(高级)

16
 
六度分离xia 发表于 2014-1-8 10:42
恩恩,如果方便的话,程序能不能发给我参考下,我的邮箱。多谢!

你先看一下模块的协议

点评

恩,好的!  详情 回复 发表于 2014-1-9 10:42
 
 
 

回复

139

帖子

0

TA的资源

一粒金砂(高级)

17
 
#include "msp430xG46x.h"
char Bluetooth_data[100];
char Count_Data=0;
char Ble_data=0;
//************************************
#define En_0     P4OUT &=~BIT2;
#define En_1     P4OUT |= BIT2;
#define BRTS_0   P3OUT &=~BIT0;
#define BRTS_1   P3OUT |= BIT0;
#define BCTS_IN  P3IN&BIT7;
//#define BCTS_1   P3OUT |= BIT7;//没有意义了,因为BCTS脚是接收模块的信号,是输入状态

//************************宏定义************************************************
char *LCD=LCDMEM;   //LCDMEM为LCD寄存器的起始地址0x0091h
//定义每段对应的值

#define SEG_a       0x01      
#define SEG_b       0x02
#define SEG_d       0x04
#define SEG_g       0x08
#define SEG_c       0x10
#define SEG_f       0x20
#define SEG_h       0x40
#define SEG_e       0x80

//定义每个字符对应点亮的段

#define CHAR_ALL    (SEG_a|SEG_b|SEG_c|SEG_d|SEG_e|SEG_f|SEG_g|SEG_h)  
#define CHAR_SPACE          0
#define CHAR_MINUS          (SEG_g)
#define CHAR_0              (SEG_a|SEG_b|SEG_c|SEG_d|SEG_e|SEG_f)
#define CHAR_1              (SEG_b|SEG_c)
#define CHAR_2              (SEG_a|SEG_b|SEG_d|SEG_e|SEG_g)
#define CHAR_3              (SEG_a|SEG_b|SEG_c|SEG_d|SEG_g)
#define CHAR_4              (SEG_b|SEG_c|SEG_f|SEG_g)
#define CHAR_5              (SEG_a|SEG_c|SEG_d|SEG_f|SEG_g)
#define CHAR_6              (SEG_a|SEG_c|SEG_d|SEG_e|SEG_f|SEG_g)
#define CHAR_7              (SEG_a|SEG_b|SEG_c)
#define CHAR_8              (SEG_a|SEG_b|SEG_c|SEG_d|SEG_e|SEG_f|SEG_g)
#define CHAR_9              (SEG_a|SEG_b|SEG_c|SEG_d|SEG_f|SEG_g)
#define CHAR_E              (SEG_a|SEG_d|SEG_e|SEG_f|SEG_g)
#define CHAR_R              (SEG_e|SEG_g)
#define CHAR_B              (SEG_c|SEG_d|SEG_e|SEG_f|SEG_g)
#define CHAR_A              (SEG_b|SEG_c|SEG_e|SEG_f|SEG_a|SEG_g)
#define CHAR_T              (SEG_d|SEG_e|SEG_f|SEG_g)
#define CHAR_F              (SEG_e|SEG_f|SEG_a|SEG_g)
#define CHAR_L              (SEG_d|SEG_e|SEG_f)
#define CHAR_H              (SEG_b|SEG_c|SEG_e|SEG_f|SEG_g)

const char digit[20] =
{
  CHAR_0,  // "0"  
  CHAR_1,  // "1"
  CHAR_2,  // "2"
  CHAR_3,  // "3"
  CHAR_4,  // "4"
  CHAR_5,  // "5"
  CHAR_6,  // "6"
  CHAR_7,  // "7"
  CHAR_8,  // "8"
  CHAR_9,  // "9"
  CHAR_E,  // "10"
  CHAR_R,  // "11"
  CHAR_B,  // "12"
  CHAR_A,  // "13"
  CHAR_T,  // "14"
  CHAR_F,  // "15"
  CHAR_L,  // "16"
  CHAR_H,  // "17"
  CHAR_ALL, //"18"
  CHAR_SPACE, //"19"
};

void Init_LCD()
{
    unsigned int i;
   //设置LCD
    FLL_CTL0 |=XCAP14PF;      //设置装载电容
    for(i=0;i<10000;i++);     //设置延时
   //LCD清零                                         
    for (i = 0;  i < 20;  i++)
    LCDMEM[i] = 0;                                   //LCD Memory分为20行8列的数组
    P5SEL |=(BIT2|BIT3|BIT4);                        //P5端口与4619相连
    P5DIR |=(BIT2|BIT3|BIT4);   
    LCDACTL = LCDFREQ_128 | LCD4MUX | LCDSON | LCDON;                       //设置LCD_A Control Register
    LCDAPCTL0 = LCDS0 | LCDS4 | LCDS8 | LCDS12 | LCDS16 | LCDS20 | LCDS24;  //设置LCD_A Port Control Register 0
    LCDAPCTL1 = 0;                                   //设置LCD_A Port Control Register 1(即设置最左边的两个显示的字符0)
}
//LCD显示
void Display(int data1)
{
    unsigned x1,x2,x3,x4;
      x1=data1%10;       //个位
      x1=x1/1;
      x2=data1%100;      //十位
      x2=x2/10;
      x3=data1%1000;     //百位
      x3=x3/100;
      x4=data1%10000;    //千位
      x4=x4/1000;
      LCDMEM[2] = digit[x1];
      
     
}
void Init_SystemClock()
{
  SCFQCTL |=BIT0+BIT1+BIT2+BIT3+BIT4;//即时钟模块功能打开,DCO主频为DCOPLUS=0: fDCOCLK = (N + 1) . fcrystal,这里N为默认
  //SCFI0 =默认全为0
  //SCFI1 =默认全为0
  //FLL_CTL0 |=按默认的来处理,后面的初始化LCD和BasicTimer都对这里的匹配电容做了修改。
  FLL_CTL1 |= XT2OFF;   //SMCLK is on,XT2 is off it is not used for MCLK or SMCLK,select DCO as MCLK source,select DCO as SMCLK source,ACLK 不频率
}
//******************************************************************************
//*****************************BLE程序段****************************************
//******************************************************************************
void Init_BLE()
{
  
  P4DIR |=BIT2;//4.2IO口连接En端,En端置低,模块开始广播,置高,模块休眠  
  P4SEL &=~BIT2;
  P3DIR |=BIT0;//3.0IO口连接BRTS端口
  P3SEL &=~BIT0;
  P3DIR &=~BIT7;//3.7IO口连接BCTS端口,
  BRTS_1;
}
void Init_Usci_A0()     //异步串口通信UART模块初始化
{
  //UCA0CTL0 |= UCPEN;    // 8 位字符,奇校验
  UCA0CTL1 &= ~UCSWRST; // 进入操作模式
  UCA0CTL1 |= UCSSEL1 ; // 时钟源为SMCLK,1M
  UCA0BR0 =0x6D;        // 设置拨特率为1M/109=9600
  UCA0BR1 =0x00;
  UCA0MCTL = UCBRF_2;   // 小数部分调整
  P2SEL |= BIT4+BIT5;   // P2.4,P2.5 用作USART0 TXD/RXD
  IE2  |= UCA0RXIE;     // 使能USART0接收中断
}
void Ble_AT(char *data,char len)
{
  En_0;
  BRTS_0;
  __delay_cycles(10485/5);   
  for(char i=0;i   {
    UCA0TXBUF=*(data++);   
    while ((IFG2 & UCA0TXIFG)==0);
  }
  __delay_cycles(10485/2);
  BRTS_1;
}
void Ble_Data(char *data,char len)
{
  En_0;
  BRTS_0;
  __delay_cycles(10485/5);   
  for(char i=0;i   {
    UCA0TXBUF=*(data++);   
    while ((IFG2 & UCA0TXIFG)==0);
  }
  __delay_cycles(10485/2);
  BRTS_1;
}
//******************************************************************************
//*****************************以上为BLE程序段**********************************
//******************************************************************************
void main()
{
  WDTCTL=WDTPW+WDTHOLD;
  Init_SystemClock();
  Init_LCD();
  Init_BLE();
  Init_Usci_A0();  
  _EINT(); // 使能中断
  Ble_AT("TTM:MAC-?",10);
  
  __delay_cycles(1048576);
  Ble_AT("TTM:TPL-(+4)",13);
  __delay_cycles(1048576);
  while(1)
  {     
    Ble_Data("hedongsheng",12);   
    Ble_data=Bluetooth_data[Count_Data-1];
    Display(Ble_data);
    __delay_cycles(1048576);
  }
}
#pragma vector=USCIAB0RX_VECTOR
__interrupt void usart0_recieve()
{  
    if(Count_Data>99)
    {
      Count_Data=0;
    }
    Bluetooth_data[Count_Data++]= UCA0RXBUF;  //接收到的数据
    while ((IFG2 & UCA0RXIFG)); //判断是否recieve完毕
    IFG2 &= ~UCA0RXIFG;  
}
 
 
 

回复

139

帖子

0

TA的资源

一粒金砂(高级)

18
 
Sur 发表于 2014-1-7 17:19
好啊,出个教程呗,我也想学习下

你看看模块协议,以及我附录的程序,我用的cpu是4619

点评

Sur
好的,我先来看看,cpu不一样没事,咱可以移植嘛,哈哈  详情 回复 发表于 2014-1-9 12:33
 
 
 

回复

1531

帖子

49

TA的资源

五彩晶圆(中级)

19
 
小右派 发表于 2014-1-9 12:32
你看看模块协议,以及我附录的程序,我用的cpu是4619

好的,我先来看看,cpu不一样没事,咱可以移植嘛,哈哈

点评

版主没有信驰达的这两个模块,试验也没有效果。我下午上图。  详情 回复 发表于 2014-1-9 12:42
 
个人签名NXP新年新气象大家一起嗨起来 + 恩智浦KW41Z有奖创意征集令高能来袭 +https://www.eeworld.com.cn/huodong/201611_NXPKW41ZActivity1/index.html
 
 

回复

139

帖子

0

TA的资源

一粒金砂(高级)

20
 
要测试这个模块,还必须配备该欧公司的另外一个主模块,主模块的程序不需要修改,只需要把UART接到串口转232口,连接到电脑的串口上,用串口调试工具去收发数据。

点评

主模块程序呢?  详情 回复 发表于 2014-7-22 22:28
 
 
 

回复

139

帖子

0

TA的资源

一粒金砂(高级)

21
 
Sur 发表于 2014-1-9 12:33
好的,我先来看看,cpu不一样没事,咱可以移植嘛,哈哈

版主没有信驰达的这两个模块,试验也没有效果。我下午上图。

点评

Sur
恩恩,等我发工资了,我就去买,没钱的孩子伤不起,唉,  详情 回复 发表于 2014-1-9 12:45
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表