AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR... |
24.07.2015, 18:02
|
|
Временная регистрация
Регистрация: 24.03.2015
Адрес: Россия. г.Новосибирск
Сообщений: 69
Сказал спасибо: 12
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Помогите советом ATmega8535
Убрал volatile во всех глобальных переменных
Получил 3460 байт за место 3988
Но без volatile не могу просматривать переменные в режиме отладки.
|
|
|
|
24.07.2015, 18:44
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: Помогите советом ATmega8535
|
|
|
Сказали "Спасибо" NewWriter
|
|
|
24.07.2015, 19:00
|
|
Временная регистрация
Регистрация: 24.03.2015
Адрес: Россия. г.Новосибирск
Сообщений: 69
Сказал спасибо: 12
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Помогите советом ATmega8535
У меня в программе много таких операций как temp|=(1‹‹0);
//начало
unsigned char temp=0; // регистр флагов(это создаю раз глобально)
В какой ни будь функции делаем так..
temp|=(1‹‹0);
Потом в другой функции его опрашиваю
if (temp&(1‹‹0)){
делаем что то...
после чего ....
temp&=~(1‹‹0);
return;
} else {return;}
то есть проще говоря создал свой регистр флагов. И каждый бит этого регистра за что то отвечает. В ассемблере так можно, меня так в колледже учили, препод практик сильный был . Может в си как то по другому можно ?
|
|
|
|
24.07.2015, 19:13
|
|
Временная регистрация
Регистрация: 24.03.2015
Адрес: Россия. г.Новосибирск
Сообщений: 69
Сказал спасибо: 12
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Помогите советом ATmega8535
Вот такая программка заняла 98 байт. Это нормально ?
#include ‹avr/io.h›
#include ‹avr/interrupt.h›
unsigned char a;
int main (void){
PORTB&=~(1‹‹1);
a&=~(1‹‹1);
}
|
|
|
|
24.07.2015, 19:22
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,896
Сказал спасибо: 2,541
Сказали Спасибо 11,816 раз(а) в 5,924 сообщении(ях)
|
Re: Помогите советом ATmega8535
Сообщение от ARTEM277
|
Это нормально ?
|
Посмотрите листинг. Там поймете.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
25.07.2015, 00:42
|
|
Временная регистрация
Регистрация: 24.03.2015
Адрес: Россия. г.Новосибирск
Сообщений: 69
Сказал спасибо: 12
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Помогите советом ATmega8535
Сообщение от akegor
|
Посмотрите листинг. Там поймете.
|
Листинг чего ? Своей же программы ? Или в дизассемблере ?
Просто вот такое PORTA&=~(1‹‹1) занимает два байта.
А если свою переменную temp&=~(1‹‹1) 10 байт.Если int temp
то 20 байт. Почему то переменную char он понимает в 16 bit.вот это мне не понятно.
В букварях написанно ,что char это 8 bit.
Я эту тему закрою.А то с еепром уехали в азы СИ .Создам новую.
С вопросами по теме настройки avr studio+win avr
Всем огромное спасибо.Очень доволен форумом.И вами форумчане.
|
|
|
|
25.07.2015, 00:46
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,896
Сказал спасибо: 2,541
Сказали Спасибо 11,816 раз(а) в 5,924 сообщении(ях)
|
Re: Помогите советом ATmega8535
Сообщение от ARTEM277
|
Листинг чего ?
|
ASM Где-то он должен быть. Не помню, где он у Студии.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
25.07.2015, 00:48
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 7,981
Сказал спасибо: 0
Сказали Спасибо 4,941 раз(а) в 2,370 сообщении(ях)
|
Re: Помогите советом ATmega8535
Сообщение от ARTEM277
|
Листинг чего ? Своей же программы ?
|
Или в дизассемблере, для разных типов переменных и сравните с асмом
|
|
|
|
25.07.2015, 01:12
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Помогите советом ATmega8535
Сообщение от ARTEM277
|
В букварях написанно ,что char это 8 bit.
|
Если в UTF-8, а в UNICODE?
Сейчас модно пользоваться uint-ами.
|
|
|
|
25.07.2015, 07:14
|
|
Временная регистрация
Регистрация: 24.03.2015
Адрес: Россия. г.Новосибирск
Сообщений: 69
Сказал спасибо: 12
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Помогите советом ATmega8535
Перевариваю.Смотрю.Думаю.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 14:42.
|
|