реклама на сайте
подробности

 
 
> Default_Handler
Sergey_rzn62
сообщение Nov 29 2012, 05:28
Сообщение #1





Группа: Новичок
Сообщений: 9
Регистрация: 16-11-12
Пользователь №: 74 411



Доброе утро!

Процессор STM32F407. Настройки компилятора -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mthumb -Wall -ffunction-sections -O0 -mfloat-abi=hard -g.
Обрабатываю данные, поступающие по UART. Каждые 20 мс поступают по 20 байт.

Вот кусок кода.
CODE
.....
while (1)
{
if(g_read_usart == 1)
{
f.wx = s.XGYRO_OUT * 0.0008726646259972;
f.wy = s.YGYRO_OUT * 0.0008726646259972;
f.wz = s.ZGYRO_OUT * 0.0008726646259972;

adis_f.ax = s.XACCL_OUT * 0.033;
adis_f.ay = s.YACCL_OUT * 0.033;
adis_f.az = s.ZACCL_OUT * 0.033;

if(g_coarse == 1)
{
ca.bias_wx += adis_f.wx;
ca.bias_wx += adis_f.wx;
ca.bias_wx += adis_f.wx;

ca.m_ax += adis_f.ax;
ca.m_ay += adis_f.ay;
ca.m_az += adis_f.az;
}
........
}

Вопрос в том, что при пошаговой отладке попадаю в функцию
Код
static void Default_Handler(void)
{
    /* Go into an infinite loop. */
    while (1)
    {
    }
}

В чём может быть проблема?

Код такой:

CODE
while (1)
{
if(g_read_usart == 1)
{
f.wx = s.XGYRO_OUT * 0.0008726646259972;
f.wy = s.YGYRO_OUT * 0.0008726646259972;
f.wz = s.ZGYRO_OUT * 0.0008726646259972;

f.ax = s.XACCL_OUT * 0.033;
f.ay = s.YACCL_OUT * 0.033;
f.az = s.ZACCL_OUT * 0.033;

if(g_coarse == 1)
{
ca.bias_wx += f.wx;
ca.bias_wx += f.wx;
ca.bias_wx += f.wx;

ca.m_ax += f.ax;
ca.m_ay += f.ay;
ca.m_az += f.az;
}
........
}


Сообщение отредактировал IgorKossak - Nov 29 2012, 13:03
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!!!
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 18:14
Рейтинг@Mail.ru


Страница сгенерированна за 0.01339 секунд с 7
ELECTRONIX ©2004-2016