请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:DK-TM4C129X
工具/软件:Code Composer Studio
您好!
我正在研究一个项目、该项目涉及对模拟信号进行采样并对其执行 FFT、捕获基本频率指数和振幅、并显示在 Kentec K350QVG2-F 320x240 LCD 显示屏上。 为了显示它们,我使用了 snprintf() 函数将基波振幅(浮点值)转换为字符串,然后使用 GrStringDraw 函数显示该字符串,但调用 StringDraw 函数时,程序会转到 FaultISR()。 我尝试将堆栈大小从512增加到2048、但它不起作用。 删除 GrStringDraw (),然后运行不会导致 FaultISR,因此可以确定此函数会导致错误。 我尝试使用有关诊断 FAULTISR 的"spma043"文档进行调试、但它没有帮助。 我的 NVIC_FAULT_STAT 寄存器具有指令总线错误位 SIT。
这就是我使用函数的方式:
uint32_t fftSize = 256; uint32_t ifftFlag = 0; uint32_t doBitReverse = 1; float32_t maxValue; uint32_t testIndex = 0; tContext; uint32_t sysclock; char buffer[100]; //通过 CFT/CtTestFlag = 0处理数据;tcontext;uint32_t sysclock;tif_t buffer32_t32_t flag;// tift32_tflag;// tflag_tift32 /*通过复数幅度模块处理数据、以 计算每个区间的幅度*/ arm_cmplx_mag_F32 (testInput_F32_10kHz、TestOutput、fftSize); TestOutput[0]= 0; //计算 maxValue 并返回相应的 sbin 值*/ arm_max_F32 (testOutput、fftSize、&TestSize 、maxIndex、maxIndex); 100、"%06f"、maxValue); GrStringDraw (&sContext、buffer、-1、100、50、0); //GrStringDrawCenter(&sContext、 Buffer、-1、 //GrContextDpyWidthGet (&sContext)/ 2、50、false);
有人对如何解决此问题有什么想法吗?
谢谢、
Harshul