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

 
 
3 страниц V  < 1 2 3  
Reply to this topicStart new topic
> ГЛЮКИ КОМПИЛЯТОРОВ, предлагаю описывать здесь
DimG
сообщение Feb 9 2007, 06:06
Сообщение #31


Участник
*

Группа: Свой
Сообщений: 70
Регистрация: 4-04-06
Из: г. Омск
Пользователь №: 15 777



Цитата
Вряд ли. Потому что прямые линии рисуются этой функцией нормально

Какая прямая? Y у нее изменяется?(по крайней мере в пределах диапазона Y для функции с SIN). Если это не так, то это ничего не значит.
Вы бы привели все-таки саму функцию здесь.
Цитата
Ну про баги у кейла под 51 серию - я не буду тут распространяться.

Хотя бы один приведите. Можете даже отдельную ветку создать.
Go to the top of the page
 
+Quote Post
Fortune
сообщение Feb 9 2007, 11:05
Сообщение #32


Частый гость
**

Группа: Свой
Сообщений: 75
Регистрация: 1-02-07
Из: Украина
Пользователь №: 24 940



Цитата(DimG @ Feb 9 2007, 07:06) *
Цитата
Вряд ли. Потому что прямые линии рисуются этой функцией нормально

Какая прямая? Y у нее изменяется?(по крайней мере в пределах диапазона Y для функции с SIN). Если это не так, то это ничего не значит.
Вы бы привели все-таки саму функцию здесь.
Цитата
Ну про баги у кейла под 51 серию - я не буду тут распространяться.

Хотя бы один приведите. Можете даже отдельную ветку создать.


Y меняется естественно, я рисовал линии с наклоном в 0, pi/2, pi/3, pi/4,pi/6.
Потом создал массив, заполнил массив значениями синусоидальной функции(посчитал в компьютере) и через USART передал в контроллер. С массива синусоида вывелась контроллером нормально. Так что у меня нет повода сомневаться в том, что функция вывода точки работала как надо.

Ну текст то мне привести не сложно, но что вам это даст? Это всего лишь особенности работы с контроллером SED.Мне придется обьяснять как работает этот контроллер,и мы уйдем от темы.
Я попробую на днях ввести данные, посчитанные функцией sine на флеш карту(SD-карту через SPI уже подключил), тогда посмотрим, что к чему.Если синус окажется истинным, значит мне придется признать, что глюк был по моей вине unsure.gif



Цитата(Сергей Борщ @ Feb 8 2007, 18:23) *
Просмотрел обсуждение и не нашел упоминания - какой именно компилятор использовался. Он имеет симулятор? Вы можете написать простую программу, заполняющую массив из 36(100, 360) чисел типа float значением sin(i * 2 * M_PI / (sizeof(array)/sizeof(array[0])) и таким образом выяснить виновата функция sin или дальнейшая формула? Если функция не виновата, можно медитировать формулу. если виновата функция - будем "разбирать" ее.


IAR. Попробуем.
Go to the top of the page
 
+Quote Post
tag
сообщение Feb 9 2007, 11:08
Сообщение #33


Частый гость
**

Группа: Свой
Сообщений: 151
Регистрация: 21-02-06
Пользователь №: 14 561



...уже около года юзаю IAR и столкнулся с интересной особенностью (признаться компилятор у меня крякнутый), компилятор не любит глобальные переменные, в коде есть строчки типа:

unsigned int x;

.....

x = y;


...


sprintf(str, "x = %d", x);

...программа зацикливается. Посмотрел lst-ники, появились вопросы, стал играть оптимизацией, когда отменил оптимизацию все заработало.
Go to the top of the page
 
+Quote Post
DimG
сообщение Feb 9 2007, 11:23
Сообщение #34


Участник
*

Группа: Свой
Сообщений: 70
Регистрация: 4-04-06
Из: г. Омск
Пользователь №: 15 777



Fortune
Вообще-то я просто хотел увидеть, как объявлены в функции
point(x,y,0x0a);
первый и второй параметры. Совпадают ли они с объявлениями x и y.

И действительно, если у вас включена оптимизация, то попробуйте выключить ее.
Вообще, я бы предложил отложить дальнейшее обсуждение до момента, когда устройство будет собрано, а после этого продоложить поиски истины.
Go to the top of the page
 
+Quote Post
ahulap
сообщение Feb 9 2007, 11:32
Сообщение #35


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 22-06-06
Из: Kharkiv, UA
Пользователь №: 18 284



Функция sine() не имеет параметров, так что должна каждый раз давать один и тот же результат. И если синус считался неправильно, то он бы считался одинаково неправильно каждый раз. А автор пишет, что результаты на экране отличатся. ИМХО дело все же в чем-то другом. Или я не прав?
Go to the top of the page
 
+Quote Post
Fortune
сообщение Feb 9 2007, 12:00
Сообщение #36


Частый гость
**

Группа: Свой
Сообщений: 75
Регистрация: 1-02-07
Из: Украина
Пользователь №: 24 940



Цитата(DimG @ Feb 9 2007, 12:23) *
Вообще, я бы предложил отложить дальнейшее обсуждение до момента, когда устройство будет собрано, а после этого продоложить поиски истины.


Не возражаю.
Go to the top of the page
 
+Quote Post
Fortune
сообщение Feb 9 2007, 12:48
Сообщение #37


Частый гость
**

Группа: Свой
Сообщений: 75
Регистрация: 1-02-07
Из: Украина
Пользователь №: 24 940



Изменил программу:

volatile u08 iob[512];
void sine();
...
...
int main( void )
{
...
...
sine();
...
...

void sine()
{
unsigned int x;
unsigned char y;
float a;

for (x=0; x<320; x++)
{
a=(float)x/50;
y=(40*sin(a))+100;
iob[x]=y;
}

}
}

Теперь у меня вообще все виснет при вызове функции sine()
Go to the top of the page
 
+Quote Post
_Bill
сообщение Feb 9 2007, 14:07
Сообщение #38


Местный
***

Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219



Цитата(Fortune @ Feb 9 2007, 12:48) *
Изменил программу:

А контроллер какой?
Причина редактирования: Бездумное цитирование
Go to the top of the page
 
+Quote Post
Fortune
сообщение Feb 9 2007, 15:59
Сообщение #39


Частый гость
**

Группа: Свой
Сообщений: 75
Регистрация: 1-02-07
Из: Украина
Пользователь №: 24 940



Цитата(_Bill @ Feb 9 2007, 15:07) *
А контроллер какой?


Atmega128
Go to the top of the page
 
+Quote Post
_Bill
сообщение Feb 9 2007, 16:07
Сообщение #40


Местный
***

Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219



Цитата(Fortune @ Feb 9 2007, 15:59) *
Цитата(_Bill @ Feb 9 2007, 15:07) *

А контроллер какой?


Atmega128

Модель памяти, значения стека, версия компилятора?
Go to the top of the page
 
+Quote Post
Fortune
сообщение Feb 9 2007, 16:36
Сообщение #41


Частый гость
**

Группа: Свой
Сообщений: 75
Регистрация: 1-02-07
Из: Украина
Пользователь №: 24 940



Цитата(_Bill @ Feb 9 2007, 17:07) *
Цитата(Fortune @ Feb 9 2007, 15:59) *

Цитата(_Bill @ Feb 9 2007, 15:07) *

А контроллер какой?


Atmega128

Модель памяти, значения стека, версия компилятора?


Small, 0x80, 0x80 , IAR 4 - крякнутый
Go to the top of the page
 
+Quote Post
Andy Great
сообщение Feb 9 2007, 18:50
Сообщение #42


Знающий
****

Группа: Свой
Сообщений: 793
Регистрация: 5-11-04
Из: Краматорск, Украина
Пользователь №: 1 057



Аргумент синуса предполагается в радианах.
Go to the top of the page
 
+Quote Post

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

 


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


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