Thread 中讨论的其他器件:SYSBIOS、
工具/软件:TI-RTOS
您好!
我的系统使用 GPIO 18下降沿作为中断源。 我的中断例程的第一条指令是切换 GPIO 22。
我已经用示波器时间测量了 GPIO 18的下降沿和 GPIO 22的沿之间 的时间、并获得了很长的抖动时间(即使这是唯一应该发生的中断):
µs µs µs µs µs 在1.45 μ s 至1.65 μ s 或1.65 μ s 至1.85 μ s 之间、但有时可能会达到2.5 μ s。 我在 SYSBIOS 基准测试中针对 Hwi 调度程序的233个周期中非常远
我的 tms320c6654以850MHz 运行、我使用的是 SYSBIOS 6.46.00.23、xdctool 3.32.00.06、编译器7.4.16。
我尝试使用最新的编译器7.4.21进行编译。 它不会将1.45 µs 更改为1.65 μ s µs、但删除了1.65至1.85 μ s 以及更长的时间。
您认为这些时间是正常的吗? 如果不是,如何解释它们(配置、compil 选项...)?
是否有方法跟踪 GPIO 下降沿的执行(我有一个 xds560v2stm)
这是我的中断配置:
int hwi_gpio18 = 6;
int sys_interrupt_gpio18 = 2;
int host_interrupt_gpio18 = 1;
CpIntc_mapSysIntToHostInt (0、sys_interrupt_gpio18、host_interrupt_gpio18);
CpIntc_enableHostInt (0、host_interrupt_gpio18);
CpIntc_enableSysInt (0、sys_interrupt_gpio18);
CpIntc_dispatchPlug (sys_interrupt_gpio18、&Application::interruptGpio18、sys_interrupt_gpio18、true);
Hwi_Params_init (params);
Params.EventID = CpIntc_getEventId (host_interrupt_gpio18);
params.enableInt = 0;
params.arg = host_interrupt_gpio18;
Hwi_handle_gpio18 = Hwi_create (hwi_gpio18、&CpIntc_dispatch、¶ms、&EB);
Hwi_enableInterrupt (hwi_gpio18);
感谢你的帮助
以下屏幕截图显示了 khaki 中的 gpio18和蓝色的 GPIO 22








