📄 ad7793.c
字号:
#include "ad7793.h"
static unsigned char (*send_byte)(unsigned char c);
void ad7793_init()
{
#ifdef SPI_COMMUNICATIONS
send_byte = spi_send_byte;
spi_init();
#endif
#ifdef UART_COMMUNICATIONS
send_byte = uartspi_send_byte;
uartspi_init();
#endif
}
unsigned char ad7793_get_ID()
{
send_byte((1<<RW) | (1<<RS2));
return send_byte(0xFF);
}
unsigned char ad7793_get_status()
{
send_byte((1<<RW));
return send_byte(0xFF);
}
unsigned int ad7793_get_mode()
{
unsigned int b1, b2;
send_byte((1<<RW) | (1<<RS0));
b1 = send_byte(0xFF);
b2 = send_byte(0xFF);
return (b2 | (b1 << 8));
}
unsigned int ad7793_get_config()
{
unsigned int b1, b2;
send_byte((1<<RW) | (1<<RS1));
b1 = send_byte(0xFF);
b2 = send_byte(0xFF);
return (b2 | (b1 << 8));
}
unsigned long int ad7793_get_data()
{
unsigned long int b1;
unsigned int b2;
unsigned char b3;
send_byte((1<<RW) | (1<<RS1) | (1<<RS0));
b1 = send_byte(0xFF);
b2 = send_byte(0xFF);
b3 = send_byte(0xFF);
return (b3 | (b2 << 8) | (b1 << 16));
}
unsigned char ad7793_get_IO()
{
send_byte((1<<RW) | (1<<RS2) | (1<<RS0));
return send_byte(0xFF);
}
unsigned long int ad7793_get_offset()
{
unsigned long int b1;
unsigned int b2;
unsigned char b3;
send_byte((1<<RW) | (1<<RS2) | (1<<RS1));
b1 = send_byte(0xFF);
b2 = send_byte(0xFF);
b3 = send_byte(0xFF);
return (b3 | (b2 << 8) | (b1 << 16));
}
unsigned long int ad7793_get_calibration()
{
unsigned long int b1;
unsigned int b2;
unsigned char b3;
send_byte((1<<RW) | (1<<RS2) | (1<<RS1) | (1<<RS0));
b1 = send_byte(0xFF);
b2 = send_byte(0xFF);
b3 = send_byte(0xFF);
return (b3 | (b2 << 8) | (b1 << 16));
}
void ad7793_set_mode(unsigned int mode)
{
send_byte(1<<RS0);
send_byte(mode >> 8);
send_byte(mode & 0xFF);
}
void ad7793_set_config(unsigned int config)
{
send_byte(1<<RS1);
send_byte(config >> 8);
send_byte(config & 0xFF);
}
void ad7793_set_IO(unsigned char io_mode)
{
send_byte((1<<RS2)| (1<<RS0));
send_byte(io_mode);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -