📄 sample.c
字号:
#include <stdio.h>
#include <stdlib.h>
#include <api.h>
#include <string.h>
#include <ctype.h>
#include "keybrd.h"
#define IRDA_TEST
#define IDLE_FOR_4S 256
char chip[10];
// delay subroutine:
void delay_n_ms(int mscnt) {
for (;mscnt > 0; mscnt--)
delay_1ms();
}
// puts via UART
void UART_puts(char *lb) {
while (*(lb)) {
while(UART_send_char(*lb));
lb++;
}
}
void IR_test(void)
{
int ch_read=0;
typ_msg_word msg_buffer;
char stmp[60];
UART_init(UART_IRDA_ON | UART_ON | UART_8_DATA_BITS | UART_BAUD_115200);
UART_fcntl(UART_fcntl(UART_F_INQ) | UART_F_NO_CTS);
SPI_set_595_EN(0);
while (1) {
msg_buffer.s_word = sys_msg(SM_STAY_AWAKE);
if(msg_buffer.bits.time_out)
{
goto_xy(0,3);
Disp_write_str(" ");
stmp[ch_read]=0;
goto_xy(0,3);
Disp_write_str(stmp);
ch_read=0;
}
if (msg_buffer.bits.comm_data)
{
typ_UART_stat_word Ustat;
do
{
stmp[ch_read++]= UART_get_char();
Ustat.l_word = UART_stat();
} while (Ustat.bits.buff_data_available);
SPT_set(8);
}
if (msg_buffer.bits.key_available)
{
unsigned char tb;
tb = KEY_read();
goto_xy(0,3);
Disp_write_str(" ");
goto_xy(0,3);
Disp_write_str(terminal_key_strings[key_translated(tb)]);
UART_puts(terminal_key_strings[key_translated(tb)]);
}
}
SPI_set_595_EN(1);
UART_init(UART_OFF);
}
main(void)
{
typ_msg_word msg_buffer;
clr_scr();
Disp_set_font_attribute(DISP_FONT_TYPE_5x7_ENG);
goto_xy(20,1);
Disp_write_str("IR test");
sm_setting(MSK_KEY_UP | MSK_KEY_DOWN);
KEY_init(KEY_BEEP_KEY | KEY_AUTO_EL_ON);
SPT_set(16);
while (1)
{
msg_buffer.s_word = sys_msg(SM_GOTO_SLEEP);
if(msg_buffer.bits.time_out)
{
IR_test();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -