Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 01.07.2008, 23:42  
double_dash
Прописка
 
Аватар для double_dash
 
Регистрация: 15.10.2006
Сообщений: 130
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 1 сообщении
double_dash на пути к лучшему
По умолчанию

вообще то
если ваша n - "нормальная" сишная переменная,
(а не какой нибудь там псевдоним регистра)
то во вставках к ее имени прочерк добавляется:

unsigned char n;

#asm
movwf _n
#endasm

Кстати необязательно чтобы переменная была 8-разрядная


long m;

#asm
movwf _m+1
#endasm

- положили в аккумулятор второй байт m

Или то же самое с массивами:

unsigned char k[6];

#asm
movwf _k+1
#endasm

Это конечно все про Hi-Tech написано
Но вроде везде так работает,
даже в CBuilder'е...
Реклама:
double_dash вне форума  
Непрочитано 02.07.2008, 20:02  
CERGEI1982
Почётный гражданин KAZUS.RU
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию

Не пойму в чем дело,создал проект и решил добавить массив чтоб выводить на жки числа в шестидиричном виде(за правописание сори,привык по простому) и тут компилятор пишет что мало памяти процесора,когда до добавления массива занято было памяти 36%.Сможет ли кто объяснить почему.

-- Прилагается рисунок: --


Прикрепленный файл: 1821279.rar
CERGEI1982 вне форума  
Непрочитано 02.07.2008, 20:03  
CERGEI1982
Почётный гражданин KAZUS.RU
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию

До того,как вставил массив

-- Прилагается рисунок: --
CERGEI1982 вне форума  
Непрочитано 02.07.2008, 20:04  
CERGEI1982
Почётный гражданин KAZUS.RU
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию

Сам массив в программе тут. numeral[]

-- Прилагается рисунок: --

CERGEI1982 вне форума  
Непрочитано 02.07.2008, 23:58  
double_dash
Прописка
 
Аватар для double_dash
 
Регистрация: 15.10.2006
Сообщений: 130
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 1 сообщении
double_dash на пути к лучшему
По умолчанию

По умолчанию все статические переменные
размещаются в нулевом банке
Массив, который инициализируется при объявлении(ну как тут),
компилятор само собой считает статическим
Здесь видимо памяти нулевого банка на весь массив
не хватило,
- похоже он распотрошил остатки на остальные банки(???)

В общем
объем ПЗУ здесь ТОЧНО ни причем
Думаю компилятор чё то натворил тут
с выделением памяти.
Можно попробовать явно указать банк,
в котором будет размещаться массив:

bank1 int numeral[ ] = { 0, 1, 2};
(Не уверен в идентификаторе:
в зависимости от компилятора
он может быть
_bank1 или __bank1)
double_dash вне форума  
Непрочитано 03.07.2008, 00:05  
urry
Почётный гражданин KAZUS.RU
 
Аватар для urry
 
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
urry на пути к лучшему
По умолчанию

А почему ты знакогенератор или что там еще тулишь в оперативку ?
Делай в памяти программ,как все.. ничего ведь не изменится от const unsigned int8 array[]={
urry вне форума  
Непрочитано 03.07.2008, 00:05  
urry
Почётный гражданин KAZUS.RU
 
Аватар для urry
 
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
urry на пути к лучшему
По умолчанию

дубль, снесите... Досикус, я не хотел, убери пост

double_dash, Ваше неприятие на аватаре - собственно, чего ??? Чем лично Вас АВР достал ??
urry вне форума  
Непрочитано 03.07.2008, 05:08  
CERGEI1982
Почётный гражданин KAZUS.RU
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию

Банки к сожелению я не разобрался как переключать,в мануале просмотрел нашел препроцесовую директиву locate(но там нет переключение банков).
Юрий ты уже это говорил,про то что массивы которые не изменяются надо делать const,спасибо за напоминание помогло,но все равно на будущее надо разобратся.

-- Прилагается рисунок: --

CERGEI1982 вне форума  
Непрочитано 03.07.2008, 11:19  
CERGEI1982
Почётный гражданин KAZUS.RU
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию

Немного почитав,ошибка вылезать из-за того что не хватает памяти ROM в первой странице,и как то надо переносить функцию с помощью директиры #SEPARATE,а я думал он автоматом занимает страницы памяти
CERGEI1982 вне форума  
Непрочитано 03.07.2008, 11:43  
CERGEI1982
Почётный гражданин KAZUS.RU
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию

Усе разобрался и проект собрал.Оказывается если функции больше больше инструкции,чем может занять одна страница,то выдает ошибку,сам не хотит переносить ее на другую страницу(применяет по умолчанию директиру INLINE,или не хотит дальше первой страницы переносить) странно как то,тока когда указал перед самой большой функцией #separate тогда он только откомпилировал.
А как с этим обстоит в хайтеке?

-- Прилагается рисунок: --
CERGEI1982 вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
i2c+ccs pic Gladkih Микроконтроллеры, АЦП, память и т.д 9 18.04.2016 22:17
PIC BASIC PRO Compiler 2.47 dosikus Proteus, KiCAD и другие ECAD 27 05.12.2009 05:48
изучение IAR AVR C compiler granel Микроконтроллеры, АЦП, память и т.д 0 10.10.2008 20:45
PIC C Compiler PCWH458 sergxxx Микроконтроллеры, АЦП, память и т.д 9 23.09.2008 18:25
Не включается дебаггер в CCS C Compiler BigMazzi Микроконтроллеры, АЦП, память и т.д 4 19.09.2008 13:34


Часовой пояс GMT +4, время: 09:41.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot