This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/TM4C123GH6PM:定时器中断和 SSI 中断不工作

Guru**** 1839620 points
Other Parts Discussed in Thread: EK-TM4C123GXL, TM4C123GH6PM
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/581567/ccs-tm4c123gh6pm-timer-interupt-and-ssi-interupt-not-working

器件型号:TM4C123GH6PM
Thread 中讨论的其他器件: EK-TM4C123GXL

工具/软件:Code Composer Studio

我正在使用计时器中断。通过 SPI 发送和接收数据、也使用 SSI 中断、但它不起作用

她是我的代码  

#include
#include
#include
#include
#include
//#include "inc/tm4c123ghp6.h"

#include "inc/hw_memmap.h"
#include "inc/hw_ssi.h"
#include "inc/hw_ints.h"
#include "inc/hw_types.h"
#include "driverlib/ssi.h"
#include "driverlib/gpio.h"
#include "driverlib/pin_map.h"
#include "driverlib/interrupt.h"
#include "driverlib/sysctl.h"
#include "driverlib/timer.h"

SysCtlClockSet (SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHz);


SysCtlPeripheralEnable (SYSCTL_Periph_SSI0);
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOA);
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOB);
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOF);
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOD);
SysCtlPeripheralEnable (SYSCTL_Periph_SSI1);

GPIOPinTypeGPIOOutput (GPIO_PORTB_BASE、GPIO_PIN_1);
GPIOPadConfigSet (GPIO_PORTB_BASE、GPIO_PIN_1、GPIO_Strength _2mA、GPIO_PIN_TYPE_STD_WPU);


GPIOPinConfigure (GPIO_PA2_SSI0CLK);
GPIOPinConfigure (GPIO_PA3_SSI0FSS);
GPIOPinConfigure (GPIO_PA5_SSI0TX);
GPIOPinConfigure (GPIO_PA4_SSI0RX);
GPIOPinTypeSSI (GPIO_Porta_base、GPIO_PIN_5|GPIO_PIN_4|GPIO_PIN_3|GPIO_PIN_2);
//等待 SSI0模块准备就绪。
//

//
//配置 SSI。
//
SSIConfigSetExpClk (SSI0_BASE、SysCtlClockGet ()、SSI_FRF_MOTO_MOTO_0、SSI_MODE_MASTER、100000、 16);
//
//
//启用 SSI 模块。
//
SSIEnable (SSI0_BASE);
//启用 SSI 模块。

GPIOPinConfigure (GPIO_PD0_SSI1CLK);
GPIOPinConfigure (GPIO_PD1_SSI1FSS);
GPIOPinConfigure (GPIO_PD2_SSI1RX);
GPIOPinConfigure (GPIO_PD3_SSI1TX);
GPIOPinTypeSSI (GPIO_PORTD_base、GPIO_PIN_3|GPIO_PIN_2|GPIO_PIN_1_GPIO_PIN_0);
//等待 SSI0模块准备就绪。
//

//
//配置 SSI。
//
SSIConfigSetExpClk (SSI1_base、SysCtlClockGet ()、SSI_FRF_MOTO_MOTO_0、SSI_MODE_SLAVE、100000、 16);
//
SSIEnable (SSI1_base);
/_________________________ 启用定时器__________________
SysCtlPeripheralEnable (SYSCTL_Periph_TIMER0);
TimerConfigure (TIMER0_BASE、TIMER_CFG_PERIODICASE);

ui32Period =(SysCtlClockGet ()/10)/2;
TimerLoadSet (TIMER0_BASE、TIMER_A、ui32Period -1);


IntEnable (INT_TIMER0A);
TimerIntEnable (TIMER0_BASE、TIMER_TINA_TIMEOUT);
IntMasterEnable();
TimerEnable (TIMER0_BASE、TIMER_A);

SSIIntEnable (SSI1_BASE、SSI_RXFF);

IntEnable (INT_SSI1);

while (1)

while (flag=0){};

flag=0;

uint32_t 值;
值= 0x00000000;

//发送消息
SSIDataPut (SSI0_BASE、value);

while (SSIBusy (SSI0_BASE))

空 Timer0IntHandler (空)

TimerIntClear (TIMER0_BASE、TIMER_TINA_TIMEOUT);

flag=1;

空 SSI1IntHandler (空)

SSIDataGet (SSI1_base、&g_data);
GPIOPinWrite (GPIO_PORTB_BASE、GPIO_PIN_1、g_data);
//
//清除中断。
//
SSIIntClear (SSI1_BASE、SSI_RXFF);

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您使用的是什么硬件? 它是 EK-TM4C123G Launchpad 吗? 如果是、您是否已成功构建、运行并理解示例代码:C:\ti\TivaWare_C_Series-2.1.4.178\examples\boards\ek-tm4c123gxl\timers?

    您是否获得了定时器中断、而不是 SSI1 (从器件)中断? SSI 在全双工模式下工作。 我希望您的代码卡在"SSIDataPut "函数中、因为主设备正在等待从设备获得有效数据、然后才开始传输。 我假设两个 SSI 通过导线连接在一起。 您需要使用一些虚拟数据"SSIDataPutNonBlocking (SSI1_base、0U)"加载从器件、以便从器件准备好进行交换(两个器件同时发送和接收)。 请看我在这个帖子中给出的示例中的第112行:
    e2e.ti.com/.../579880。这个简单的示例针对2位宽并且不使用中断、但是你可以看到函数调用来加载带有虚拟数据的从器件 TX 缓冲区。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这就是堆栈大小问题。我增加了它运行时的堆栈大小。

    现在、我对浮点单元有问题。

    我按照 TIvAware WorkShop 的示例实验9添加了 fpu.h 库和口语 FPUEnable 和 FPULAZYSTACKEnable、但它不起作用。

    这是我的控制台窗口

    ****为项目 myPOWER 构建配置调试****

    "C:\\ti\\ccsv6\\utils\\bin\\gmake"-k all
    '生成文件:./main.c'
    '调用:ARM 编译器'
    "c:/ti/ccsv6/tools/compiler/ti-cgt-arm_15.12.1.LTS/bin/armcl -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me -O4 --fp_mode=relaxed --include_path="C:/ti/ccsv6/tools/compiler/ti-cgt-arm_15.12.1.LTS/include --include_path="C:/ti/TivaWare_C_Series-2.1.2.111 --g --gcc --define=ccs"--define="ccs"--define=super-premote_display-guidi="c=ma-super-premotion-code.combation-ine-proc-display_guide-d=gpi-display_guidi="-ine-probi-display_supd=ma-ine.compring_decomine.come"-probi-from-code.combi-display_probi-display_guid

    >>编译失败
    subdir_rules.mk:7:目标'main.obj'的配方失败
    "./main.c"、第32行:警告#179-D:变量"Data"已声明但从未引用
    "./main.c"、第33行:警告#179-D:变量"ui32Period"已声明但从未引用
    "./main.c"、第36行:错误#68:预期为"}"
    "./main.c"、第47行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c",第47行:错误#148:声明与"float AQ"不兼容(在第46行声明)
    "./main.c"、第47行:错误#28:表达式必须具有常量值
    "./main.c"、第47行:错误#28:表达式必须具有常量值
    "./main.c"、第49行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第49行:错误#148:声明与"float bq"不兼容(在第48行声明)
    "./main.c"、第49行:错误#28:表达式必须具有常量值
    "./main.c"、第49行:错误#28:表达式必须具有常量值
    "./main.c"、第51行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第51行:错误#148:声明与"float ABQ"不兼容(在第50行声明)
    "./main.c"、第51行:错误#28:表达式必须具有常量值
    "./main.c"、第51行:错误#28:表达式必须具有常量值
    "./main.c"、第54行:错误#60:常量表达式中不允许函数调用
    "./main.c"、第56行:错误#148:声明与"volatile int flag"不兼容(在第25行声明)
    "./main.c"、第67行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第67行:错误#148:声明与"void FPUEnable(void)"不兼容(在"C:/ti/TivaWare_C_Series-2.1.2.111/driverlib/fpu.h "的第94行声明)
    "./main.c"、第68行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第68行:错误#148:声明与"void FULazyStackingEnable (void)"不兼容(在"C:/ti/TivaWare_C_Series-2.1.2.111/driverlib/fpu.h "的第97行声明)
    "./main.c"、第71行:错误#80:需要类型说明符
    "./main.c"、第71行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第71行:错误#148:声明与"void SysCtlClockSet (uint32_t)"不兼容(在"C:/ti/TivaWare_C_Series-2.1.2.111/driverlib/sysctl.h "的第619行声明)
    "./main.c"、第76行:错误#80:需要类型说明符
    "./main.c"、第76行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第76行:错误#148:声明与"void SysCtlPeripheralEnable (uint32_t)"不兼容(在"C:/ti/TivaWare_C_Series-2.1.2.111/driverlib/sysctl.h "的第590行声明)
    "./main.c"、第77行:错误#80:需要类型说明符
    "./main.c"、第77行:错误#80:需要类型说明符
    "./main.c"、第77行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第77行:错误#148:声明与"void GPIOPinTypeGPIOOutput (uint32_t、uint8_t)"不兼容(在"C:/ti/TivaWare_C_Series-2.1.2.111/driverlib/gpio.h "的第169行声明)
    "./main.c"、第78行:错误#80:需要类型说明符
    "./main.c"、第78行:错误#80:需要类型说明符
    "./main.c"、第78行:错误#80:需要类型说明符
    "./main.c"、第78行:错误#80:需要类型说明符
    "./main.c"、第78行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第78行:错误#148:声明与"void GPIOPadConfigSet (uint32_t、uint8_t、uint32_t、uint32_t)"不兼容(在"C:/ti/TivaWare_C_Series-2.1.2.111/driverlib/gpio.h 的第147行声明)
    "./main.c"、第81行:错误#80:需要类型说明符
    "./main.c"、第81行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第82行:错误#80:需要类型说明符
    "./main.c"、第82行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第83行:错误#80:需要类型说明符
    "./main.c"、第83行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第84行:错误#80:需要类型说明符
    "./main.c"、第84行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第88行:错误#80:需要类型说明符
    "./main.c"、第88行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第89行:错误#80:需要类型说明符
    "./main.c"、第89行:错误#80:需要类型说明符
    "./main.c"、第89行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第89行:错误#148:声明与"void TimerConfigure(UINT32_t、uint32_t)"不兼容(在"C:/ti/TivaWare_C_Series-2.1.2.111/driverlib/timer.h 的第245行声明)
    "./main.c"、第91行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第91行:错误#60:常量表达式中不允许函数调用
    "./main.c"、第92行:错误#80:需要类型说明符
    "./main.c"、第92行:错误#80:需要类型说明符
    "./main.c"、第92行:错误#760:变量"ui32Period"不是类型名称
    "./main.c"、第92行:错误#18:预期为")"
    "./main.c"、第92行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第92行:错误#148:声明与"void TimerLoadSet (uint32_t、uint32_t、uint32_t)"不兼容(在"C:/ti/TivaWare_C_Series-2.1.2.111/driverlib/timer.h "的第264行声明)
    "./main.c"、第94行:错误#80:需要类型说明符
    "./main.c"、第94行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第94行:错误#148:声明与"void IntEnable (uint32_t)"不兼容(在"C:/ti/TivaWare_C_Series-2.1.2.111/driverlib/interrupt.h "的第76行声明)
    "./main.c"、第95行:错误#80:需要类型说明符
    "./main.c"、第95行:错误#80:需要类型说明符
    "./main.c"、第95行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第95行:错误#148:声明与"void TimerIntEnable (uint32_t、uint32_t)"不兼容(在"C:/ti/TivaWare_C_Series-2.1.2.111/driverlib/timer.h "的第279行声明)
    "./main.c"、第96行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第96行:错误#148:声明与"bool IntMasterEnable (void)"不兼容(在"C:/ti/TivaWare_C_Series-2.1.2.111/driverlib/interrupt.h "的第67行声明)
    "../main.c"、第97行:错误#80:需要类型说明符
    "../main.c"、第97行:错误#80:需要类型说明符
    "./main.c"、第97行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第97行:错误#148:声明与"void TimerEnable (uint32_t、uint32_t)"不兼容(在"C:/ti/TivaWare_C_Series-2.1.2.111/driverlib/timer.h "的第243行声明)
    "./main.c"、第99行:错误#80:需要类型说明符
    "./main.c"、第99行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第99行:错误#148:声明与"void GPIOPinConfigure (uint32_t)"不兼容(在"C:/ti/TivaWare_C_Series-2.1.2.111/driverlib/gpio.h "的第159行声明)
    "./main.c"、第100行:错误#80:需要类型说明符
    "./main.c"、第100行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第101行:错误#80:需要类型说明符
    "./main.c"、第101行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第102行:错误#80:需要类型说明符
    "./main.c"、第102行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第103行:错误#80:需要类型说明符
    "./main.c"、第103行:错误#80:需要类型说明符
    "./main.c"、第103行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第103行:错误#148:声明与"void GPIOPinTypeSSI (uint32_t、uint8_t)"不兼容(在"C:/ti/TivaWare_C_Series-2.1.2.111/driverlib/gpio.h "的第178行声明)
    "./main.c"、第107行:错误#80:需要类型说明符
    "./main.c"、第107行:错误#760:函数"SysCtlClockGet "不是类型名称
    "./main.c"、第107行:错误#80:需要类型说明符
    "./main.c"、第107行:错误#80:需要类型说明符
    "./main.c"、第107行:错误#80:需要类型说明符
    "./main.c"、第107行:错误#80:需要类型说明符
    "./main.c"、第107行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第107行:错误#148:声明与"void SSIConfigSetExpClk (uint32_t、uint32_t、uint32_t、uint32_t、uint32_t、uint32_t、uint32_t、 uint32_t)"(在"C:/ti/TivaWare_C_Series-2.1.2.111/driverlib/ssi.h "的第119行声明)
    "./main.c"、第110行:错误#80:需要类型说明符
    "./main.c"、第110行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第110行:错误#148:声明与"void SSIEnable (uint32_t)"不兼容(在"C:/ti/TivaWare_C_Series-2.1.2.111/driverlib/ssi.h "的第129行声明)
    "./main.c"、第111行:错误#80:需要类型说明符
    "./main.c"、第111行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第112行:错误#80:需要类型说明符
    "./main.c"、第112行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第113行:错误#80:需要类型说明符
    "./main.c"、第113行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第114行:错误#80:需要类型说明符
    "./main.c"、第114行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第115行:错误#80:需要类型说明符
    "./main.c"、第115行:错误#80:需要类型说明符
    "./main.c"、第115行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第119行:错误#80:需要类型说明符
    "./main.c"、第119行:错误#760:函数"SysCtlClockGet "不是类型名称
    "./main.c"、第119行:错误#80:需要类型说明符
    "./main.c"、第119行:错误#80:需要类型说明符
    "./main.c"、第119行:错误#80:需要类型说明符
    "./main.c"、第119行:错误#80:需要类型说明符
    "./main.c"、第119行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第121行:错误#80:需要类型说明符
    "./main.c"、第121行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第123行:错误#80:需要类型说明符
    "./main.c"、第123行:错误#80:需要类型说明符
    "./main.c"、第123行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第123行:错误#148:声明与"void SSIIntEnable (uint32_t、uint32_t)"不兼容(在"C:/ti/TivaWare_C_Series-2.1.2.111/driverlib/ssi.h "的第132行声明)
    "./main.c"、第124行:错误#80:需要类型说明符
    "./main.c"、第124行:警告#78-D:此声明没有存储类或类型说明符
    "../main.c"、第128行:错误#171:需要声明
    "./main.c"、第150行:警告#12-D:解析在上一个语法错误后在此处重新启动
    "./main.c"、第152行:错误#28:表达式必须具有常量值
    "../main.c",第154行:错误#171:需要声明
    "./main.c"、第162行:警告#12-D:解析在上一个语法错误后在此处重新启动
    "../main.c"、第164行:错误#171:需要声明
    "./main.c"、第166行:错误#28:表达式必须具有常量值
    "./main.c"、第167行:错误#28:表达式必须有一个常量值
    "./main.c"、第167行:错误#28:表达式必须有一个常量值
    "./main.c"、第168行:错误#28:表达式必须具有常量值
    "./main.c"、第169行:错误#28:表达式必须具有常量值
    "./main.c"、第169行:错误#28:表达式必须具有常量值
    "./main.c"、第169行:错误#28:表达式必须具有常量值
    "./main.c"、第169行:错误#28:表达式必须具有常量值
    "./main.c"、第170行:错误#28:表达式必须具有常量值
    "./main.c"、第170行:错误#28:表达式必须具有常量值
    "./main.c"、第170行:错误#28:表达式必须具有常量值
    "./main.c"、第170行:错误#28:表达式必须具有常量值
    "./main.c"、第171行:错误#28:表达式必须具有常量值
    已达到错误限制。
    在编译"./main.c"时检测到100个错误。
    编译已终止。
    gmake:***[main.obj]错误1.
    gmake:目标"全部"不会由于错误而重新生成。

    ****构建完成****

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    可能是 main.c 中的语法错误 我建议您从第36行报告的第一个错误开始、并确定导致该错误的原因。 通常、像缺少"}"这样的简单单个错误会导致编译器生成大量错误消息。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果列出了"非错误"、帖子将会更短... 此外-缺少";"通常会导致这种不幸...
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    #include
    #include
    #include
    #include
    #include "inc/hw_memmap.h"
    #include "inc/hw_types.h"
    #include "driverlib/fpu.h"
    #include "driverlib/fpu.c"
    #include "driverlib/sysctl.h"
    #include "driverlib/rom.h"


    void 逆向(float[6]、int、float[6]);
    浮点决定因素(float[6][6]、int);
    空系数(float[6][6]、int、float[6]);
    void 转置(float[6][6]、float[6][6]、int、float[6]);

    int main (空)

    int i[4]={2、3、5、4};//定义关键电源系统到节点
    int j[4]={1、2、2};
    float z[4]={0.003113、01570、6.951e-3、9.029e-3};//定义关键电源系统 float 节点
    float v[5]={0.962,0.952,0.963,0.946,0.937};//定义从主电源流代码获取的关键电源系统节点电压


    float Q=1.739;//定义从主电源流代码获得的代理无功功率
    float P=1.449;//定义从主电源流代码获取的代理活动电源
    float S=3.0;//定义代理的最大生成能力
    float Q1=9.0;
    //AQ=S*S;
    浮点 Q2;
    Q2=(P*P);
    浮点 Q3;
    Q3=(Q1-Q2);
    float SF=7.0/93;//代理节点灵敏度因子
    float nqj=0.1/3;//麻醉剂压降系数
    float Qmax=powf (q3、0.5);//找到可提供的最大无功功率生成
    float xo[6]={0};//初始化未知
    //初始化字段如果存在,则指示字段
    int priority=0;//初始化代理优先级
    int DQ[4]={6、6、0、0};//表示 j (1)和 i (1)之间的无功功率流变化等于 x (6)、
    //或 i (3)和 j (3)之间的变化不等于零
    浮点 A[6];
    float VIO[5]={0};
    float x[6]={0};
    内部分配;
    int n、c;


    FPUEnable();
    FPULazyStackingEnable();


    SysCtlClockSet (SYSCTL_SYSDIV_4|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHz|SYSCTL_OSC_MAIN);


    ///-------------------- 检查是否有违规
    for (n=0;n<5;n++)

    如果(v[n]<0.95)

    VIO[n]=0.96-v[n];
    flag=1;

    否则、如果(v[n]>1.05)

    VIO[n]=1.04-v[n];
    flag=1;

    if (flag==1)//如果为 True,则存在违规

    priority=priority+1;
    //选择最大违规的总线
    INT maximum = VIO[0];
    对于(c = 1;c < 5;c++)

    如果(VIO[c]>最大值)

    最大值= VIO[c];
    LOC = c;


    x[loc+1]=VIO[loc];//指示最大违规节点所需的解决方案


    int act、k、l、m、q;
    float b[6]={0、0、0、0、0、 VIO[loc]};
    float B1[6]={xo[5]、0、0、0、0、VIO[loc]};
    float ff[6]={{1、0、0、0、-SF}、
    {v[0]/v[1]、-1、0、0、-z[0]/v[1]}、
    {0、v[1]/v[2]、-1、0、-z[1]/v[2]}、
    {0、v[1]/v[4]、0、-1、0}、
    {0、v[1]/v[3]、0、-1、0}、
    {0、0、0、1、0}};
    float FF1[6][6]={{1、0、0、0、-nqj}、
    {v[0]/v[1]、-1、0、0、-z[0]/v[1]}、
    {0、v[1]/v[2]、-1、0、-z[1]/v[2]}、
    {0、v[1]/v[4]、0、-1、0}、
    {0、v[1]/v[3]、0、-1、0}、
    {0、0、0、1、0}};
    float FF2[6][6]={{0、0、0、0、0、1}、
    {v[0]/v[1]、-1、0、0、-z[0]/v[1]}、
    {0、v[1]/v[2]、-1、0、-z[1]/v[2]}、
    {0、v[1]/v[4]、0、-1、0}、
    {0、v[1]/v[3]、0、-1、0}、
    {0、0、0、1、0}};


    float bt[6];
    float b1t[6];

    for (act=0;act<3;act++)

    float m_invers[6][6];

    if (act=0)

    反向(ff、6、m_invers);
    for (k=0;k < 6;k++)

    x[k]=0;
    for (l=0;l<6;l++)

    x[k]=x[k]+(m_逆向[k][l]*bt[l][0]);



    if (act=1)

    逆向(ff1、6、m_invers);
    for (k=0;k < 6;k++)

    x[k]=0;
    for (l=0;l<6;l++)

    x[k]=x[k]+(m_逆向[k][l]*bt[l][0]);



    if (act==2)

    逆向(ff2、6、m_invers);
    for (k=0;k < 6;k++)

    x[k]=0;
    for (l=0;l<6;l++)

    x[k]=x[k]+(m_逆向[k][l]*b1t[l][0]);


    for (m=0;m<=5;m++)

    a[m][2*act]=x[m];//将某个操作的 x 值存储在矩阵 A 中
    //检查每个操作的基础解决方案的特性---

    for (q=0;q<5;q++)

    if ((v[q]+x[q])<0.95)

    a[q][2*act+1]=v[q]+x[q]-0.95;


    其他

    if ((v[q]+x[q])>1.05)

    a[q][2*act+1]=v[q]+x[q]-1.05;

    if (((Q+x[5])>Qmax)

    A[5][2*act]=(Q+x[5])-Qmax;


    浮点 VSTAR;
    float sum1=0;
    float sum2=0;
    float sum3=0;
    int s;

    对于(s=0;s<6;s++)

    sum1=sum1+a[s][1];
    sum2=sum2+a[s][3];
    sum3=sum3+a[s][5];

    //启用 SSI 模块。
    //


    if (sum1 <fabsf(0.001))

    //发送消息


    VSTAR=A[0][0]*(1+(nqj*a[5][0])/a[0]);

    否则为 if (sum2 <fabsf(0.001))

    //发送消息


    VSTAR=a[0][2]*(1+(nqj*a[5][2])/a[0][2]);

    否则、IF (sum3 <fabsf(0.001))

    //发送消息

    VSTAR=a[0][4]*(1+(nqj*a[5][4])/a[0][4]);



    void 逆向(float matrix [6]、int size、float m_invers[6][6])

    浮点数 d;
    int i、j;
    float matrial_codfact[6][6];
    float m_TRAN置[6][6];

    d=决定因素(矩阵、大小);

    协因子(矩阵、大小、矩阵协因子);


    转置(矩阵、矩阵协因子、大小、m_TRAN置);

    对于(i=0 <size;i++)

    对于(j=0;<size;j++)

    m_invers[i][j]=m_TRAN置 e[i][j]/ d;


    /*用于计算矩阵的决定因素。 此函数为递归*/
    浮点决定因素(浮点矩阵[6][6]、int 大小)

    float s=1、det=0、m_MINOR [6];
    int i、j、m、n、c;
    如果(size=1)

    返回(矩阵[0][0]);

    其他

    DET=0;
    对于(c=0;<size;c++)

    M=0;
    N=0;
    对于(i=0 <size;i++)

    对于(j=0;<size;j++)

    m_MINOR [i][j]=0;
    if (i!= 0 && j!= c)

    m_MINOR [m][n]=matrix [i][j];
    如果(n<(size-2))
    N++;
    其他

    N=0;
    M++;




    DET=det + s *(matrix [0][c]* det뚨 因素(m_minor、size-1));
    S=-1 * s;

    返回(坐浴盆);

    /*计算矩阵的系数*/
    空协因子(float matries[6][6]、int size、float matries_cofacter[6][6])

    float m_codum[6][6];
    int p、q、m、n、i、j;
    对于(q=0;<size;q++)

    对于(p=0;pg <size;p++)

    M=0;
    N=0;
    对于(i=0 <size;i++)

    对于(j=0;<size;j++)

    if (i!= q & j!= p)

    m_cofaction[m][n]=matrix [i][j];
    如果(n<(size-2))
    N++;
    其他

    N=0;
    M++;




    materize_codum[q][p]=pow (-1、q + p)* dutterm_codfactor、size-1);

    /*查找矩阵系数转置*/
    void 转置(float matries[6][6]、float matries_cofacter[6][6]、int size、float m_transfose [6])

    int i、j;


    对于(i=0 <size;i++)

    对于(j=0;<size;j++)

    m_TRANSPUSE[i][j]=matri_cofaction[j][i];

    这是我的代码。以下是控制台窗口中显示的错误

    /main.c"、第67行:错误#68:预期为"}"
    "./main.c"、第68行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第68行:错误#148:声明与"float Q3"不兼容(在第67行声明)
    "./main.c"、第68行:错误#20:标识符"Q1"未定义
    "./main.c"、第68行:错误#20:标识符"Q2"未定义
    "./main.c"、第71行:错误#60:常量表达式中不允许函数调用
    "./main.c"、第84行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第84行:错误#148:声明与"void FPUEnable(void)"不兼容(在"C:/ti/TivaWare_C_Series-2.1.2.111/driverlib/fpu.c "的第66行声明)
    "./main.c"、第85行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第85行:错误#148:声明与"void FULazyStackingEnable (void)"不兼容(在"C:/ti/TivaWare_C_Series-2.1.2.111/driverlib/fpu.c "的第150行声明)
    "./main.c"、第88行:错误#80:需要类型说明符
    "./main.c"、第88行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第88行:错误#148:声明与"void SysCtlClockSet (uint32_t)"不兼容(在"C:/ti/TivaWare_C_Series-2.1.2.111/driverlib/sysctl.h "的第619行声明)
    "../main.c",第98行:错误#171:需要声明
    "./main.c"、第128行:警告#12-D:解析在上一个语法错误后在此处重新启动
    "./main.c"、第129行:错误#28:表达式必须具有常量值
    "./main.c"、第130行:错误#28:表达式必须具有常量值
    "./main.c"、第130行:错误#28:表达式必须具有常量值
    "./main.c"、第131行:错误#28:表达式必须具有常量值
    "./main.c"、第132行:错误#20:标识符"v"未定义
    "./main.c"、第132行:错误#20:标识符"z"未定义
    "./main.c"、第137行:错误#28:表达式必须具有常量值
    "../main.c",第154行:错误#171:需要声明
    "./main.c"、第222行:警告#12-D:解析在上一个语法错误后在此处重新启动
    "./main.c"、第228行:错误#171:需要声明
    "./main.c"、第313行:警告#12-D:解析在上一个语法错误后在此处重新启动
    "./main.c"、第314行:错误#171:需要声明
    "./main.c"、第316行:错误#171:需要声明
    "./main.c"、第324行:警告#12-D:解析在上一个语法错误后在此处重新启动
    "./main.c"、第325行:警告#78-D:此声明没有存储类或类型说明符
    "./main.c"、第325行:错误#28:表达式必须具有常量值
    "./main.c"、第326行:错误#171:需要声明
    "./main.c"、第329行:警告#12-D:解析在上一个语法错误后在此处重新启动
    "./main.c"、第330行:错误#171:预期会出现声明
    "./main.c"、第355行:警告#12-D:解析在上一个语法错误后在此处重新启动
    "./main.c"、第356行:错误#171:预期会有声明
    "./main.c"、第360行:警告#12-D:解析在上一个语法错误后在此处重新启动
    "./main.c"、第361行:错误#171:预期会出现声明
    源末尾:警告#12-D:解析在前一个语法错误后在此处重新启动
    26在汇编"../main.c"时检测到错误。
    gmake:***[main.obj]错误1.
    gmake:目标"全部"不会由于错误而重新生成。

    ****构建完成****

    我没有收到这些错误。

    我正在使用 TM4C123GH6PM..please 指南、但我缺少的内容。是否需要包含任何指定的库才能使用 FPU。

    我遵循了 Tiva C 技术讲座中给出的示例。