
я планирую изменять скорость в ходе работы ШД программно, т.е. изменением стартового числа в регистре TCNTх таймера ATmega128 и вдруг читаю ...

Подскажите пожалуйста про них.
PS при перезаписи TCNTх необходимо ли запрещать прерывания???
![]() |
roboforum.ruТехнический форум по робототехнике. |
|
wolly писал(а):таблицы разгона и торможения!!! Век живи, век учись.
Подскажите пожалуйста про них.
Master писал(а):Ни и что с разгоном и торможением не ясно? Таблиц универсальных кажется нету нуна смотреть характеристики определенного ШД.
void speed_change (void){
int REG; //REGistr startovogo 4isla
#asm("cli")
if(TCNT1H!=0x6F && TCNT1L!=0xFE){//esli skorost menee 100Hz
REG = (int)TCNT1H<<8; //zapolnenie 8-16 bitov REG
REG |= (int)TCNT1L; //zapolnenie 0-7 bitov REG
REG = REG + 0x6C0; //uveli4enie skorosti "Y" 10-100Hz za ~12 shagov
TCNT1L = REG; //vybor dannyh 0-7 bita iz REG dlja TCNT1L
REG=REG>>8; //zdvig bitov v REG s 8-12 na 0-7
TCNT1H=REG; //vybor bitov 0-7 dlja TCNT1H
//ustanovit 4astotu srabatyvanija TIM1 (skorost' dvizhenija po Y)
#asm("sei")
}
wolly писал(а):1. При занесении новых значений в регистры TCNTх необходимо ли запрещать прерывания???
wolly писал(а):Спасибо теб AVRcourse, но вопрос №2 все-таки важнее
if (TCNT1H!=0x6F && TCNT1L!=0xFE) { //esli skorost menee 100Hz
if (TCNT1H < 0x6F) { //esli skorost menee 100Hz
avr123.nm.ru писал(а):Строка странная (TCNT1H!=0x6F && TCNT1L!=0xFE)
Может этого хватит ? if (TCNT1H < 0x6F)
wolly писал(а): а препологалось 100Гц.
avr123.nm.ru писал(а):Дак пересчитай.
avr123.nm.ru писал(а):При записи двухбайтовые регистры ИМХО лучше запрещать прерывания
Вернуться в Электроника, электротехника
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0