定时器在DSP上中断

5个帖子/ 0新
最后一篇
Kostakis.
离线
最后一次露面:3年3周前
加入:2015-01-20 16:15
定时器在DSP上中断

嗨对话框。
我在DSPS设备项目上成功添加了一个Timer0中断。每次计时器创建中断时,我都会从SPI读取数据,然后将数据添加到UART到BLE缓冲区,以便通过蓝牙发送它们。定时器中断处理程序如下所述。

void swtim_handler(void)
{
nvic_disableirq(swtim_irqn);

Readmcp3004();
my_timer_init(50000);

nvic_enableirq(swtim_irqn);
}

void ReadMCP3004(无效)
{
.....

app_uart_push((uint8_t *)&adcdata,2,rx_state_ptr);
app_ble_push((uint8_t *)和adcdata,2);

.....

}

我的问题是,如果我设置计时器以创建相对大量的中断(例如每秒100个),我的程序会停止工作。另外,当我设置计时器创建较少数量的中断时,我的程序工作一段时间(1-4分钟),然后停止工作。请你帮助我好吗?

设备:
Gayan_Gamage.
离线
最后一次露面:4年9月前
加入:2016-04-28 21:23
timer_hnd app_easy_timer.

timer_hnd app_easy_timer(const uint16_t延迟,void(* fn)(void)),

如何使用变量更改上面的计时器的延迟。在更改任何设置之前,我们将停止计时器。这是可能的,如*(UINT8_T *)和ChangeOver_D。思想,延迟必须反映用户输入

mt_dialog.
离线
最后一次露面:2个月2周前
职员
加入:2015-06-08 11:34
嗨Kostakis,

嗨Kostakis,

你的睡眠模式是你的程序,还是你的睡眠?您提到您的程序停止,它在哪里停止,您是否可以看到您的代码在SPI功能上是堆栈?在一个sps.
功能 ?连接保持活力,或者有一个断开连接?也许ProbelM是由于SPI失败来重试数据。您还可以尝试使用内核计时器而不是a
正常定时器,由于580睡眠时正常定时器关闭。

嗨gayan_gamage,

您可以将用户输入存储在UINT16_T变量中,并将其传递给定时器函数,如此,如此,app_easy_timer(test,变量_timer_handler);似乎编译器甚至不会抱怨
如果输入是const。

谢谢mt_dialog.

苹果李
离线
最后一次露面:2年2个月前
加入:2014-05-20 03:45
CANER2中断吗?Timer1.

CANER2中断吗?Timer1可以重新regester回调,adoat timer2是什么?

mt_dialog.
离线
最后一次露面:2个月2周前
职员
加入:2015-06-08 11:34
嗨Apple Li,

嗨Apple Li,

不,Timer2不会生成用于ARM处理器的中断,其仅用于PWM生成。

谢谢mt_dialog.

主题锁定