Subversion Repositories BL-Ctrl

Rev

Rev 31 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 ingob 1
/*############################################################################
2
############################################################################*/
3
 
4
#ifndef BLMC_H_
5
#define BLMC_H_
6
 
7
extern volatile unsigned char Phase;
8
extern volatile unsigned char ShadowTCCR1A;
9
extern volatile unsigned char CompInterruptFreigabe;
10
 
11
void Blc(void);
12
void Manuell(void);
13
 
14
#ifdef  _32KHZ 
31 Nick666 15
 #define PWM_C_ON  {TCCR1A = 0xA1; TCCR2  = 0x49; DDRB = 0x0A;} 
16
 #define PWM_B_ON  {TCCR1A = 0xA1; TCCR2  = 0x49; DDRB = 0x0C;}
17
 #define PWM_A_ON  {TCCR1A = 0xA1; TCCR2  = 0x69; DDRB = 0x08;}
18
 #define PWM_OFF   {TCCR1A = 0x01; TCCR2  = 0x49; PORTC &= ~0x0E;}
1 ingob 19
#endif 
20
 
21
#ifdef  _16KHZ 
40 Nick666 22
 #define PWM_C_ON  {TCCR1A = 0xA2; TCCR2  = 0x41; DDRB = 0x0A;} 
23
 #define PWM_B_ON  {TCCR1A = 0xA2; TCCR2  = 0x41; DDRB = 0x0C;}
24
 #define PWM_A_ON  {TCCR1A = 0xA2; TCCR2  = 0x61; DDRB = 0x08;}
25
 #define PWM_OFF   {TCCR1A = 0x02; TCCR2  = 0x41; PORTC &= ~0x0E;}
1 ingob 26
#endif 
27
 
28
 
29
#define  STEUER_A_H {PWM_A_ON}
30
#define  STEUER_B_H {PWM_B_ON}
31
#define  STEUER_C_H {PWM_C_ON}
32
 
33
#define  STEUER_A_L {PORTD &= ~0x30; PORTD |= 0x08;}
34
#define  STEUER_B_L {PORTD &= ~0x28; PORTD |= 0x10;}
35
#define  STEUER_C_L {PORTD &= ~0x18; PORTD |= 0x20;}
36
#define  STEUER_OFF {PORTD &= ~0x38; PWM_OFF;}
37
 
38
#define SENSE_A ADMUX = 0;
39
#define SENSE_B ADMUX = 1;
40
#define SENSE_C ADMUX = 2;
41
 
42
#define ClrSENSE            ACSR |= 0x10
43
#define SENSE               ((ACSR & 0x10))
44
#define SENSE_L             (!(ACSR & 0x20))
45
#define SENSE_H             ((ACSR & 0x20))
46
#define ENABLE_SENSE_INT    {CompInterruptFreigabe = 1;ACSR |= 0x0A; }
47
#define DISABLE_SENSE_INT   {CompInterruptFreigabe = 0; ACSR &= ~0x08; }
48
 
49
 
50
#define SENSE_FALLING_INT    ACSR &= ~0x01
51
#define SENSE_RISING_INT    ACSR |= 0x03
52
#define SENSE_TOGGLE_INT    ACSR &= ~0x03
53
 
54
#endif //BLMC_H_
55