-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhardware_PIC.h
60 lines (50 loc) · 1.39 KB
/
hardware_PIC.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#ifndef HARDWARE_PIC_H
#define HARDWARE_PIC_H
#define MAX_SPEED 3999 // Entrée max des PWMs = 2*Période des PWMs
// Fréquence des PWMs = 20 kHz
#define MIN_SPEED 900 // Entrée min sauf pour l'arrêt
// Structure associant 2 shorts dans un long pour les QEI
typedef union {
long all;
struct {
short low;
short high;
} part;
} T_dividedLong;
typedef union {
unsigned long all;
struct {
short low;
unsigned short high;
} part;
} T_dividedULong;
void init_hardware();
void init_osc();
void io_init();
void PWM1_init ();
void QEI_init ();
void timer_init();
void UART_init();
void set_PWM_moteur_D(int PWM);
void set_PWM_moteur_G(int PWM);
void motors_stop(void); // Arrete les moteurs
long get_nbr_tick_D();
long get_nbr_tick_G();
void reset_nbr_tick();
int doit_attendre();
void allumer_del(void);
void eteindre_del(void);
void pause_ms(unsigned short n);
void pause_s(unsigned short n);
/*---------------------------------------------------------------------------*
* Couche basse uart *
*---------------------------------------------------------------------------*/
#define INT_UART_TX
#define RX_BUFFER_SIZE 16
#define TX_BUFFER_SIZE 64
/* Functions headers */
void UART_putc(unsigned char c);
void UART_send_tab(unsigned char *addr, unsigned char size);
/* Retourne le nombre d'octets lus */
int UART_getc(unsigned char *byte);
#endif