Найдено 9 результатов

mbzyab
Пн фев 14, 2011 01:13:59
Форум: Микроконтроллеры и ПЛИС
Тема: Atmega128 тормозит? AVRStudio+Proteus
Ответы: 28
Просмотры: 5689

Re: Atmega128 тормозит? AVRStudio+Proteus

Пользуясь случаем, передаю привет моей маме, моему тренеру и Сатане! :))

Всем спасибо за советы и за помощь, очень большое спасибо!
mbzyab
Вс фев 13, 2011 15:35:09
Форум: Микроконтроллеры и ПЛИС
Тема: Atmega128 тормозит? AVRStudio+Proteus
Ответы: 28
Просмотры: 5689

Re: Atmega128 тормозит? AVRStudio+Proteus


Вы правы, это похоже на мое второе предложение, только наоборот . Проблема в том, что во-первых: если в качестве Drive_Quants Си использует RAM, то для каждого изменения их значений будет тратится по 5 тактов минимум

//как Си переведет это на асм
LDS R16,Drive_Quants
DEC R16
STS Drive_Quants,R16 ...
mbzyab
Вс фев 13, 2011 11:24:59
Форум: Микроконтроллеры и ПЛИС
Тема: Atmega128 тормозит? AVRStudio+Proteus
Ответы: 28
Просмотры: 5689

Re: Atmega128 тормозит? AVRStudio+Proteus

Можно использовать табличный метод. Записать последовательно каждый шаг ШИМ в память и в цикле выдавать их на порты.


Тогда можно получить частоту порядка 1-1.5 кГц при 24 каналах 8-битной ШИМ. (Проверено в протеусе)
Минус - величину одного из 24 каналов можно менять только за 1 полный цикл ...
mbzyab
Сб фев 12, 2011 21:13:07
Форум: Микроконтроллеры и ПЛИС
Тема: Atmega128 тормозит? AVRStudio+Proteus
Ответы: 28
Просмотры: 5689

Re: Atmega128 тормозит? AVRStudio+Proteus

Satyr писал(а):
mbzyab писал(а):Не могу, к сожалению :( Прикован к Атмеге128.

Тогда только скучно, нудно и совершенно уныло изобретать давно изобретенный велосипед -))


Это какой?
Или он настолько секретный, что всем положено изобрести его самостоятельно, для пущего просветления? -_-'
mbzyab
Сб фев 12, 2011 20:56:46
Форум: Микроконтроллеры и ПЛИС
Тема: Atmega128 тормозит? AVRStudio+Proteus
Ответы: 28
Просмотры: 5689

Re: Atmega128 тормозит? AVRStudio+Proteus

Satyr писал(а):Взять контроллер с кучей каналов ШИМ -)
AT32UC3L016 - 48 ног, 35 каналов ШИМ

ну и полно АРМов с 14 каналами, если хватит.


Не могу, к сожалению :( Прикован к Атмеге128.
mbzyab
Сб фев 12, 2011 20:28:03
Форум: Микроконтроллеры и ПЛИС
Тема: Atmega128 тормозит? AVRStudio+Proteus
Ответы: 28
Просмотры: 5689

Re: Atmega128 тормозит? AVRStudio+Proteus


Предположил, что команды типа записи в регистр и побитной инверсии должны выполнятся за один такт.
Ну ооочень смелое предположение -)))
Какая операция (а их тут отнюдь не одна) сколько тактов берет можно почитать в даташите на AVR ядро.

Подозревал, очень, очень жаль


На это прерывание нужно ...
mbzyab
Сб фев 12, 2011 17:56:13
Форум: Микроконтроллеры и ПЛИС
Тема: Atmega128 тормозит? AVRStudio+Proteus
Ответы: 28
Просмотры: 5689

Atmega128 тормозит? AVRStudio+Proteus

Ситуация следующая: пишу в аврстудии на си, эмулирую в протеусе, МК - Atmega128. Поставил ему частоту 8МГц, рассуждая, что при такой частоте каждый такт будет длится 1/8 микросекунды.
Захотел это проверить.
Предположил, что команды типа записи в регистр и побитной инверсии должны выполнятся за один ...
mbzyab
Сб фев 12, 2011 07:45:12
Форум: AVR
Тема: AVR studio в вопросах и ответах
Ответы: 3188
Просмотры: 1250497

Re: AVR studio 4 в вопросах и ответах


Поэтому-то в Воловских макросах (кстати, скоро 12 лет со дня их первой публикации в RU.EMBEDDED), как и во всех подобных случаях, делается двойной проброс
#define _off(port,bit) port &= ~(1<<(bit)) /* тут тоже нужно сложнее, лучше в do { } while(0) взять, но это отдельная тема */
#define off(P ...
mbzyab
Пт фев 11, 2011 19:37:08
Форум: AVR
Тема: AVR studio в вопросах и ответах
Ответы: 3188
Просмотры: 1250497

Re: AVR studio 4 в вопросах и ответах

Здравствуйте, я полный нуб и туплю, как бревно, заранее извините за это.

Ситуация следующая: попытался заюзать что-то вроде макросов Волкова, а они не компилятся (непонятно почему).

Допустим, такие макросы:

#define motor_0 PORTA, 0

#define _off(port, bit) port &= (~(1 << bit))


По идее, когда ...

Перейти к расширенному поиску