请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TM4C123GH6PM 工具/软件:TI C/C++编译器
我面临相同的问题、当我调用代码"boot_demo"中的 UART0中断时代码不起作用、它停止工作、没有中断、代码正常工作。
调用 ROM_IntEnable (UART0_BASE)时代码出现问题;
没有调用中断代码的情况下、这是很好的。
// // // boot_demo1.c -第一个引导加载程序示例。 // //版权所有(c) 2012-2017 Texas Instruments Incorporated。 保留所有权利。 //软件许可协议 // //德州仪器(TI)提供此软件仅供 和//仅供 TI 的微控制器产品使用。 软件归 // TI 和/或其供应商所有,并受适用的版权 //法律保护。 您不能将此软件与"病毒"开源 //软件组合在一起以形成更大的程序。 // //此软件按“原样”提供,且存在所有故障。 //对于 本软件,不作任何明示、暗示或法定的保证,包括但不限于对适销性和适用性的暗示保证//特定用途。 在任何 //情况下、TI 不对任何 原因造成的特殊、意外或必然//损害负责。 // //这是 DK-TM4C123G 固件包的修订版本2.1.4.178的一部分。 //// ***************** #include #include include "inc/hw_flash.h" #include "../hw_memmap.h" #include "inc/hw_sysctl.h" #include "inc/hw_gpio.h" #include "inc/hw_nvic.h" #include "driverlib/driverlib#driverlib/#driver.h" #include "driverlib#driverlib.drivers/driver/hex"#driverlib#driverlib#include "#driverlib.driver/h.trintrine/driverlib#include "#def"#driverlib.util.h" #include "#driverlib#driverlib.driverlib.driver.h"#include "#def"#drivers/driver.h"#include "#driverlib#driverlib.driverlib.driver.h // //! \addtogroup example_list //!引导加载程序演示1 (BOOT_DEMO1)
//! //! 演示基于闪存的引导加载程序用法的示例。 在 //! 启动时、应用程序将配置 UART 和 USB 外设、 //! 然后分支到引导加载程序、等待 //! 更新了。 如果使用串行引导加载程序(boot_serial)、UART 将 //! 始终配置为115、200波特并且不需要使用 //! 自动波特率。 //! //! 此应用旨在与三个基于闪存的引导 //! 软件中包含的加载程序类型(boot_serial 或 boot_USB) //! 版本。 为了适应其中最大的(BOOT_USB)、链路地址 //! 设置为0x2800。 如果您使用的是串行、您可以更改此 //! 地址到比最后占用地址高1KB 的边界 //! 引导加载程序二进制文件、只要您还重建引导 //! 在修改其 bl_config.h 文件以设置 APP_START_ADDRESS //! 相同的值。 //! //! boot_demo2应用程序可与此应用程序一同使用、以 //! 轻松演示引导加载程序实际上正在更新片上 //! 闪存。 //! //! 请注意、TM4C123G 和其他 Blizzard 级器件也 是//! 支持 ROM 中的串行和 USB 引导加载程序。 使用此 //! 函数、将您的应用程序链接到闪存中的0x0000地址处运行、然后输入 //! 使用 ROM_UpdateSerial 和 ROM_UpdateUSB 函数 的引导加载程序//! (在 ROM.h 中定义)。 此机制在 utils/swupdate.c //! 模块时、该模块专门针对合适的 Blizzard 类器件而构建。 //// ***************** // // //图形上下文,用于在 CSTN 显示屏上显示文本。 //// ***************** tContext g_sContext; //********* // //如果驱动程序库遇到错误,则调用的错误例程。 //// ***************** #ifdef debug void __error__(char *dpcFilename、uint32_t ui32Line) { #endif //********* // //将控制权传递给引导加载程序并启动远程软件更新。 // //此函 数将控制权传递给引导加载程序,并根据使用的特定引导加载程序二进制文件,通过 UART0或 USB 启动//主应用程序固件映像的更新。 // //\return 永不返回。 //// ***************** void JumpToBootLoader (void) { // //禁用所有处理器中断。 不是一次禁用它们//、而是直接写入 NVIC 来禁用所有 //外设中断。 // HWREG (NVIC_DIS0)= 0xffffffff; HWREG (NVIC_DIS1)= 0xffffffff; // 将控制返回到引导加载程序。 这是 对引导加载程序中 SVC //处理程序的调用。 // (*((void (*)(void))(*(uint32_t *) 0x2C)); } //********* // //初始化 UART0并设置适当的通信参数。 //// ***************** void SetupForUART (void) { // //在 将控制权传递给引导加载程序之前,我们需要确保启用 UART0及其关联的 GPIO 端口//。 如果 我们 //通过其 SVC 矢量输入这些外设,则串行引导//加载程序不会为我们启用或配置这些外设。 // ROM_SysCtlPeripheralEnable (SYSCTL_Periph_UART0); ROM_SysCtlPeripheralEnable (SYSCTL_Periph_GPIOA); // 将 GPIO A0和 A1设置为 UART。 // ROM_GPIOPinTypeUART (GPIO_Porta_base、GPIO_PIN_0 | GPIO_PIN_1); // 将 UART 配置为115200、n、8、1 // ROM_UARTConfigSetExpClk (UART0_BASE、SysCtlClockGet ()、 115200、 (UART_CONFIG_PAR_NONE | UART_CONFIG_STOP_ONE | UART_CONFIG_WLEN_8); // 启用 UART 操作。 // ROM_UARTEnable (UART0_BASE); ROM_UARTIntEnable (UART0_BASE、UART_INT_RX | UART_INT_RT);//仅启用 RX 和 TX 中断 ROM_IntEnable (UART0_BASE);//启用 UART 中断 ROM_IntMasterEnable ( );}// // //启用 USB 控制器 // //********* void SetupForUSB (void) { // USB 引导加载程序负责所有必需的 USB 初始化,// 如果应用程序本身不需要使用 USB 控制器,我们 //实际上不需要在此处启用它。 USB 引导加载 程序施加的唯一要求是当输入引导加载程序时、系统时钟从 PLL 运行//。 // } //启用 LED void Setup_LED (void) { SysCtlPeripheralEnable (SYSCTL_Periph_GPIOF); GPIOPinTypeGPIOOutput (GPIO_PORTF_BASE、GPIO_PIN_1_GPIO_PIN_2|GPIO_PIN_3); GPIOTypeGPIOInput (GPIO_PORTF_BASE、GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3);GPIOTypeGPIO_PIN_PIN_BASE GPIOPadConfigSet (GPIO_PORTF_BASE、GPIO_PIN_4、GPIO_Strength _2mA、GPIO_PIN_TYPE_STD_WPU); } //********* // //演示引导加载程序的使用。 //// ***************** int main (void) { // tRectangle sRect; // tContext sContext; // 启用中断处理程序的怠惰堆栈。 这允许 在中断处理程序中使用浮点//指令、但代价 是//额外使用栈。 // //// rom_fulazyStackingEnable(); // //将系统时钟设置为从 PLL 以50MHz 运行 // 初始化 SysCtlClockSet (SYSCTL_SYSDIV_2_5 | SYSCTL_USE_PLL | SYSCTAL_16MHz | SysCtl_OSC_MAIN); //支持每个外设类型//系统引导。 由于本示例旨在与任何 //引导加载程序配合使用、并且我们不知道实际使用的是哪种、因此我们在此介绍了所有 //基址并初始化以供串行和 USB 使用。 // // SetupForUSB(); Setup_LED(); SetupForUART(); // SetupForUART(); //初始化显示驱动程序。 // // CFAL96x64x16Init(); // 初始化图形上下文。 // // GrContextInit (&sContext、&g_sCFAL96x64x16); // 用蓝色填充屏幕顶部以创建横幅。 // // sRect.i16XMin = 0; // sRect.i16YMin = 0; // sRect.i16XMax = GrContextDpyWidthGet (&sContext)- 1; // sRect.i16YMax = 9; // GrextContactForegroundSet (&sContext); / GrsRect Dark&Z (&sClrText);/ Cr Dark&Z // //更改白色文本的前景。 // // GrContextForegroundSet (&sContext、ClrWhite); // //将应用程序名称放在横幅中间。 // // GrContextFontSet (&sContext、g_psFontFixed6x8); // GrStringDrawCenter(&sContext、"boot-demo1"、-1、 // GrContextDpyWidthGet (&sContext)/ 2、4、0); // //指示正在发生的情况。 // // GrStringDrawCenter(&sContext,“引导加载程序”,-1, // GrContextDpyWidthGet (&sContext)/ 2,20,false ); // GrStringDrawCenter(&sContext,“现在正在运行”, -1、 // GrContextDpyWidthGet (&sContext)/ 2、30、false); // GrStringDrawCenter(&sContext、"和等待"、 -1、 // GrContextDpyWidthGet (&sContext)/ 2、40、false); // GrStringDrawCenter(&sContext、"更新"、 -1、 // GrContextDpyWidthGet (&sContext)/ 2、50、false); // //将控制权传递给配置了电路板的引导加载程序的任何类型 //。 // // JumpToBootLoader(); // 以前的函数永远不会返回,但我们需要在此处输入返回 //代码,以防止编译器生成警告。 // //返回(0); while (1) { getpin = GPIOPinRead (GPIO_PORTF_BASE、GPIO_PIN_4);//PA6 if (getpin<=0) { GPIOPinWrite (GPIO_PORTF_BASE、GPIO_PIN_1_1| GPIO_PIN_2| SysGPIO_PIN_3、UIOPTF )、GPIOP0_base (GPIOP0_100);GPIOPinPTF 数据(GPIOP0_100);GPIORTFTF);GPIOP0_Pin0 (GPIORTFTF) GPIO_PIN_1_GPIO_PIN_2|GPIO_PIN_3、0x00); SysCtlDelay (10000000); JumpToBootLoader (); if (ui8PinData=8){ui8PinData=2;}else{ui8PinData=ui8PinData*2;} } else {gpio8PinData=pin2|GPIO_Pin100_PIN_GPIO_PRIM_1|GPIO_PRIM_GPIO_1 ;GPIO_PIN_PIN_PIN_PIN_PIN_1|GPIO_PRIM_PIN_PIN_PIN_2|GPIOR0_PIN_PIN_PIN_PIN_PIN_PIN_PIN_PIN_PIN_0_PIN_PIN_PIN_ GPIO_PIN_1_GPIO_PIN_2|GPIO_PIN_3、0x00); SysCtlDelay (1000000); if (ui8PinData=8){ui8PinData=2;}否则{ui8PinData=ui8PinData;} // JumpToBootLoader (u8PinData=2); }UART32_UART0 (UART0)、UART0 (UART0)、UART0 (UART0)、UART0 (UART0)、UART0 (UART0) UART0) UART0 (UART0) UART0 (UART0) UART0 (UART0) UART0 (UART0) UART0 (UART0) UART0 (UART0) UART0 (UART0) UART0 (UART0) UART0 (UART0 (UART0) UART0 (UART0) UAR
boot_demo1_ccs.cmd 文件
/*********
*
* boot_demo_ccs.cmd - boot_dem1的 CCS 链接器配置文件。
*
*版权所有(c) 2012-2017 Texas Instruments Incorporated。 保留所有权利。
*软件许可协议
*
**德州仪器(TI)提供此软件仅供
*仅供 TI 的微控制器产品使用。 该软件归
* TI 和/或其供应商所有、受适用的版权
*法律保护。 您不能将此软件与"病毒"开源
*软件结合使用、以形成更大的程序。
*
*此软件按"原样"提供、且存在所有缺陷。
*任何明示、默示或法定的保证、包括但
不限于对适销性和适用性
*特定用途的默示保证均不适用于本软件。 在任何
*情况
下、TI 都不应对因任何原因造成的特殊、意外或必然*损害负责。
*
*这是 DK-TM4C123G 固件包版本2.1.4.178的一部分。
*
* /--retain=g_pfnVectors
/*以下命令行选项作为 CCS 项目的一部分进行设置。 */
/*如果您使用命令行进行构建,或者出于某种原因想要在
此处定义*/*,则可以根据需要取消注释并修改这些行。 */
/*如果您使用 CCS 进行编译、最好
在 CCS 工程中进行任何此类*///*修改并将此文件单独保留。 */
*/
/*-heap_size=0 */
/*-stack_size=256 */
//*-library=rtsv7M3_T_le_eabi.lib *
//*应用程序的起始地址。 通常,中断向量*/
/*必须位于应用程序的开头。 //
//#define APP_BASE 0x00002800
#define APP_BASE 0x00002800
#define RAM_BASE 0x20000000
//*系统内存映射*
/ MEMORY
{
//应用程序存储在内部闪存中并从内部闪
存执行*/闪存(RX):origin = APP_BASE,length = 0x0003d800
//*应用程序使用内部 RAM 进行数据*/
SRAM (RWX): origin = 0x20000000、length = 0x00008000
}
//内存中的段分配*/
SECTIONS
{
.intvecs:> app_base
.text:> FLASH
.const:> FLASH
.cinit:> FLASH
.pinit:> FLASH
.init_array:> FLASH
.vtable:> RAM_base
.data:> SRAM
.bss: > SRAM
.sysmem:> SRAM
.stack:> SRAM
}
__stack_top =__stack + 1024;
startup_ccs.c 文件
//
//
//// startup_ccs.c -与 TI 的 Code Composer Studio 一起使用的启动代码。
//
//版权所有(c) 2012-2017 Texas Instruments Incorporated。 保留所有权利。
//软件许可协议
//
//德州仪器(TI)提供此软件仅供
和//仅供 TI 的微控制器产品使用。 软件归
// TI 和/或其供应商所有,并受适用的版权
//法律保护。 您不能将此软件与"病毒"开源
//软件组合在一起以形成更大的程序。
//
//此软件按“原样”提供,且存在所有故障。
//对于
本软件,不作任何明示、暗示或法定的保证,包括但不限于对适销性和适用性的暗示保证//特定用途。 在任何
//情况下、TI 不对任何
原因造成的特殊、意外或必然//损害负责。
//
//这是 DK-TM4C123G 固件包的修订版本2.1.4.178的一部分。
////
*****************
#include
#include "inc/hw_NVIC.h"
#include "inc/hw_types.h"
//*********
//
//转发默认故障处理程序的声明。
////
*****************
void ResetISR (void);
static void NmiSR (void);
static void FaultISR (void);
static void IntDefaultHandler (void);
//*********
//
//
启动//处理器时要调用的复位处理程序的外部声明
//
*********
extern void _c_int00 (void);
extern void UART0IntHandler (void);
//*********
//
//标记栈顶的链接器变量。
////
*****************
extern uint32_t __stack_top;
//extern void UART0IntHandler (void);
//*********
//
//矢量表。 请注意、必须在这个上放置适当的结构、
以//确保它在物理地址0x0000.0000处结束、或者
在//程序的开头(如果位于0以外的起始地址)结束。
////
*****************
#Intma DATA_SECTION (g_pfnVectors、".intvecs")
void (* const g_pfnVectors [])(void)=
{
(void (*)(void)(void)(void)(void))((uint32_t)&& stack_top)、
//初始堆栈指针
ResetISR、//复位处理程序
Nisr、/DefaultFHandler
、/NMI、故障处理程序/缺
省处理程序/缺省处理程序/缺省处理程序/缺省处理
程序/缺省处理程序/缺省/缺省处理程序 //用法故障处理
程序0,//保留
0,//保留
0,//保留
0,//保留
IntDefaultHandler, // SVCall 处理程序
IntDefaultHandler,//调试监视器处理程序
0,//保留
IntDefaultHandler,// PendSV 处理程序
IntDefaultHandler,// SysTick 处理程序
IntDefaultHandler,// GPIO 端口 A
IntDefaultHandler,// GPIO 端口 B
IntDefaultHandler,// GPIO 端口 C
IntDefaultHandler,// GPIO 端口 D
IntDefaultHandler,//
GPIO 端口0IntDefaultUART0E // UART0 Rx 和 Tx
IntDefaultHandler、// UART1 Rx 和 Tx
IntDefaultHandler、// SSI0 Rx 和 Tx
IntDefaultHandler、// I2C0主控和受控
IntDefaultHandler、// PWM 故障
IntDefaultHandler、// PWM 发生器0
IntDefaultHandler、// PWM 发生器1 IntDefaultHandler
、// PWM 发生
器2 IntDefault0、IntDefault0编码
器、IntDefault0 // ADC Sequence 0
IntDefaultHandler,// ADC Sequence 1
IntDefaultHandler,// ADC Sequence 2
IntDefaultHandler,// ADC Sequence 3
IntDefaultHandler,//看门狗计时器
IntDefaultHandler,//计时器0子计时器 A
IntDefaultHandler,//计时器0子计时器 B
IntDefaultHandler,//计时器1子计时器 A
IntDefaultHandler,//计时器1子计时
器 B IntDefaultHandler, //计时器2子计时器 A
IntDefaultHandler、//计时器2子计时器 B
IntDefaultHandler、//模拟比较器0
IntDefaultHandler、//模拟比较器1
IntDefaultHandler、//模拟比较器2
IntDefaultHandler、//系统控制(PLL、OSC、BO)
IntDefaultHandler、//闪存控制
IntDefaultHandler、// GPIO 端口 F
IntDefaultHandler
、IntDefaultGPIO // GPIO 端口 H
IntDefaultHandler、// UART2 Rx 和 Tx
IntDefaultHandler、// SSI1 Rx 和 Tx
IntDefaultHandler、//计时器3子计时器 A
IntDefaultHandler、//计时器3子计时器 B
IntDefaultHandler、// I2C1主控和从
控 IntHandler、//正交编码器1
IntDefaultHandler、// CAN0 IntDefault0
、CANDefault0、保留/ CANDefault0
//保留
IntDefaultHandler, // Hibernate
IntDefaultHandler,// USB0
IntDefaultHandler,// PWM 发生器3
IntDefaultHandler,// UDMA 软件传输
IntDefaultHandler,// UDMA 错误
IntDefaultHandler,// ADC1 Sequence 0
IntDefaultHandler,// ADC1 Sequence 1
IntDefaultHandler,// ADC1 Sequence 2
IntDefaultHandler,// ADC1 Sequence 3
0,//保留
IntDefaultHandler,//保留 // GPIO 端口 J
IntDefaultHandler、// GPIO 端口 K
IntDefaultHandler、// GPIO 端口 L
IntDefaultHandler、// SSI2 Rx 和 Tx
IntDefaultHandler、// SSI3 Rx 和 Tx
IntDefaultHandler、// UART3 Rx 和 Tx
IntDefaultRx、// UART4 Handler 和 Tx
IntDefaultRx、// UART5和 Tx
IntHandler、 // UART6 Rx 和 Tx
IntDefaultHandler、// UART7 Rx 和 Tx
0、//保留
0、//保留
0、//保留
0、//保留0、//保留
IntDefaultHandler、 // I2C2主控和受控
IntDefaultHandler,// I2C3主控和受控
IntDefaultHandler,//计时器4子计时器 A
IntDefaultHandler,//计时器4子计时器 B
0,//保留
0,//保留
0,//保留
0,//保留0,//保留
0,//保留0,//保留0, //保留
0、//保留
0、//保留
0、//保留
0、//保留
0、//保留0、 //保留
0、//保留
0、//保留
0、//保留
0、//保留
0、//保留0、 //保留
0、//保留
0、//保留
0、//保留
0、//保留
0、//保留0、 //保留
IntDefaultHandler、// Timer 5子计时器 A
IntDefaultHandler、// Timer 5子计时器 B
IntDefaultHandler、//宽计时器0子计时器 A
IntDefaultHandler、//宽计时器0子计时器 B
IntDefaultHandler、//宽计时器1子计时器 A
IntDefaultHandler、//宽计时器1子计时器 B
IntDefaultHandler、//宽计时器2子
计时器 A IntDefaultHandler //宽计时器2子计时器 B
IntDefaultHandler,//宽计时器3子计时器 A
IntDefaultHandler,//宽计时器3子计时器 B
IntDefaultHandler,//宽计时器4子计时器 A
IntDefaultHandler,//宽计时器4子计时器 B
IntDefaultHandler,//宽计时器5子计时器 A
IntDefaultHandler,//宽计时器5子计时器 B
IntDefaultHandler, // FPU
0、//保留
0、//保留
IntDefaultHandler、// I2C4主控和受控
IntDefaultHandler、// I2C5主控和受控
IntDefaultHandler、// GPIO 端口 M
IntDefaultHandler、// GPIO 端口 N
IntDefaultHandler、// Int正 交编码器2
0、//保留
0、//保留
IntDefaultHandler、// GPIO 端口0、//默认 P0
// GPIO 端口 P1
IntDefaultHandler、// GPIO 端口 P2
IntDefaultHandler、// GPIO 端口 P3
IntDefaultHandler、// GPIO 端口 P4
IntDefaultHandler、// GPIO 端口
DefaultIntDefaultHandler、// GPIO 端口 P6
IntDefaultHandler、// GPIO 端口 P7 IntDefaultP5
、// GPIO 端口 Q (摘要或 Q0)
IntHandler、// GPIO 端口 IntDefaultHandler、// GPIO 端口 Q1
// GPIO 端口 Q2
IntDefaultHandler、// GPIO 端口 Q3
IntDefaultHandler、// GPIO 端口 Q4
IntDefaultHandler、// GPIO 端口 Q5
IntDefaultHandler、// GPIO 端口 Q6
IntDefaultHandler、// GPIO 端口 Q7
IntDefaultHandler、// GPIO 端口 R
IntDefaultHandler、// GPIO 端口 S
IntDefaultHandler、// PWM 1发生器0
IntDefaultHandler、 // PWM 1发生器1
IntDefaultHandler、// PWM 1发生器2
IntDefaultHandler、// PWM 1发生器3
IntDefaultHandler、// PWM 1故障
0、//保留
0、//保留
0、//保留
0、//保留0、//保留0、//保留
0、//保留0、//保留0、//保留0、 //保留
0、//保留
0、//保留
0、//保留
0、//保留
0、//保留0、 //保留
0、//保留
0、//保留
0、//保留
0、//保留
0、//保留0、 //保留
0、//保留
0、//保留
0、//保留
0、//保留
0、//保留0、 //保留
0、//保留
0、//保留
0、//保留
0、//保留
0、//保留0、 //保留
0、//保留
0、//保留
0、//保留
0、//保留
0、//保留0、 //保留
0、//保留
0、//保留
0、//保留
0、//保留
0、//保留0、 //保留
0、//保留
0、//保留
0、//保留
0、//保留
0、//保留0、 //保留
0、//保留
0、//保留
0、//保留
0、//保留
0、//保留0、 //保留
0、//保留
0、//保留
0、//保留
0、//保留
0、//保留0、 //保留
0,//保留
0,//保留
IntDefaultHandler,// I2C6主控和受控
IntDefaultHandler,// I2C7主控和受控
IntDefaultHandler,// HIM 扫描矩阵键盘0
IntDefaultHandler,//单线0
IntDefaultHandler,//远程温度传感器0
IntDefaultHandler,// HIM PS/2 0
IntDefaultHandler,// LED IntDefaultencer 0
// HIM Consumer IR 0
IntDefaultHandler,//电源稳压器总线0
(void (*)(void)) 0xFF01FF02,//标题前缀0
(void (*)(void)) 0xFF03FF04,//标题前缀1
(void (*)(void)(void)(void)(void)(void (void)(void)(void)(void)(void)(void)(void)(void)(void)(void)(void)(void)(void)(void)(void)(void)(void)(void)(void)(void)(void)(void)(void)(void
(void (*)(void)) 0xFFFFFFFF //标题保留
};
//*********
//
//这是在处理器首次开始执行
时调用的代码//在复位事件之后。 只执行绝对必要的设置,
//之后调用应用程序提供的 entry()例程。 任何花式
//操作(例如根据复位原因寄存
器做出决策、和//复位该寄存器中的位)都只能由//应用程序控制。
////
*****************
void
ResetISR (void)
{
//
//跳转到 CCS C 初始化例程。 这也将启用
//浮点单元、因此无需在此处执行此操作。
//
__asm (".global _c_int00\n"
" b.w _c_int00");
}
//
//
//这是当处理器接收到 NMI 时被调用的代码。 这个
//只需进入一个无限循环,保留系统状态供
调试器检查//。
////
*****************
static void
NmiSR (void)
{
//
//输入无限循环。
//
while (1)
{
}
//*********
//
//这是处理器收到故障
//中断时调用的代码。 这只是进入一个无限循环、保持系统状态
//供调试器检查。
////
*****************
静态空
FaultISR (void)
{
//
//输入无限循环。
//
while (1)
{
}
//*********
//
//这是当处理器收到意外
的//中断时调用的代码。 这只是进入一个无限循环、保持系统状态
//供调试器检查。
////
*****************
静态空
IntDefaultHandler (void)
{
//
//进入无限循环。
//
while (1)
{
}
我是否需要更改代码中的其他内容来调用中断
如何解决问题、请提供帮助。