你好,
我尝试使用geet_battery_lvl()来测量我开发的定制板的电池水平,但是我的应用程序以一种奇怪的方式运行。
有时,当我试图调试它时,它会进入hardfault_handler。当我再次尝试时,或者在一段时间之后,我能够调试它,显示的电池水平是0x64,这将是100%(我使用DA14580 DEV KIT PRO为我的板供电),这应该是正确的。
在将应用程序发送到我的板后,使用SmartSnippets,它再次怪异地工作。有时应用程序会崩溃,有时会正常运行。
我看了DA14585数据表,看到ADC引脚是捆扎在P0_0, P0_1, P0_2和P0_3,但我正在使用一些端口。这是错误的原因吗?我是否有办法在不开发新板设计的情况下克服这个问题?(例如,我已经看到P0_0被用于SPI、UART、I2C……)
提前谢谢。
关键词:
设备:
嗨TMiranda,
请问您是开发了自己的应用程序还是使用了SDK的默认示例?我强烈建议你检查SDK的电池级别(batt_lvl)示例。这个例子演示了如何使用ADC读取电池电量。电池驱动程序将从585的VBAT3V电源(ADC_CHANNEL_VBAT3V)的内部通道返回ADC测量值。该项目位于projects\target_apps\peripheral_examples\adc\batt_lvl SDK目录中。一旦您构建并加载示例项目到DK或您的自定义板,ADC被配置为提供电池水平的测量。我认为这不是硬件问题,所以请尝试运行上面的SDK示例,并让我知道结果。另外,当你的代码崩溃时,你能说明它崩溃的地方吗?尝试在调试模式下运行代码。
谢谢,PM_Dialog
嗨,谢谢你的快速回答。
现在我试着在我的定制板上使用SDK的电池级别示例。我通过Tera Term在UART上连接,但每当我在开发模式下运行应用程序时,终端上什么也没有显示。它不会崩溃,也不会只在终端上显示。
我已经在DA14586-00ATDB-P板上试过了,终端打印的信息是正确的。
我附上的图片显示了Pro套件和我的自定义板之间的连接。
VBAT_580和GND连接到我的单板电源信号(前两个引脚),而T_TMS和TCK(后两个引脚)连接到我的单板SW_CLK和SWDIO。
编辑:我错过了“公认答案”。
嗨TMiranda,
正如我能够从附件的图像中看到的,你还没有连接Pro-DEVKIT和你的自定义板之间的UART。放置在J5的驼峰,连接DA1458x子板,而不是您的定制板与USB。因此,您应该将J5头与自定义板的UART连接起来。我强烈建议你阅读入门指南DA1458x Development Kit - Pro (UM-B-049)用户手册从我们的支持页。请检查图9的文档。
谢谢,PM_Dialog