3060|10

6107

帖子

4

TA的资源

版主

楼主
 

【X-Nucleo深度评测】之一 收到板子了。 [复制链接]

本帖最后由 damiaa 于 2014-11-23 17:05 编辑

今天收到X-NUCLEO-IDB04A1的板子了。于是呼在ST网站下了些资料。X-NUCLEO-IDB04A1板子资料
BLUENRG.ZIP (2.68 MB, 下载次数: 3)

x-nucleo-idb04a1_schematic.pdf (109.86 KB, 下载次数: 7)

DM00114523.pdf (249.79 KB, 下载次数: 8)
DM00116524.pdf (600.7 KB, 下载次数: 5)
DM00116526.pdf (1.82 MB, 下载次数: 4)
DM00117406.pdf (2.79 MB, 下载次数: 3)
DM00099259.pdf (1.34 MB, 下载次数: 4) BlueNRG芯片资料 这个芯片网站标价1.8美元,按市面上的芯片售价和ST标价折算 ,估计以后在淘宝销售会7元以下吧。

DM00122134.pdf (540.18 KB, 下载次数: 3) 这个调试器的资料。可惜没调试器。


就一股脑儿放上来吧。
这个下载花了三四天,终于把代码从sT网站下下来。一同放上来。
x-cube-idb04_l0.zip (20.87 MB, 下载次数: 14)
BLE  协议栈简介


协议栈包括两个部分:
控制器和主机。
控制器和主机在标准蓝牙 BR / EDR
设备这两个部分通常是单独实现。
任何配置文件和应用程序都是建立在 GAP 和GATT 协议层上。


· PHY 层: 运行2.4GHz 频段。
· LL 层:RF 控制器,控制设备
五种状态  准备(standby) 、        广播(advertising) 、
                监听/扫描(scanning) 、初始化(initiating) 、连接(connected)
· HCI 层:为接口层,应用程序接口(API) ,外部硬件控制接口,可以通过串口、SPI、USB 来控制。
· L2CAP 层:数据封装服务,逻辑上的端到端数据通。
· SM 层:配对和密匙分发服务,实现安全连接和数据交换。
· GAP 层:应用程序或配置文件(profiles)通信接口,处理设
  备发现和连接相关服务。处理安全特性的初始化。
· ATT 层:导出特定的数据到其他设备。
· GATT 层:定义了使用 ATT 的服务框架和配置文件(profiles)的结构。BLE 中所有的数据通信都需要经过 GATT。


通过上面的介绍,我们基本了解了 BLE 协议栈的各层功能,其中需要我们直
接接触的主要是 GAP 和 GATT 这两个层。

试用
1,安装andriod手机上的APPhttps://play.google.com/store/apps/details?id=com.st.bluenrg
安装这个吧,上面网站很难上,也是从EEWORLD 网友下的 在传一次而已 com.st.bluenrg.rar (1.22 MB, 下载次数: 7)
2,编译E:\X-CUBE-IDB04\Projects\STM32L053R8-Nucleo\Applications\Bluetooth_LE\SensorDemo\STM32L0xx_MDK-ARM 这个项目。烧录到板子,你也可以直接把在E:\X-CUBE-IDB04\Projects\STM32L053R8-Nucleo\Applications\Bluetooth_LE\SensorDemo\Bin目录的文件烧进去。
3,这个安装好后按下NUCLEO板的用户按钮(莫按复位按钮,那样就按错了),手机APP上的正方块会变动。
试试。






连接很不稳定,有时候行有时候不行,操作很难。应该是有个BUG。好像资料里提到过。说是要升级固件。
要看到结果必须先把手机APP软件打开,然后启动板子程序或者烧录进去(烧录完ST-LINK UTILITY直接DISCONNECT),静静等待手机查到蓝牙。然后再按查到的BlueNRG图标就进去了。否则乱了就很难出结果。OK?看你运气了。哈哈。照这么搞也许运气可以哦。

很怪 ,L0板用电脑的USB供电很容易连上。用移动电源连不上。难道是板子要依赖STLINK或者什么的才能跑通?














此帖出自stm32/stm8论坛

最新回复

很怪 ,L0板用电脑的USB供电很容易连上。用移动电源连不上。难道是板子要依赖STLINK或者什么的才能跑通? 是的, Nucleo板子的HSE晶振没焊接, 是通过STlink来提供时钟的。 所以要么从内部时钟跑, 要么就只能连上STlink。而且STlink必须是跟PC枚举正常后才能输出时钟给Nucleo板子。  详情 回复 发表于 2014-11-27 11:10
点赞 关注
 

回复
举报

23

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
好东西收藏了.........
此帖出自stm32/stm8论坛
 
 

回复

5979

帖子

8

TA的资源

版主

板凳
 
精神可嘉,值得鼓励
此帖出自stm32/stm8论坛
 
个人签名生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰
 

回复

6107

帖子

4

TA的资源

版主

4
 
哈哈。还没仔细看呢。好像这个芯片是BlueNRG 标记1.8美元,但以后估计售价应该在7块或更低吧。
此帖出自stm32/stm8论坛
 
 
 

回复

1万

帖子

25

TA的资源

版主

5
 
期待后续分享。希望还有类似活动。
此帖出自stm32/stm8论坛
 
 
 

回复

6107

帖子

4

TA的资源

版主

6
 
今天把蓝牙的第一个例子下下去。结果板子锁住了。
X-CUBE-IDB04\Projects\STM32L053R8-Nucleo\Applications\Bluetooth_LE\HRM_LowPowerRTC 不知道为什么。还是直接烧的BIN文件。
此帖出自stm32/stm8论坛
 
 
 

回复

6107

帖子

4

TA的资源

版主

7
 
搞清问题了。芯片锁死了:
STM32单片机一般的连接方式是主闪存存储器启动模式,即BOOT0为0,这样在用JTAG或SW写进程序的时候,如果该程序工程中芯片选型不正确或着程序中复用了JTAG或SW复用引脚导致程序执行后出现启动配置错误或者调试引脚被占用而引起的芯片锁死或Jlnk连接不上的问题,则把BOOT0和BOOT1跳成1和0,让内部程序不运行,然后再重新下载另外的程序,再改回BOOT设置,便可以恢复正常。如果板子上JTAG和SW调试电路都有的话,在其中一种方式导致锁死的情况下可以用另一种方式擦除恢复,而不必调整BOOT设置。
M0只有B00T0 所以只要把它接到高电平,然后再用STLINK烧录软件链接就解锁了。
此帖出自stm32/stm8论坛
 
 
 

回复

659

帖子

1

TA的资源

纯净的硅(中级)

8
 
本帖最后由 mars4zhu 于 2014-11-27 11:12 编辑

程序中复用了JTAG或SW复用引脚导致程序执行后出现启动配置错误或者调试引脚被占用而引起的芯片锁死
这句话正解!



X-CUBE-IDB04\Projects\STM32L053R8-Nucleo\Applications\Bluetooth_LE\HRM_LowPowerRTC

这个程序为了实现低功耗, 把SWD引脚功能给设置成了Analog-In模式,也就是下载了第一次之后,SWD就不能正常用了。 必须是“under-reset”


我把它的代码改了一下,就可以正常用SWD了。
把low_power_conf.c 第138行那一段,把PA所有IO口都设置为这种模式了:
  GPIO_InitStructure.Pin = GPIO_PIN_All;
  GPIO_InitStructure.Mode = GPIO_MODE_ANALOG;
  GPIO_InitStructure.Pull = GPIO_NOPULL;

我改成以下, 不改变PA13和PA14(也就是维持SWD的SWCLK和SWDIO两个引脚的调试功能),就可以了

//======================
   /* Configure all GPIO port pins in Analog Input mode (floating input trigger OFF) */
  GPIO_InitStructure.Pin = GPIO_PIN_All;
  GPIO_InitStructure.Mode = GPIO_MODE_ANALOG;
  GPIO_InitStructure.Pull = GPIO_NOPULL;
//  HAL_GPIO_Init(GPIOA, &GPIO_InitStructure);
  HAL_GPIO_Init(GPIOB, &GPIO_InitStructure);
  HAL_GPIO_Init(GPIOC, &GPIO_InitStructure);
  HAL_GPIO_Init(GPIOD, &GPIO_InitStructure);
  HAL_GPIO_Init(GPIOH, &GPIO_InitStructure);

  GPIO_InitStructure.Pin = GPIO_PIN_All & ~(GPIO_PIN_13) & ~(GPIO_PIN_14);
  HAL_GPIO_Init(GPIOA, &GPIO_InitStructure);

  /* Disable GPIOs clock */





此帖出自stm32/stm8论坛
 
 
 

回复

659

帖子

1

TA的资源

纯净的硅(中级)

9
 
很怪 ,L0板用电脑的USB供电很容易连上。用移动电源连不上。难道是板子要依赖STLINK或者什么的才能跑通?


是的, Nucleo板子的HSE晶振没焊接, 是通过STlink来提供时钟的。 所以要么从内部时钟跑, 要么就只能连上STlink。而且STlink必须是跟PC枚举正常后才能输出时钟给Nucleo板子。
此帖出自stm32/stm8论坛
 
 
 

回复

6107

帖子

4

TA的资源

版主

10
 
楼上的谢了。当时也没仔细去分析。这个问题确实是要提出了。否则大家试的时候一头雾水。
此帖出自stm32/stm8论坛
 
 
 

回复

6107

帖子

4

TA的资源

版主

11
 
本帖最后由 damiaa 于 2014-11-27 12:49 编辑

恩,确实SWD被占用了,锁死了,当时也没去找是哪段程序,只是知道程序把他锁死就没管了。
不过我只是插了电脑USB口就能通信,用移动电源插上就不行,并没有插ST-LINK。你们可以试试。
此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

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