10975|22

131

帖子

2

TA的资源

一粒金砂(中级)

楼主
 

STM32 Nucleo与其蓝牙扩展板X-Nucleo-IDB04A1进程 [复制链接]

 
其实前几天便收到了电子工程世界邮寄过来的板卡,只是当是项止催得急便没有进行开发,今天把漂亮的蓝牙扩展板与Nucleo板组合在了一起开始研究。
根据板卡包装上的网址,我到ST网站上下载了很多资料,包括板卡简介,原理图,BOM表,生产加工文件,还有固件库存,用户手册,应用笔记等,应该说ST为板卡准备的资料相当得充足。
从扩展板的简介开始看,发现这个扩展板通过SPI接口(可以通过更改扩展板上的电阻更改默认SPI接口以及时钟,选通,中断引脚)与主控MCU相连接,兼容Arduino UNO R3的接口布局,当然也支持STM32 Nucleo板卡。下面先看一下组合后的样纸吧:
从上面的图中我们可以看到板卡上有一个高速16MHz的晶振,一个用于存储板卡参数的EEPROM还有预留焊接外接天线座子的地方,还有板载的PCB天线。当然要进行开发还得知道其引脚接口的分布(其实例程可以直接使用有木有,从例程也可以看粗来)
看完了简介和用户手册后推荐先看应用手册,然后一步一步开始开发。这里先不作进一步说明了,我也要去学习了,有结果再给大家汇报。
在官方下载的固件包里,我找到了一个蓝牙服务设备的例程,通过编译下载后,用手机蓝牙就可以配对了,只是在还没有创建服务,不能连接蓝牙串口之类的东西,我想这个模块的话我们一般最主要就是用于数据传输服务吧,继续努力,下载给个工程载图,里面有工程的名称,大家可以将固件包解压后在里面找到这个工程(使用工程时注意,工程的全路径长度不要太长了,否则有些.h啊.c文件有可能会找不到,导致编译环境报错)。


此帖出自stm32/stm8论坛

最新回复

解决了。。  详情 回复 发表于 2016-6-15 10:37
点赞 关注(2)
个人签名每个人心中都一片待开发的天空!
 

回复
举报

131

帖子

2

TA的资源

一粒金砂(中级)

推荐
 
唉,看完了应用手册,而且还结合了程序才只会修改蓝牙名称而已,唉,怎么建立蓝牙串口功能还得继续看文档:

再分享几个文档吧,是蓝牙芯片相关的了:
BlueNRG Bluetooth LE stack application command interface (ACI) --DM00114498.pdf (1.13 MB, 下载次数: 81)
BLUENRG78A2U-DataSheet--DM00092683.pdf (1016.62 KB, 下载次数: 51)
Bringing up the BlueNRG --DM00116738.pdf (1.55 MB, 下载次数: 47)
ST_offering_in_wearable_analog_mixed_signal_v2.pdf (1.47 MB, 下载次数: 45)
Using the BlueNRG transceiver under ARIB STD-T66 in the 2400 – 2483.5 MHz band .pdf (1.52 MB, 下载次数: 49)
BLUENRG78A2U--disclaimer_errata.pdf (27.69 KB, 下载次数: 36)


此帖出自stm32/stm8论坛
 
个人签名每个人心中都一片待开发的天空!
 

回复

131

帖子

2

TA的资源

一粒金砂(中级)

沙发
 
本帖最后由 Veiko 于 2014-11-21 13:34 编辑

二楼给大家分享资料,由于固件库太大了(超过了15MHz),所以就请大家在官网上去Down吧(想了想,后面给大家分卷压缩在三楼了),下面是其他相关的资源:

1. 原理图+BOM表+加工生产文件   硬件电路(原理图 BOM表 生产加工文件).rar (447.94 KB, 下载次数: 78)
2. 应用笔记 Application note--X-NUCLEO-IDB04A1 Bluetooth low energy expansion board based on.pdf (1.81 MB, 下载次数: 142)
3. 用户手册 User manual--X-NUCLEO-IDB04A1 Bluetooth low energy expansion board based on Blue.pdf (589.81 KB, 下载次数: 93)
4. 板卡简介 X-NUCLEO-IDB04A1--DM00114523【已阅】.pdf (247.2 KB, 下载次数: 91)
5. 板卡图片
此帖出自stm32/stm8论坛

赞赏

1

查看全部赞赏

 
个人签名每个人心中都一片待开发的天空!
 

回复

131

帖子

2

TA的资源

一粒金砂(中级)

板凳
 
本帖最后由 Veiko 于 2014-11-21 13:27 编辑

算了,为了体现一条龙的精神,这里把那个啥固件库也给大家分卷压上来了,有需要的就直接在这里下载就可以了,我的里面用了Keil 512版本,低版本的可能会打不开,5.12版本挺好用的,不过用之前要像之前版本一样破解,然后下载相应公司相应器件的pack并安装到开发环境的安装目录下才能正确的选取芯片:

(注意:下载后请去掉最后的后缀.zip,然后选择第一个分卷开始解压缩)
1. 固件库下载   X-CUBE-IDB04.zip.001.zip (12 MB, 下载次数: 1949) X-CUBE-IDB04.zip.002.zip (12 MB, 下载次数: 7430)
X-CUBE-IDB04.zip.003.zip (11.36 MB, 下载次数: 527)
此帖出自stm32/stm8论坛
 
个人签名每个人心中都一片待开发的天空!
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

4
 
非常好,谢谢
此帖出自stm32/stm8论坛
 
个人签名我的青春不虚度
 
 

回复

415

帖子

2

TA的资源

一粒金砂(高级)

6
 
感谢分享哦
此帖出自stm32/stm8论坛
 
个人签名只要你心中有梦想,你人在哪里,梦想就在哪里!
 
 

回复

217

帖子

0

TA的资源

一粒金砂(高级)

7
 
感谢分享,资料挺全
此帖出自stm32/stm8论坛
 
个人签名心率传感器:https://shop108071095.taobao.com
 
 

回复

1453

帖子

18

TA的资源

纯净的硅(高级)

8
 
先马克本贴,资料大全了都。
ST官网下载速度太慢了点。
此帖出自stm32/stm8论坛

点评

呵呵  详情 回复 发表于 2014-12-1 21:46
 
个人签名http://weibo.com/u/1391449055
 
 

回复

131

帖子

2

TA的资源

一粒金砂(中级)

9
 
呵呵
sacq 发表于 2014-11-29 12:06
先马克本贴,资料大全了都。
ST官网下载速度太慢了点。

此帖出自stm32/stm8论坛
 
个人签名每个人心中都一片待开发的天空!
 
 

回复

131

帖子

2

TA的资源

一粒金砂(中级)

10
 
各位有没有觉得L053R8的官方固件库用起来很吃力啊,感觉用起来不爽,明明硬件可以直接读的东西,非要一个全局的结构体变量来配合使用。想自已写了
此帖出自stm32/stm8论坛
 
个人签名每个人心中都一片待开发的天空!
 
 

回复

131

帖子

2

TA的资源

一粒金砂(中级)

11
 
今天不忙,又拿出板子来调,主要是调串口,顺便把IO读写与时钟也理了一下,但时钟还有点点问题。
=================================================================================================
IO口的使用就简单带过,也有就是使能IO时钟,然后配置对应的IO引脚模式,速度之类的与STM32F103类似;对于串口,为了方便调试我以USART2为目标来调试,因为NUCLEO - L053R8板子上的虚拟串口便是与UART2的TX及RX相连的(TX和RX分别是PA2,PA3【这里不考虑顺序哈,因为这不影响串口及串口IO的配置】)。对于配置串口要做以下工作:
1. 使能串口将要用到的IO端口的时钟  __GPIOA_CLK_ENABLE()
2. 使能串口外设的时钟    __USART2_CLK_ENABLE();
3. 配置所须的TX和RX引脚为AFPP模式:
  1.   GPIO_InitStruct.Pin = USART_TX_RX_Pin;
  2.   GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  3.   GPIO_InitStruct.Pull = GPIO_NOPULL;
  4.   GPIO_InitStruct.Speed = GPIO_SPEED_FAST;
  5.         GPIO_InitStruct.Alternate = GPIO_AF4_USART2;
  6.   HAL_GPIO_Init(UserUSART2_Port, &GPIO_InitStruct);
复制代码
4. 配置串口及串口中断并使能串口
  1. /* 配置USART2 */
  2.   UartHandle.Instance        = USART2;
  3.   UartHandle.Init.BaudRate   = 28800; /* 9600 baud */
  4.   UartHandle.Init.WordLength = UART_WORDLENGTH_8B;  /* Word Length = 8 Bits */
  5.   UartHandle.Init.StopBits   = UART_STOPBITS_1;  /* One Stop bit */
  6.   UartHandle.Init.Parity     = UART_PARITY_NONE; /* 无奇偶校验位 */
  7.   UartHandle.Init.HwFlowCtl  = UART_HWCONTROL_NONE;  /* Hardware flow control disabled (RTS and CTS signals) */
  8.   UartHandle.Init.Mode       = UART_MODE_TX_RX; /* 打开接收和发送 */
  9.        
  10.         /* 配置USART2接收中断 */
  11.         USER_USART2_ENABLE_IT(USART_IT_RXNE);  /* 使能接收中断 */
  12.         USER_USART2_DISABLE_IT(USART_IT_TXE|USART_IT_TC|USART_IT_IDLE|USART_IT_PE|USART_IT_ERR); /* 禁止其他中断 */
  13.   
  14.         /*##-3- Configure the NVIC for UART ########################################*/
  15.   /* NVIC for USART1 */
  16.   HAL_NVIC_SetPriority(USART2_IRQn, 0, 1);
  17.   HAL_NVIC_EnableIRQ(USART2_IRQn);
  18.        
  19.   if(HAL_UART_Init(&UartHandle) != HAL_OK)
  20.   {
  21.     while(1);
  22.   }
  23.        
  24.         __HAL_UART_ENABLE(&UartHandle);
复制代码
顺便我觉得官方的串口驱动用不习惯,这里把我改后的初始版本贴上来仅供参考,还可以优化成USART1和USART2通用的代码:
1. C文件及H文件      串口驱动C及H文件.zip (2.97 KB, 下载次数: 11, 售价: 1 分芯积分)
2. 使用了官方库文件也一并传上来吧    STM32Cube_FW_L0_V1.1.0.zip (6.65 MB, 下载次数: 7, 售价: 1 分芯积分)

===============================================================================================
再来聊一下时钟叶,根据L053R8的DataSheet介绍,本应该是最大时钟频率为32MHz,同时三个电源供电范围内分虽可以设置最大系统时钟频率如下:

我使用HSI作为PLL的时钟源,同时设置SYSCLK和PCLK都以PLL的输出作为时钟源,这样的情况下,我最大能够配置出24MHz的时钟源(保证系统正常工作的情况下),一旦我把时钟频率配置成32MHz,系统就会死在时钟配置的地方,下面把时钟配置代码贴上来,求大神赐教:
  1. static void SystemClock_Config(void)
  2. {
  3.   RCC_ClkInitTypeDef RCC_ClkInitStruct;
  4.   RCC_OscInitTypeDef RCC_OscInitStruct;
  5.   
  6.   /* Enable Power Control clock */
  7.   __PWR_CLK_ENABLE();
  8.   
  9.   /* The voltage scaling allows optimizing the power consumption when the device is
  10.      clocked below the maximum system frequency, to update the voltage scaling value
  11.      regarding system frequency refer to product datasheet.  */
  12.   __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3);
  13.   
  14.   /* Enable MSI Oscillator */
  15.   RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;  /* 启用HSI16时钟 */
  16.   RCC_OscInitStruct.HSIState = RCC_HSI_ON;
  17.   RCC_OscInitStruct.HSICalibrationValue=0x00;  /* 校准调整值,可根据实际要求更改 */
  18.   RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
  19.         RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;  /* 时钟源为HSI=16MHz */
  20.         RCC_OscInitStruct.PLL.PLLDIV = RCC_PLLDIV_4; /* 2分频 */
  21.         RCC_OscInitStruct.PLL.PLLMUL = RCC_PLLMUL_6; /* 再4倍频 ==> 16/4*6 = 24MHz */
  22.        
  23.        
  24.   if(HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
  25.   {
  26.     /* Initialization Error */
  27.     Error_Handler();
  28.   }
  29.   
  30.   
  31.   /* Select PLLCLK as system clock source and configure the HCLK, PCLK1 and PCLK2
  32.      clocks dividers */
  33.   RCC_ClkInitStruct.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2);
  34.   RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;   /* 选择PLL输出作为系统时钟源 */
  35.   RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
  36.   RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;  
  37.   RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;  
  38.   if(HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1) != HAL_OK)
  39.   {
  40.     /* Initialization Error */
  41.     Error_Handler();
  42.   }
  43. }
复制代码


电压与时钟.png (64.43 KB, 下载次数: 0)

电压与时钟.png
此帖出自stm32/stm8论坛
 
个人签名每个人心中都一片待开发的天空!
 
 

回复

138

帖子

0

TA的资源

一粒金砂(中级)

12
 
支持一下 刚好可以用上学习蓝牙了
此帖出自stm32/stm8论坛
 
个人签名 与时间赛跑
 
 

回复

21

帖子

0

TA的资源

一粒金砂(中级)

13
 
不知道有木有支持iPhone手机的蓝牙通讯软件呀~也想玩玩
此帖出自stm32/stm8论坛
 
 
 

回复

32

帖子

0

TA的资源

一粒金砂(初级)

14
 
留个记号,以后看
此帖出自stm32/stm8论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

15
 
Veiko 发表于 2014-11-21 13:17
算了,为了体现一条龙的精神,这里把那个啥固件库也给大家分卷压上来了,有需要的就直接在这里下载就可以了 ...

你好,这个固件库的分卷总是提醒我压缩包有损坏,能不能提供固件库下载的网址,或者能不能重新发一遍这个固件库?谢谢大神
我的邮箱:503890270@qq.com
此帖出自stm32/stm8论坛
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(初级)

16
 
学习了!
此帖出自stm32/stm8论坛
 
 
 

回复

10

帖子

0

TA的资源

一粒金砂(中级)

17
 
我的蓝牙怎么没直接就搜不到呀???
此帖出自stm32/stm8论坛
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

18
 
xiaofengmuc 发表于 2015-10-29 14:29
我的蓝牙怎么没直接就搜不到呀???

大神,你的问题解决了没有,我也是手机搜不到蓝牙
此帖出自stm32/stm8论坛
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(初级)

19
 
Veiko 发表于 2014-11-21 17:33
唉,看完了应用手册,而且还结合了程序才只会修改蓝牙名称而已,唉,怎么建立蓝牙串口功能还得继续看文档: ...

有中文的吗?
此帖出自stm32/stm8论坛
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(初级)

20
 
Veiko 发表于 2014-11-21 17:33
唉,看完了应用手册,而且还结合了程序才只会修改蓝牙名称而已,唉,怎么建立蓝牙串口功能还得继续看文档: ...

中文的有不?
此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

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
快速回复 返回顶部 返回列表