📄 x10-lib.c
字号:
#ifndef RTS
#define RTS PIN_C5
#define DTR PIN_C4
#endif
// Definicao de Casas
#define A1_8 0x60 // eq. 01100000
#define A9_16 0x64 // eq. 01100100
#define B1_8 0x70
#define B9_16 0x74
#define C1_8 0x40
#define C9_16 0x44
#define D1_8 0x50
#define D9_16 0x54
#define E1_8 0x80
#define E9_16 0x84
#define F1_8 0x90
#define F9_16 0x94
#define G1_8 0xA0
#define G9_16 0xA4
#define H1_8 0xB0
#define H9_16 0xB4
#define I1_8 0xE0
#define I9_16 0xE4
#define J1_8 0xF0
#define J9_16 0xF4
#define K1_8 0xC0
#define K9_16 0xC4
#define L1_8 0xD0
#define L9_16 0xD4
#define M1_8 0x00
#define M9_16 0x04
#define N1_8 0x10
#define N9_16 0x14
#define O1_8 0x20
#define O9_16 0x24
#define P1_8 0x30
#define P9_16 0x34
//Bright/DIM
#define B 0x88
#define D 0x98
// Definicao de dispositivos
#define ON1 0x0 // eq. 00000000
#define OFF1 0x20 // eq. 00100000
#define ON2 0x10
#define OFF2 0x30
#define ON3 0x08
#define OFF3 0x28
#define ON4 0x18
#define OFF4 0x38
#define ON5 0x40
#define OFF5 0x60
#define ON6 0x50
#define OFF6 0x70
#define ON7 0x48
#define OFF7 0x68
#define ON8 0x58
#define OFF8 0x78
void e_um()
{
output_high(DTR);
delay_us(700);
output_low(DTR);
delay_us(700);
}
void e_zero()
{
output_high(RTS);
delay_us(700);
output_low(RTS);
delay_us(700);
}
void e_reset()
{
output_high(RTS);
output_high(DTR);
delay_ms(10);
output_low(RTS);
output_low(DTR);
delay_ms(1);
}
void e_header()
{
//header 11010101 10101010
e_um();
e_um();
e_zero();
e_um();
e_zero();
e_um();
e_zero();
e_um();
e_um();
e_zero();
e_um();
e_zero();
e_um();
e_zero();
e_um();
e_zero();
}
void e_footter()
{
e_um();
e_zero();
e_um();
e_zero();
e_um();
e_um();
e_zero();
e_um();
}
void e_code(int8 casa, int8 acao)
{
// envia cabecalho
e_header();
// envia codigo da casa
if (bit_test(casa,7))
e_um();
else
e_zero();
if (bit_test(casa,6))
e_um();
else
e_zero();
if (bit_test(casa,5))
e_um();
else
e_zero();
if (bit_test(casa,4))
e_um();
else
e_zero();
if (bit_test(casa,3))
e_um();
else
e_zero();
if (bit_test(casa,2))
e_um();
else
e_zero();
if (bit_test(casa,1))
e_um();
else
e_zero();
if (bit_test(casa,0))
e_um();
else
e_zero();
// envia codigo da acao
if (bit_test(acao,7))
e_um();
else
e_zero();
if (bit_test(acao,6))
e_um();
else
e_zero();
if (bit_test(acao,5))
e_um();
else
e_zero();
if (bit_test(acao,4))
e_um();
else
e_zero();
if (bit_test(acao,3))
e_um();
else
e_zero();
if (bit_test(acao,2))
e_um();
else
e_zero();
if (bit_test(acao,1))
e_um();
else
e_zero();
if (bit_test(acao,0))
e_um();
else
e_zero();
// rodape
e_footter();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -