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

 
 
 
Reply to this topicStart new topic
> mVision2
Fape
сообщение Apr 9 2008, 07:45
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 1-07-05
Пользователь №: 6 451



Здраствуйте ктонибуть сталкивался с такой проблемой
Компилятор Keil мюVision2 под камень ADuc834

вот такой вот код генерит черт знает как

unsigned char var;

void func (unsigned char* data)
{
*data = "любое байтовое значение";
}

func(&var);


врепеменной var всегда оказыватся одно и тоже значение не имеющее ничего общего с присвоением в теле функции !!!

где искать подвох ???? 05.gif 05.gif 05.gif
Go to the top of the page
 
+Quote Post
Палыч
сообщение Apr 9 2008, 08:18
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



1. data - зарезервированое слово (наверное, в реальной программе - обозван параметр по другому)

2. "любое байтовое значение" - это что? Ковычки - к чему? Приведите пример.
Go to the top of the page
 
+Quote Post
Fape
сообщение Apr 9 2008, 08:22
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 1-07-05
Пользователь №: 6 451



Цитата(Палыч @ Apr 9 2008, 12:18) *
1. data - зарезервированое слово (наверное, в реальной программе - обозван параметр по другому)

2. "любое байтовое значение" - это что? Ковычки - к чему? Приведите пример.


это же пример есесенно data в программе не фигурирует ))))

любое бйтовой значение это означает что бы я в теле функции не присваивал наружу по указателю достаеца одно и тоже число !!!
Go to the top of the page
 
+Quote Post
Палыч
сообщение Apr 9 2008, 08:25
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Пример - где?

Что, вот так:
*data=0;
нуля не получаем?
Go to the top of the page
 
+Quote Post
Fape
сообщение Apr 9 2008, 08:32
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 1-07-05
Пользователь №: 6 451



именно не получаем ))))

unsigned char sss;


void ttt (unsigned char* Datum)
{
*Datum = 0x23;
}


ttt(&sss)

sss - всегда одно и тоже число в не зависимости от конкретного присвоения в теле функции (((
Go to the top of the page
 
+Quote Post
Палыч
сообщение Apr 9 2008, 08:36
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(Fape @ Apr 9 2008, 11:32) *
именно не получаем ))))
Ну, да, щас! Как Вы определили, что не получаете?
Go to the top of the page
 
+Quote Post
Fape
сообщение Apr 9 2008, 08:54
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 1-07-05
Пользователь №: 6 451



очень просто я переношу простенький протокол обмена с одного контролера на другой ) UART канал отлажен отсылаю на ПЦ значение из тела функции все тип топ на ПЦ приходит то что нужно отсылаю значение после того как функция отработала вынутое из нее по указателю всегда один итотже бред ... что характерно этот участок кода на AVR откомпелированный CVA работает безсбойно перенесенный uVision2 на ADuC834 глючит проверят отдельно без всякой лабуды просто тупо функция не возращает значение изменяемое по указателю ( второй день чешу в затылке ... главное могу переделать не используя указателя не сложно ... но сам факт убивает 07.gif 07.gif 07.gif
Go to the top of the page
 
+Quote Post
Палыч
сообщение Apr 9 2008, 09:03
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Так посмотрите, что там в ассемблерном коде. Ваш пример из поста #5 у меня работает на ура.
Go to the top of the page
 
+Quote Post
Fape
сообщение Apr 9 2008, 10:03
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 1-07-05
Пользователь №: 6 451



а что за версия компилятора ? )
Go to the top of the page
 
+Quote Post
Fape
сообщение Apr 9 2008, 11:43
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 1-07-05
Пользователь №: 6 451



все перепробовал ) переставил компилятор на uVision3 ... в место присвоения значения переданного в функцию по указателю происходит присвоение адреса этого же указателя ... мрак 07.gif

может че с настройками компилятора или проекта не так ? crying.gif

неужели ни каких идей ? sad.gif
Go to the top of the page
 
+Quote Post
Палыч
сообщение Apr 9 2008, 11:50
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(Fape @ Apr 9 2008, 14:43) *
может че с настройками компилятора или проекта не так ? crying.gif
Скорее - проблемы с кривыми руками. smile.gif
Вы попробуйте в компиляторе свой пример из поста #5. Если сработает правильно - копайте программу. Если не сработает - представте программу и её ассемблерный файл (его можно получить поставив галку Assemble SCR File в опциях файла).
Go to the top of the page
 
+Quote Post
Fape
сообщение Apr 10 2008, 06:59
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 1-07-05
Пользователь №: 6 451



БРАТЬЯ ПО РАЗУМУ 1111493779.gif глюк отловлен и ликвидирован ... дело в том что при компоновке проекта (случайно) был выкинут файл "START_AD.A51" ... без оного компилятор работал вот таким вот странным образом 07.gif 07.gif 07.gif ... встаки настройки проекта wink.gif всм спасибо за моральную поддержку !!!
Go to the top of the page
 
+Quote Post

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

 


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


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