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

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

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

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

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

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

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

 
Опции темы
Непрочитано 24.07.2015, 18:02  
ARTEM277
Временная регистрация
 
Регистрация: 24.03.2015
Адрес: Россия. г.Новосибирск
Сообщений: 69
Сказал спасибо: 12
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
ARTEM277 на пути к лучшему
По умолчанию Re: Помогите советом ATmega8535

Убрал volatile во всех глобальных переменных
Получил 3460 байт за место 3988
Но без volatile не могу просматривать переменные в режиме отладки.
Реклама:
ARTEM277 вне форума  
Непрочитано 24.07.2015, 18:44  
NewWriter
Заблокирован
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Помогите советом ATmega8535

http://chipenable.ru/index.php/progr...-volatile.html
NewWriter вне форума  
Сказали "Спасибо" NewWriter
ARTEM277 (24.07.2015)
Непрочитано 24.07.2015, 19:00  
ARTEM277
Временная регистрация
 
Регистрация: 24.03.2015
Адрес: Россия. г.Новосибирск
Сообщений: 69
Сказал спасибо: 12
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
ARTEM277 на пути к лучшему
По умолчанию Re: Помогите советом ATmega8535

У меня в программе много таких операций как temp|=(1‹‹0);

//начало
unsigned char temp=0; // регистр флагов(это создаю раз глобально)


В какой ни будь функции делаем так..
temp|=(1‹‹0);

Потом в другой функции его опрашиваю

if (temp&(1‹‹0)){
делаем что то...
после чего ....
temp&=~(1‹‹0);
return;
} else {return;}

то есть проще говоря создал свой регистр флагов. И каждый бит этого регистра за что то отвечает. В ассемблере так можно, меня так в колледже учили, препод практик сильный был . Может в си как то по другому можно ?
ARTEM277 вне форума  
Непрочитано 24.07.2015, 19:13  
ARTEM277
Временная регистрация
 
Регистрация: 24.03.2015
Адрес: Россия. г.Новосибирск
Сообщений: 69
Сказал спасибо: 12
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
ARTEM277 на пути к лучшему
По умолчанию Re: Помогите советом ATmega8535

Вот такая программка заняла 98 байт. Это нормально ?

#include ‹avr/io.h›
#include ‹avr/interrupt.h›
unsigned char a;


int main (void){

PORTB&=~(1‹‹1);

a&=~(1‹‹1);

}
ARTEM277 вне форума  
Непрочитано 24.07.2015, 19:22  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,896
Сказал спасибо: 2,541
Сказали Спасибо 11,816 раз(а) в 5,924 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Помогите советом ATmega8535

Сообщение от ARTEM277 Посмотреть сообщение
Это нормально ?
Посмотрите листинг. Там поймете.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 25.07.2015, 00:42  
ARTEM277
Временная регистрация
 
Регистрация: 24.03.2015
Адрес: Россия. г.Новосибирск
Сообщений: 69
Сказал спасибо: 12
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
ARTEM277 на пути к лучшему
Радость Re: Помогите советом ATmega8535

Сообщение от akegor Посмотреть сообщение
Посмотрите листинг. Там поймете.
Листинг чего ? Своей же программы ? Или в дизассемблере ?

Просто вот такое PORTA&=~(1‹‹1) занимает два байта.
А если свою переменную temp&=~(1‹‹1) 10 байт.Если int temp
то 20 байт. Почему то переменную char он понимает в 16 bit.вот это мне не понятно.
В букварях написанно ,что char это 8 bit.

Я эту тему закрою.А то с еепром уехали в азы СИ .Создам новую.
С вопросами по теме настройки avr studio+win avr
Всем огромное спасибо.Очень доволен форумом.И вами форумчане.
ARTEM277 вне форума  
Непрочитано 25.07.2015, 00:46  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,896
Сказал спасибо: 2,541
Сказали Спасибо 11,816 раз(а) в 5,924 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Помогите советом ATmega8535

Сообщение от ARTEM277 Посмотреть сообщение
Листинг чего ?
ASM Где-то он должен быть. Не помню, где он у Студии.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 25.07.2015, 00:48  
jump
Почётный гражданин KAZUS.RU
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 7,981
Сказал спасибо: 0
Сказали Спасибо 4,941 раз(а) в 2,370 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: Помогите советом ATmega8535

Сообщение от ARTEM277 Посмотреть сообщение
Листинг чего ? Своей же программы ?
Или в дизассемблере, для разных типов переменных и сравните с асмом
jump вне форума  
Непрочитано 25.07.2015, 01:12  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Помогите советом ATmega8535

Сообщение от ARTEM277 Посмотреть сообщение
В букварях написанно ,что char это 8 bit.
Если в UTF-8, а в UNICODE?

Сейчас модно пользоваться uint-ами.
omercury вне форума  
Непрочитано 25.07.2015, 07:14  
ARTEM277
Временная регистрация
 
Регистрация: 24.03.2015
Адрес: Россия. г.Новосибирск
Сообщений: 69
Сказал спасибо: 12
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
ARTEM277 на пути к лучшему
По умолчанию Re: Помогите советом ATmega8535

Перевариваю.Смотрю.Думаю.
ARTEM277 вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Re-0505S помогите советом Superki Источники питания и свет 2 08.10.2008 20:14
Помогите советом начинающему eler Делимся опытом 64 11.09.2008 17:28
Товарищи помогите советом!!! Mrak Микроконтроллеры, АЦП, память и т.д 13 17.11.2005 18:46
[Решено] Помогите советом Madison Видеотехника 9 06.08.2005 04:17
[Решено] помогите советом pioneer KEH-P7450 sreg kr Информация по радиокомпонентам 2 20.07.2005 18:57


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


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