Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Программа на CodeVision - расшифруйте ошибочки
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
zheka
Нашел я программу написан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 - ошибок не наблюдается.


Помогите плз.
vet
Цитата(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;" говорить, думаю, будет излишним.
beer_warrior
Я не знаю фич кодвижина, однако ошибки достаточно типовые:
1. Неправильно выставлена модель памяти в свойствах компилятора
опция сейчас стоит на 256 байт памяти.(Тиньки или младшие 90-е)

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

3.Просит явно заявленный размер массива.Опять же текст урывком -трудно судить о контексте.
Должно быть:
static const byte FontLookup [][] ={{...}{...},{...},{...},{...}};
или
static const byte FontLookup [3][5];
zheka
Назывется "сам дурак".
Микросхему не выставил, стояла tiny13
Ошибки исчезли. Кроме размерности массива, которую выставил вручную.
выдается только несколько warings.
ПРограмма несмотря на библиотеки из imageCraft компилится. А вот индикатор что-то не зажегся.. Будем искать...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.