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.
工具/软件:Code Composer Studio
我对这个单元非常陌生、我必须编写一个代码来请求和处理中断。 双色 LED 保持红色、表示没有中断。 如果我使用"范围版本"、就证明了这一点。
当我暂停代码时、它在"意外中断"无限循环处停止。 此项目被压缩并上载到一个驱动器(链接到代码: 1drv.ms/.../s!Am7gs_qkgUzIkF3DmBwORrPrj )
我知道,我缺少一个包含中断声明的文件( startup_gcc.c )。 但是、如果我将其包含在内、我在编译时会收到一条错误消息、其中显示了一些汇编器命令和一个可能是 CCS 的工作目录、对于错误原因、没有给出任何解释。此外、错误消息也会被压缩并上载
(链接: 1drv.ms/.../s!Am7gs_qkgUzrizOZ24AyYcIPzBUN )
我想请您提出可能出错的问题。 我在端口 K 位3 (引脚 X11.32)上生成一个脉冲、并将这个引脚连接至分配给接收中断的引脚(端口 E 位3 -引脚 X11.20)。
很抱歉、我使用了链接、但我没有找到附加整个项目的任何其他方法。
谢谢你
此致
查尔斯
你(们)好,查尔斯
我的公司正在阻止访问任何外部共享站点。 我认为您的问题可能是您没有与启动文件中的端口 E 相关联的矢量。 您是否有如下 startup_ccs.c 文件中所示的矢量? 如果没有为 Porte 定义矢量、处理器将跳转至名为 IntDefaultHandler 的默认中断处理程序。 IntDefaultHandler 只不过是永久循环。
#pragma DATA_SECTION (g_pfnVectors、".intvecs")
void (* const g_pfnVectors [])(void)=
{
(void (*)(void)((uint32_t)&_stack_top)、
//初始堆栈指针
ResetISR、//复位处理程序
NmiSR、// NMI 处理程序
FaultISR、//硬故障处理程序
IntDefaultHandler、// MPU 故障处理程序
IntDefaultHandler、//总线故障处理程序
IntDefaultHandler、//用法故障处理程序
0、//保留
0、//保留
0、//保留
0、//保留
IntDefaultHandler、// SVCall 处理程序
IntDefaultHandler、//调试监视器处理程序
0、//保留
IntDefaultHandler、// PendSV 处理程序
IntDefaultHandler、// SysTick 处理程序
IntDefaultHandler、// GPIO 端口 A
IntDefaultHandler、// GPIO 端口 B
IntDefaultHandler、// GPIO 端口 C
IntDefaultHandler、// GPIO 端口 D
MyPortEHandler、// GPIO 端口 E
IntDefaultHandler、// UART0 Rx 和 Tx
IntDefaultHandler、// UART1 Rx 和 Tx
静态空
IntDefaultHandler (空)
{
//
//进入无限循环。
//
while (1)
{
}
}
我发现了问题... 为了告诉真相,我并不是很高兴。 原因是我花费了大量时间(我会将其称为"丢失时间")、因为在我添加 startup_gss.c 文件后、CSS 收到了错误消息。 它给了我一个错误消息-我会说无用(查看第二个链接)、或者我甚至会说垃圾邮件、而是意识到添加的文件-正确地包含中断子例程信息-是重复的、因为相同的信息显然不包含相同的信息、 显示在文件 tm4c1294nCdpt_ccs.c 中。 由于它的处理覆盖了包含正确信息的文件的处理结果-在执行时、代码会处理一个意外的中断例程。 我想我会被指责不正确研究涉及的15000行代码或现有的19.00页文档-我想在 CSS 中正确处理错误会在几秒钟内揭示这一问题。
无论如何、谢谢
查尔斯