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

 
 
> IAR сошел с ума.
Jenya7
сообщение Jul 6 2018, 08:17
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075



Все работало вдруг началась проблема.
Принимаю команду с терминала
Код
if (usart1_rx_ready)
{
   usart1_rx_ready = 0;
   PARSER_ParseCommand(usart1_rx_buf);
}
ставлю точку останова на PARSER_ParseCommand(usart1_rx_buf); - вижу пришла красивая команда с '\0' в конце.
захожу внутрь функции
Код
uint32_t PARSER_ParseCommand(char *str)
{
    uint32_t com_found = 0;
    uint32_t len = 0;
    
    len = strlen(str);
    
    char temp_str[len];
strlen вычисляет длину строки - 504588880 - и естественно при алокации - char temp_str[len] - выпадаем в хард фолт.
Ну и кто он (IAR) после этого?

Сообщение отредактировал Jenya7 - Jul 6 2018, 08:18
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Jenya7
сообщение Jul 6 2018, 08:36
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075



ок. ничего не выделяю. никаких массивовю просто
Код
uint32_t len = strlen(str);
выдает какие то не реальные цифры.

Go to the top of the page
 
+Quote Post
VladislavS
сообщение Jul 6 2018, 08:41
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 475
Регистрация: 14-04-05
Из: Москва
Пользователь №: 4 140



Цитата(Jenya7 @ Jul 6 2018, 11:36) *
ок. ничего не выделяю. никаких массивовю просто
Код
uint32_t len = strlen(str);
выдает какие то не реальные цифры.

С размером стека порядок?

Переходите на С++, он вам так в ногу стрелять не даст.
Цитата
Error[Pe028]: expression must have a constant [note]: the value of variable "len" (declared at line XX) cannot be used as a constant



ЗЫ: Постой, постой! Что-то похожее припоминаю... Если не подключен string.h, он какую-то лажу вместо функций работы со строками подставлял. Прямо в этом модуле #include <string.h> добавь.
Go to the top of the page
 
+Quote Post
Jenya7
сообщение Jul 6 2018, 08:45
Сообщение #4


Профессионал
*****

Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075



Цитата(VladislavS @ Jul 6 2018, 13:41) *
С размером стека порядок?

Переходите на С++, он вам так в ногу стрелять не даст.


я все закрыл. все. strlen все равно возвращает мусор.
Go to the top of the page
 
+Quote Post
VladislavS
сообщение Jul 6 2018, 08:56
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 475
Регистрация: 14-04-05
Из: Москва
Пользователь №: 4 140



Цитата(Jenya7 @ Jul 6 2018, 11:45) *
я все закрыл. все. strlen все равно возвращает мусор.

Прямо в этом модуле #include <string.h> добавь. Попробуй, это не долго.
Go to the top of the page
 
+Quote Post
Jenya7
сообщение Jul 6 2018, 08:59
Сообщение #6


Профессионал
*****

Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075



Цитата(VladislavS @ Jul 6 2018, 13:56) *
Прямо в этом модуле #include <string.h> добавь. Попробуй, это не долго.


переписал strlen.
Код
uint32_t StrlLen(char *str)
{
    uint32_t count = 0;
    while (*str != '\0')
    {
        str++;
        count++;
    }
    return count;
}
uint32_t len = StrlLen(str); возвращает тот же мусор
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Jenya7   IAR сошел с ума.   Jul 6 2018, 08:17
- - jcxz   Цитата(Jenya7 @ Jul 6 2018, 11:17) [/code...   Jul 6 2018, 08:25
|- - Jenya7   Цитата(jcxz @ Jul 6 2018, 13:25) Как он у...   Jul 6 2018, 08:29
||- - jcxz   Цитата(Jenya7 @ Jul 6 2018, 11:29) этот б...   Jul 6 2018, 08:33
||- - Сергей Борщ   QUOTE (jcxz @ Jul 6 2018, 11:33) Видимо к...   Jul 6 2018, 13:54
|- - scifi   Цитата(jcxz @ Jul 6 2018, 11:25) Как он у...   Jul 6 2018, 08:32
|- - jcxz   Цитата(scifi @ Jul 6 2018, 11:32) C99 это...   Jul 6 2018, 08:35
- - scifi   Цитата(Jenya7 @ Jul 6 2018, 11:17) strlen...   Jul 6 2018, 08:33
|- - Jenya7   Цитата(scifi @ Jul 6 2018, 13:33) Есть та...   Jul 6 2018, 08:39
|- - jcxz   Цитата(Jenya7 @ Jul 6 2018, 11:39) там ас...   Jul 6 2018, 08:42
|- - scifi   Цитата(Jenya7 @ Jul 6 2018, 11:39) там ас...   Jul 6 2018, 08:59
|- - jcxz   Цитата(Jenya7 @ Jul 6 2018, 11:36) ок. ни...   Jul 6 2018, 08:38
|- - VladislavS   А на строке return count; какое значение count? С...   Jul 6 2018, 09:04
|- - Jenya7   Цитата(VladislavS @ Jul 6 2018, 14:04) А ...   Jul 6 2018, 09:08
|- - VladislavS   Цитата(Jenya7 @ Jul 6 2018, 12:08) хм...д...   Jul 6 2018, 09:10
||- - Jenya7   Цитата(VladislavS @ Jul 6 2018, 14:10) Да...   Jul 6 2018, 09:13
||- - scifi   Цитата(VladislavS @ Jul 6 2018, 12:10) Да...   Jul 6 2018, 09:13
|- - scifi   Цитата(Jenya7 @ Jul 6 2018, 12:08) хм...д...   Jul 6 2018, 09:12
|- - Jenya7   Цитата(scifi @ Jul 6 2018, 14:12) Оптимиз...   Jul 6 2018, 09:16
|- - scifi   Цитата(Jenya7 @ Jul 6 2018, 12:14) и выле...   Jul 6 2018, 09:18
||- - Jenya7   Цитата(scifi @ Jul 6 2018, 14:18) Хотите ...   Jul 6 2018, 09:27
|- - scifi   Цитата(Jenya7 @ Jul 6 2018, 12:16) нет то...   Jul 6 2018, 09:31
- - Arlleex   Кодif (usart1_rx_ready) { usart1_rx_rea...   Jul 6 2018, 09:27
|- - Jenya7   Цитата(Arlleex @ Jul 6 2018, 14:27) Кодif...   Jul 6 2018, 09:37
||- - VladislavS   Цитата(Jenya7 @ Jul 6 2018, 12:37) если я...   Jul 6 2018, 09:40
||- - Jenya7   Цитата(VladislavS @ Jul 6 2018, 14:40) И ...   Jul 6 2018, 09:45
||- - aaarrr   Цитата(Jenya7 @ Jul 6 2018, 12:45) uint32...   Jul 6 2018, 09:52
||- - Arlleex   Цитата(Jenya7 @ Jul 6 2018, 13:45) usart1...   Jul 6 2018, 09:52
||- - Jenya7   Цитата(Arlleex @ Jul 6 2018, 14:52) Вы ко...   Jul 6 2018, 10:26
||- - scifi   Цитата(Jenya7 @ Jul 6 2018, 13:26) ЧИЗЭС ...   Jul 6 2018, 14:06
||- - Jenya7   Цитата(scifi @ Jul 6 2018, 19:06) Семён С...   Jul 7 2018, 05:35
|- - aaarrr   Цитата(Arlleex @ Jul 6 2018, 12:27) Сам б...   Jul 6 2018, 09:55
|- - Arlleex   Цитата(aaarrr @ Jul 6 2018, 13:55) Вот вс...   Jul 6 2018, 10:09
- - Сергей Борщ   QUOTE IAR сошел с ума.Мне кажется, кого-то уже пор...   Jul 7 2018, 05:46
- - Jenya7   Цитата(Сергей Борщ @ Jul 7 2018, 10:46) М...   Jul 7 2018, 06:11


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

 


RSS Текстовая версия Сейчас: 19th June 2025 - 04:11
Рейтинг@Mail.ru


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