|
IAR сошел с ума. |
|
|
|
Jul 6 2018, 08:17
|
Профессионал
    
Группа: Участник
Сообщений: 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
|
|
|
|
|
 |
Ответов
|
Jul 6 2018, 08:36
|
Профессионал
    
Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075

|
ок. ничего не выделяю. никаких массивовю просто Код uint32_t len = strlen(str); выдает какие то не реальные цифры.
|
|
|
|
|
Jul 6 2018, 08:41
|
Местный
  
Группа: Свой
Сообщений: 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> добавь.
|
|
|
|
|
Jul 6 2018, 08:56
|
Местный
  
Группа: Свой
Сообщений: 475
Регистрация: 14-04-05
Из: Москва
Пользователь №: 4 140

|
Цитата(Jenya7 @ Jul 6 2018, 11:45)  я все закрыл. все. strlen все равно возвращает мусор. Прямо в этом модуле #include <string.h> добавь. Попробуй, это не долго.
|
|
|
|
|
Jul 6 2018, 08:59
|
Профессионал
    
Группа: Участник
Сообщений: 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); возвращает тот же мусор
|
|
|
|
Сообщений в этой теме
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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|