13.软件光标¶
当我们在演示Power Profiler的有用性时,值得一提的是,当我们使用PRO开发工具包时,可以在Profiler图中放置软件光标。
SDK6提供了一个简单的特性,我们可以通过调用一个函数来实现,arch_set_pxact_gpio ()
.
如果我们想要确保一个计时器确实被触发,或者如果我们想要测量在我们的实现中执行一个函数所花费的时间和/或能量,这可能是有用的。
软件游标功能有两种不同的变体,取决于您正在使用的SmartBond™设备:
对于DA14531,您必须提供一个GPIO端口和引脚对作为参数。
P0_11
已经在开发工具包中设置好了。注意,只有在使用DA14531 QFN子板时才会出现这种情况SDK6将自动分配
P1_3
当您为DA14585或DA14586构建代码时
请注意
在前面的一节中,我们已经使用了P0_11
DA14531 PRO套件上的引脚作为上拉输入。这将与光标触发信号冲突,我们将需要重新配置到另一个引脚的输入,并在开发工具包上放置额外的跳线。DA14585 PRO套件不需要任何更改。
首先,放置光标触发器跳线
J8,销1来2
如下所示:
接下来,在user_periph_setup.h移动输入功能引脚
P0_10
(突出显示更改):
#如果定义(__DA14531__)#定义BTN_PORT GPIO_PORT_0#定义BTN_PIN GPIO_PIN_10其他##定义BTN_PORT GPIO_PORT_1#定义BTN_PIN GPIO_PIN_1# endif
下面,当蓝牙®连接建立时,我们将在功率分析器中放置一个软件光标。
在
user_on_connection ()
的函数user_peripheral_template.c,在函数末尾添加如下内容:
#如果定义(__DA14531__)arch_set_pxact_gpio((GPIO_PORT)0,(GPIO_PIN)11);其他#arch_set_pxact_gpio();# endif
如果我们构建项目并再次运行它,我们应该会在当前图中看到时间光标:
我们现在可以做一些观察。首先,也是最重要的,我们看到红色的时间光标。同样明显的是,我们在广告活动的第二广告渠道上取得了联系。然后设备就连接起来了,我们在光标之后大约7.5毫秒看到第一个连接事件。连接事件包括一个接收器打开事件,随后是一个非常短的发射机脉冲。在连接事件之后,设备进入睡眠模式,并在下一次事件发生时及时醒来(这里没有显示)。
很明显,功率分析器可以帮助我们非常详细地了解设备在任何给定时刻的运行情况。