TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2640 使用math.h函數後卡死

Hi,

目前使用CC2640R2F進行開發,

SDK: simplelink_cc2640r2_sdk_3_40_00_10

CCS: Version: 9.3.0.00012

其中調用了math.h中的pow、log及sqrt等函數進行運算,

但在執行了幾秒後都會當機無法運作。

請問是否有什麼前置處理需要設定?

Kevin Qiu1:

这些函数的运算量和简单的求和,求积不同,运算量可能比较大。 CC2640是不带浮点的,可能处理不了这些复杂运算,另外看下运算有没有超出数据类型范围

Viki Shi:

照理说只要包含math.h头文件,然后调用即可。请问除此之外,你还做了其他改动吗?具体报错信息是什么?

Curly Lin:

回复 Kevin Qiu1:

變數都是以double宣告,我想應該不會超過才是

Curly Lin:

回复 Viki Shi:

我在simple peripherals 範例裡加上adc,再將adc轉換的電壓值取log及平方根運算。
約莫10來次,mcu的訊息就停止不吐,ble也斷線。

Viki Shi:

回复 Curly Lin:

是否能追踪一下代码,看卡死在哪一步

Curly Lin:

回复 Viki Shi:

目前查到因為運算過程中會有浮點數,若將浮點數print出來就會卡死。

YiKai Chen:

回复 Curly Lin:

你如何將浮點數print出來?

Curly Lin:

回复 YiKai Chen:

我自己實作一個print function取代sample code中的Display_print

uart的部分,使用npi_tl_uart.c裡的函數。

Curly Lin:

回复 YiKai Chen:

我利用npi_tl_uart.c裡的函數,自己實作一個print function取代原本的Display_print。

YiKai Chen:

回复 Curly Lin:

你有在config檔中加上 System.extendedFormats = '%$L%$S%$F%f';嗎?

赞(0)
未经允许不得转载:TI中文支持网 » CC2640 使用math.h函數後卡死
分享到: 更多 (0)