Razvalyaev
7e0063eee0
Все основные файлы подтянуты без изменений Изменены (только папка main_matlab): - заглушки для ненужных функций (main_matlab.c) - iq библиотека (IQmathLib_matlab.c) - библиотеки DSP281x
88 lines
2.4 KiB
C
88 lines
2.4 KiB
C
#ifndef _X_SERIAL_BUS_H
|
|
#define _X_SERIAL_BUS_H
|
|
|
|
// òàéìàóò îæèäàíèß âûïîëåíèß êîìàíäû
|
|
#define TIME_OUT_SERIAL_BUS 1000 //10000 // max 65535
|
|
|
|
|
|
#define CMD_SERIAL_BUS_READ 0x0000
|
|
#define CMD_SERIAL_BUS_WRITE 0x8000
|
|
|
|
#define SB_ERROR_REPEATS 7
|
|
|
|
|
|
|
|
typedef union {
|
|
unsigned int all;
|
|
struct {
|
|
unsigned int data_ready:1;
|
|
unsigned int trans_compl:1;
|
|
unsigned int error:1;
|
|
unsigned int write_error:1;
|
|
unsigned int read_error:2;
|
|
unsigned int error_timeout:1;
|
|
unsigned int count_hold_bus:3;
|
|
unsigned int rezerv:6;
|
|
} bit;
|
|
} X_SERIAL_BUS_flags;
|
|
|
|
|
|
|
|
typedef struct { X_SERIAL_BUS_flags flags; // ôëàãè
|
|
unsigned int slave_addr; // íîìåð ïåðèô.ïëàòû
|
|
unsigned int reg_addr; // àäðåñ âíóòðåííåãî ðåãèñòðà â ïåðèô.ïëàòå
|
|
unsigned int write_data; // äàííûå äëß çàïèñè
|
|
unsigned int read_data; // ïðî÷èòàííûå äàííûå
|
|
unsigned int count_timer; // âíóòðåííèé ñ÷ò÷èê îæèäàíèß âûïîëíåíèß êîìàíäû
|
|
unsigned int error_count_read; // îáùåå êîëè÷-âî îøèáîê ÷òåíèß
|
|
unsigned int error_count_write; // îáùåå êîëè÷-âî îøèáîê çàïèñè
|
|
unsigned int error_count_hold; // îáùåå êîëè÷-âî îøèáîê çàõâàòà øèíû
|
|
unsigned int ok_count_read; // îáùåå êîëè÷-âî óñïåùíûõ ÷òåíèé
|
|
unsigned int ok_count_write; // îáùåå êîëè÷-âî óñïåøíûõ çàïèñåé
|
|
|
|
int (*read)(); // Pointer to read function
|
|
int (*write)(); // Pointer to write function
|
|
void (*check)(); // Pointer to check function
|
|
void (*init)(); // Pointer to init function
|
|
void (*clear_stat)(); // Pointer to init function
|
|
}X_SERIAL_BUS;
|
|
|
|
|
|
|
|
|
|
|
|
typedef X_SERIAL_BUS *X_SERIAL_BUS_handle;
|
|
|
|
#define X_SERIAL_BUS_DEFAULTS { 0, \
|
|
0, \
|
|
0, \
|
|
0, \
|
|
0, \
|
|
0, \
|
|
0, \
|
|
0, \
|
|
0, \
|
|
0, \
|
|
0, \
|
|
(int (*)(Uint32))x_serial_bus_read,\
|
|
(int (*)(Uint32))x_serial_bus_write,\
|
|
(void (*)(Uint32))x_serial_bus_check,\
|
|
(void (*)(Uint32))x_serial_bus_init,\
|
|
(void (*)(Uint32))x_serial_bus_clear_stat_error\
|
|
}
|
|
|
|
|
|
int x_serial_bus_read(X_SERIAL_BUS_handle);
|
|
int x_serial_bus_write(X_SERIAL_BUS_handle);
|
|
void x_serial_bus_check(X_SERIAL_BUS_handle);
|
|
void x_serial_bus_init(X_SERIAL_BUS_handle);
|
|
void x_serial_bus_clear_stat_error(X_SERIAL_BUS_handle);
|
|
|
|
void xPeriphReadyCheck(void);
|
|
|
|
extern X_SERIAL_BUS x_serial_bus_project;
|
|
|
|
|
|
#endif // end _X_SERIAL_BUS_H
|
|
|