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

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

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

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

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

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

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

 
Опции темы
Непрочитано 22.12.2014, 10:40  
Bill
Гражданин KAZUS.RU
 
Регистрация: 02.06.2003
Адрес: Челябинск
Сообщений: 545
Сказал спасибо: 10
Сказали Спасибо 341 раз(а) в 202 сообщении(ях)
Bill на пути к лучшему
По умолчанию Re: Подскажите более скоростной вариант?

Сообщение от akegor Посмотреть сообщение
Проверка фиксированного бита и сдвиг каждый раз на один разряд. Содержимое байта, конечно, искажается сдвигом.
Все правильно. Поэтому (и для увеличения скорости, также) его предварительно нужно скопировать во временную переменную, и дальше работать с копией.
Реклама:
Bill вне форума  
Непрочитано 22.12.2014, 10:49  
Bill
Гражданин KAZUS.RU
 
Регистрация: 02.06.2003
Адрес: Челябинск
Сообщений: 545
Сказал спасибо: 10
Сказали Спасибо 341 раз(а) в 202 сообщении(ях)
Bill на пути к лучшему
По умолчанию Re: Подскажите более скоростной вариант?

Сообщение от Boba_spb Посмотреть сообщение
Дело то как раз и темное - все зависит от m;
PHP код:
#define bit_get(p,m) (p & (1 ‹‹ m))
bit_get(PORTA,5) - сдвиги на этапе трансляции.
A вот
int m
=5;
bit_get(PORTA,m) - сдвиги на этапе исполнения
Так а я о чем? Все абсолютно ясно, что сдвиги на этапе исполнения будут выполняться дольше. У ТС количество сдвигов в цикле постоянно меняется (от 0 до 7). Поэтому будет генерироваться вызов функции сдвига на m.
PS: Кстати в вашем примере "умный" компилятор может заменить m на константу. Но я предпочитаю использовать свой собственный ум.
Bill вне форума  
Непрочитано 22.12.2014, 10:52  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: Подскажите более скоростной вариант?

Сообщение от akegor Посмотреть сообщение
Содержимое байта, конечно, искажается сдвигом.
Это не содержимое искажается, это реальность искажается. Вместо того чтобы смело перейти на другую платформу, ввиду ступора и упора по быстродействию текущей, вы хором подсказываете как заниматься ананизмом левой ногой за правым ухом.
Кто там колхозит правой? Левой, левой!
STM32F0 вне форума  
Непрочитано 22.12.2014, 11:00  
Bill
Гражданин KAZUS.RU
 
Регистрация: 02.06.2003
Адрес: Челябинск
Сообщений: 545
Сказал спасибо: 10
Сказали Спасибо 341 раз(а) в 202 сообщении(ях)
Bill на пути к лучшему
По умолчанию Re: Подскажите более скоростной вариант?

Сообщение от STM32F0 Посмотреть сообщение
Это не содержимое искажается, это реальность искажается. Вместо того чтобы смело перейти на другую платформу, ввиду ступора и упора по быстродействию текущей, вы хором подсказываете как заниматься ананизмом левой ногой за правым ухом.
Кто там колхозит правой? Левой, левой!
Ну да, сила есть, ума не надо. Переходить на новую платформу не разобравшись со старой? Да и потом, для перехода на новую платформу должны быть достаточно веские причины. Переход может потребовать дополнительных затрат: времени, денег... Или нет?
Bill вне форума  
Непрочитано 22.12.2014, 11:10  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: Подскажите более скоростной вариант?

Сообщение от Bill Посмотреть сообщение
для перехода на новую платформу должны быть достаточно веские причины.
Причины для перехода всегда найдутся, даже перечислять нет смысла.
А вот топтание на месте действительно обусловлено причинами, как правило психологического характера, граничащих с фобиями.
Цитата:
Переход может потребовать дополнительных затрат: времени, денег... Или нет?
В итоге всё окупается. Или нет?(С)

Последний раз редактировалось STM32F0; 22.12.2014 в 11:12.
STM32F0 вне форума  
Непрочитано 22.12.2014, 11:26  
Boba_spb
Почётный гражданин KAZUS.RU
 
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Подскажите более скоростной вариант?

Сообщение от Bill Посмотреть сообщение
PS: Кстати в вашем примере "умный" компилятор может заменить m на константу. Но я предпочитаю использовать свой собственный ум.
Я тоже в таких случаях не полагаюсь на С
Например, на AVRке для динамического управления строчкой 16*256 RGB с мультипликсированием 4 писал что-то типа этого, где и мигание реализуется и фон и цвет.

PHP код:

.if   panel == XX
indik
:
    
push    r16
    push    r17
    push    r18
    push    r19
    push    r20
    push    r21
    push    r22
    push    XL
    push    XH
    ldi    XL
,low(bitmap)
    
ldi        XH,high(bitmap)
    
lds    r18,flag_blank
ind_
:
     
lds     r16,number_string 
     tst r16
     brne ind1    
ind0
:

    
ldi    r16,width_string/8
ind0_b
:
    
push    r16
    ldi    r16
,8

ind0_
:
    
ld     r20,x+
    
ld     r21,x+
    
sbrs r18,4
    clr     r20
    sbrs r18
,0
    clr     r21
    lds    r19
,op0+op_BackColor    
    sbrc r20
,4
    lds  r19
,ForeColor+4
    lds    r22
,op1+op_BackColor    
    sbrc r21
,4
    lds  r22
,ForeColor+12
    swap r22
    
or    r19,r22
    out    PORTA
,r19
    sbi    P_CLK
,B_CLK
    cbi    P_CLK
,B_CLK
    dec    r16
    brne ind0_
    sbiw    xh
:xl,16       
    ldi r16
,8

ind0_0
:
    
ld     r20,x+
    
ld     r21,x+
    
sbrs r18,4
    clr     r20
    sbrs r18
,0
    clr     r21
    lds    r19
,op0+op_BackColor
    sbrc r20
,0
    lds  r19
,ForeColor
    lds    r22
,op1+op_BackColor    
    sbrc r21
,0
    lds  r22
,ForeColor+8
    swap r22
    
or    r19,r22
    out    PORTA
,r19
    sbi    P_CLK
,B_CLK
    cbi    P_CLK
,B_CLK
    dec    r16
    brne ind0_0
    pop    r16
    dec r16
    brne  ind0_b
    jmp ind_ex
;---- 
Вполне шустренько все работает Atmege128
Boba_spb вне форума  
Непрочитано 22.12.2014, 11:58  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: Подскажите более скоростной вариант?

Сообщение от Boba_spb Посмотреть сообщение
в таких случаях не полагаюсь на С
Первый звонок из шестой палаты, что нужно переходить на другую платформу, иначе вынос мозга вместе с телом.
STM32F0 вне форума  
Непрочитано 22.12.2014, 12:07  
Boba_spb
Почётный гражданин KAZUS.RU
 
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Подскажите более скоростной вариант?

Сообщение от STM32F0 Посмотреть сообщение
Первый звонок из шестой палаты, что нужно переходить на другую платформу, иначе вынос мозга вместе с телом.
Обитателям палаты №6, можно не беспокоиться. Из AVR лет за 8 выжали все и давно перешли на STM32.
Boba_spb вне форума  
Непрочитано 22.12.2014, 12:19  
Bill
Гражданин KAZUS.RU
 
Регистрация: 02.06.2003
Адрес: Челябинск
Сообщений: 545
Сказал спасибо: 10
Сказали Спасибо 341 раз(а) в 202 сообщении(ях)
Bill на пути к лучшему
По умолчанию Re: Подскажите более скоростной вариант?

Сообщение от STM32F0 Посмотреть сообщение
В итоге всё окупается.
Вполне возможно. Я вот пока всерьез хочу заняться STM8. Но это для себя. Тем более, что для решения простеньких задач его вполне хватает. Когда-нибудь это и окупится. А что касается STM32, то мне приглянулся STM32F051. Думаю, в будущем он мне тоже пригодится.
Bill вне форума  
Непрочитано 22.12.2014, 12:29  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: Подскажите более скоростной вариант?

Сообщение от Bill Посмотреть сообщение
вот пока всерьез хочу заняться STM8. Но это для себя.
Круто повёрнуто! А несколько прошедших лет - это была "игра"? А малява СТМ-щикам?
Мы же не злопамятные, у нас все ходы записаны.
STM32F0 вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
собрал термостат, индикация работает некорректно, подскажите intell2000 Микроконтроллеры, АЦП, память и т.д 23 26.06.2009 17:59
Подскажите устройство лазерных светодиодов Sanyo Источники питания и свет 6 03.04.2009 22:16
Подскажите схему линейного усилителя SensorX Аудиотехника 2 31.10.2007 13:35
CodeVision Проблеммы при программе более 50% памяти Andrewg Proteus, KiCAD и другие ECAD 2 07.08.2007 17:20


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


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