
![]() |
roboforum.ruТехнический форум по робототехнике. |
|

yak-40 писал(а): В хелпе прочитал, что надо объявлять так:
- Код: Выделить всё • Развернуть
__eeprom char e[] = {};
Попробовал, тот же результат
m11 писал(а):Еще нашел в инете.
Но она запароленная. Если быть внимательным, все найдешь
Неужели обязательно конвертер уровней ставить? У меня щас на делителях резисторных сделано...
#ifndef _MOTOR_INCLUDED_
#define _MOTOR_INCLUDED_
#define PWM1 OCR1A
#define PWM2 OCR1B
#define TIMER_ON TCCR1A=0x01 ## TCCR1B=0b00001010
#define TIMER_OFF TCCR1A=0x00 ## TCCR1B=0x00
#define COM_PWM1 (1<<COM1A1)
#define COM_PWM2 (1<<COM1B1)
#define PWM_ON(ch) TCCR1A|=COM_PWM##ch
#define PWM_OFF(ch)TCCR1A&=~COM_PWM##ch
#define DIR1 (1<<PC6)
#define DIR2 (1<<PC7)
#define FOWARD_M(ch) PORT&=~DIR##ch
#define BACK_M(ch) PORT|=DIR##ch
#pragma used+
void robomd2(char m1, char m2);
void motor1 (char m1);
void motor2 (char m2);
#pragma used-
#endif
Romikgy писал(а):имхо проц то 8 битный....
наверное руками свести в 16 битную переменую
sfrb OCR1AL=0x2a;
sfrb OCR1AH=0x2b;
sfrw OCR1A=0x2a; // 16 bit access
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5