Показать сообщение отдельно
Старый 14.04.2009, 16:12   #50
tester
Super Moderator
 
Аватар для tester
 
Регистрация: 28.02.2007
Возраст: 43
Сообщений: 3,577
Вес репутации: 4386/126
tester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond repute
По умолчанию Re: Вопросы по OSA

Цитата:
Сообщение от CERGEI1982 Посмотреть сообщение
С указателем разобрался,добавил строчку #define OS_MSG_TYPE const char * в файл OSAcfg.h.
Это правильно.

По твоему примеру:
Сразу бросилась в глаза ошибка: переменная c из задачи Task1 не объявлена как static. А через очередь передается указатель на нее. Переменные, значения которых должно быть сохранено после передачи управления планировщику должны быть объявлены как static, иначе их значение затрется локальными переменными других задач (обрати внимание, что msg1, msg2 и msg3 располагаются по одному адресу, потому что они локальные). Похоже, что по адресу 203 расположена как раз переменная c, запись в нее перетирает локальную переменную data.

Последний раз редактировалось tester; 14.04.2009 в 16:20.
tester вне форума   Ответить с цитированием