⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
4个帖子/ 0新
最后一篇
Gert186.
离线
最后一次露面:1年5个月前
加入:2016-04-21 12:59
存储问题

你好,

我已将代码写入样本P00,P01,P02 ADC值。

此代码由无索+ tmrstart = 0,0,1触发

代码看起来像:

否则if(user_compare_cmd(“tmrstart”,3,3)))
{

uint8_t timer_id = ahtoi((char *)参数array [0]);
uint8_t index = ahtoi((char *)参数array [1]);
times_seconds = ahtoi((char *)参数array [2]);

if(index == 0)
Codeless_env.tmr [timer_id] = app_easy_timer(ahtoi((char *)aregument_array [2]),throw_command0);
否则if(index == 1)
Codeless_env.tmr [timer_id] = app_easy_timer(ahtoi((char *)aregument_array [2]),oppl_command1);
别的
user_reply(tempstr,false);
if(索引<4)
user_reply(tempstr,true);

//输入引脚
gpio_configurepin((gpio_port)0,(gpio_pin)0,输入,pid_gpio,false);
gpio_configurepin((gpio_port)0,(gpio_pin)1,输入,pid_gpio,false);
gpio_configurepin((gpio_port)0,(gpio_pin)2,输入,pid_gpio,false);

// ADC init.

adc_init(gp_adc_se,0,0);
}

在回调码中:
void throw_command0()
{
Dodeless_env.suppress_response = true;
adc_enable_channel(0);
adc_get_sample();
INT length =(int)(sizeof(adc_values_1)/ sizeof(adc_values_1 [0]));
for(int i = 0; i adc_enable_channel(0);
adc_get_sample();
adc_values_1 [i] = adc_get_sample();
ADC_ENABLE_CHANNEL(1);
adc_get_sample();
adc_values_2 [i] = adc_get_sample();
ADC_ENABLE_CHANNEL(2);
adc_get_sample();
adc_values_3 [i] = adc_get_sample();
}
for(int i = 0; i ARCH_PRINTF(“%i,%i,%i,i \ r \ n”,ADC_VALUES_1 [I],ADC_VALUES_2 [I],ADC_VALUES_3 [I]);
}
Dodeless_env.tmr [0] = app_easy_timer(time_seconds,throw_command0);
Dodeless_env.suppress_response = false;
}

计时器在回调函数中重新启动自身。

它适用于时间的时间和程序崩溃。

阵列是全局定义的:
int adc_value_1 [30];

如果我用IDE keil调试它并运行它可能会填写存储或ADC停止工作?
问题发生的任何想法?

ARCH_PRINTF()造成了问题!

此致
盖特

设备:
im_dialog.
离线
最后一次露面:2个月4周前
加入:2016-12-06 22:25
嗨gert186,

嗨gert186,

我建议使用调试器来弄清楚代码崩溃的位置。如果您可以找到导致问题的代码行,我们应该能够进一步帮助。

此致

im_dialog.

Gert186.
离线
最后一次露面:1年5个月前
加入:2016-04-21 12:59
我使用调试器!但是

我使用调试器!但问题是没有达到UART2回调函数:
静态void UART_CALLBALL(UINT8_T RES)
此函数或多或少删除缓冲区。

所以,如果你在循环中调用Arch_printf()。代码杀死自己。我不知道为什么!

此致
盖特

mhv_dialog
离线
最后一次露面:3个月2周前
职员
加入:2013-12-06 15:10
嗨盖特,

嗨盖特,

我想知道你要发送到UART的字节数。您显然每10ms每10ms调用计时器函数。你是否接近57k6位的UART比特率?

代码是否会运行,如果您只发送一个字符作为实验?

/ mhv.