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

 
 
 
Reply to this topicStart new topic
> Программа на CodeVision - расшифруйте ошибочки
zheka
сообщение Mar 2 2006, 15:26
Сообщение #1


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



Нашел я программу написанyю в ImageCraft - для LCD от Nokia 3310.
Запустил ее в CodeVision - выдало кучу ошибок.

1.

Есть код:
static int LcdCacheIdx;
static int LoWaterMark;
static int HiWaterMark;
static bool UpdateLcd;

напротив каждой строки выдало:
global variables address exceeds 0xFF in the TINY memory model


2. Код:

LcdCache[LcdCacheIdx++] = FontLookup[ch - 32][i] << 1;

Ошибка:
'[' not expected

3. Код:

static const byte FontLookup [][5] =

ошибка:
need array size



Хочу отметить, что в начале программы есть включение файлов:
#include <macros.h>
#include <iom8v.h>

Это файлы из ImageCraft, я их скопировал в CodeVision - ошибок не наблюдается.


Помогите плз.
Go to the top of the page
 
+Quote Post
vet
сообщение Mar 2 2006, 16:54
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 550
Регистрация: 16-06-04
Из: Казань
Пользователь №: 32



Цитата(zheka @ Mar 2 2006, 18:26) *
Хочу отметить, что в начале программы есть включение файлов:
#include <macros.h>
#include <iom8v.h>

Это файлы из ImageCraft, я их скопировал в CodeVision - ошибок не наблюдается.

Не пойдёт, у CV другой синтаксис объявления SFR'ов.
Используйте mega8.h.
Ну, а ICC-шный <macros.h> в CV бесполезен; разве что BIT(x) оттуда взять.

Цитата(zheka @ Mar 2 2006, 18:26) *
global variables address exceeds 0xFF in the TINY memory model

У Вас какая версия CV? Новые версии не дают выбрать модель TINY для mega8.
В данном случае имела место попытка скомпилировать в модели TINY (т.е. 8-бит указатели) проект, использующий больше 256 байт памяти. Поменяйте в настройках проекта модель на SMALL.

Цитата(zheka @ Mar 2 2006, 18:26) *
need array size

Проставьте вторую размерность тоже. CV сам рассчитывает размер только для одномерных массивов.

Про "typedef char bool; typedef char byte;" говорить, думаю, будет излишним.

Сообщение отредактировал vet - Mar 2 2006, 17:14


--------------------
Главная линия этого опуса ясна мне насквозь!
Go to the top of the page
 
+Quote Post
beer_warrior
сообщение Mar 2 2006, 17:07
Сообщение #3


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

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



Я не знаю фич кодвижина, однако ошибки достаточно типовые:
1. Неправильно выставлена модель памяти в свойствах компилятора
опция сейчас стоит на 256 байт памяти.(Тиньки или младшие 90-е)

2.скорее всего где-то в предыдуших строках упущена скобка -
попробуйте закоментить приведенную строку.
Как альтернатива - попробуйте разбить выражение на последовательные
операции. Так или иначе ошибка чисто синтаксическая.

3.Просит явно заявленный размер массива.Опять же текст урывком -трудно судить о контексте.
Должно быть:
static const byte FontLookup [][] ={{...}{...},{...},{...},{...}};
или
static const byte FontLookup [3][5];


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
zheka
сообщение Mar 2 2006, 18:01
Сообщение #4


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



Назывется "сам дурак".
Микросхему не выставил, стояла tiny13
Ошибки исчезли. Кроме размерности массива, которую выставил вручную.
выдается только несколько warings.
ПРограмма несмотря на библиотеки из imageCraft компилится. А вот индикатор что-то не зажегся.. Будем искать...
Go to the top of the page
 
+Quote Post

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

 


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


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