📄 stdio_test.c.bak
字号:
#include "vxworks.h"
#include "tylib.h"
/*******************************************************************/
void stdio_test(void)
{
int stdIN, stdOUT; /* 标准输入/输出设备的文件描述符 */
char c; /* 字符变量 */
char nameBuf[20]; /* 字符串缓冲区 */
char aStr[50]; /* string buffer */
/* 取标准输入/输出设备文件描述符 */
stdIN = ioGlobalStdGet(0);
stdOUT = ioGlobalStdGet(1);
/* 将标准输出设备输出模式设置为RAW */
ioctl(stdOUT, FIOSETOPTIONS, OPT_RAW);
/* 输出字串 */
write(stdOUT, "\nstdio test\n\r", 13);
/* device name display */
ioctl(stdOUT, FIOGETNAME, (int)&(nameBuf));
/*
write(stdOUT, "STD device name: ",17);
write(stdOUT, nameBuf, sizeof(nameBuf));
write(stdOUT, "\n\r", 2);
*/
sprintf(&aStr, "STD device name: %s\n\r", nameBuf);
write(stdOUT, aStr, sizeof(aStr));
/* 主循环 */
while(1)
{
/* 在标准输入设备等待键盘输入字符 */
read(stdIN,&c,1);
/* 判断若输入字符为"ESC键"则退出主循环 */
if(c == '\e')
break;
/* 向标准输出设备输出刚接收的字符 */
write(stdOUT,&c,1);
/* 若为"回车"键,则后续输出"换行"键 */
if(c == '\r')
write(stdOUT,"\n",1);
}
/* 输出"end"字串 */
write(stdOUT, "\n\rend\n\r", 7);
/* 将标准输出设备输出模式设置为TERMINAL */
ioctl (stdOUT, FIOSETOPTIONS, OPT_TERMINAL);
}
void test02(void)
{
char key;
int cnt, tcnt;
int sysclkrate = sysClkRateGet();
int task_stdin_fd, global_stdin_fd;
int consoleFd;
/* iosDevShow();
*/
task_stdin_fd = ioTaskStdGet(0, STD_IN);
global_stdin_fd = ioGlobalStdGet(STD_IN);
consoleFd = global_stdin_fd;
printf("TaskName: %s\n", taskName(0));
printf("Task STDFDs: STD_IN:%d STD_OUT:%d\n",
ioTaskStdGet(0, STD_IN),ioTaskStdGet(0, STD_OUT));
printf("Global STDFDs: STD_IN:%d STD_OUT:%d\n",
ioGlobalStdGet(STD_IN),ioGlobalStdGet(STD_OUT));
ioctl (consoleFd, FIOSETOPTIONS, OPT_CRMOD);
ioctl (consoleFd, FIOFLUSH, 0);
tcnt = 0;
FOREVER
{
printf("timer value: %03d\r", tcnt++);
taskDelay(sysclkrate);
ioctl (consoleFd, FIONREAD, (int) &cnt);
if(cnt)
{
break;
}
}
ioctl (consoleFd, FIOFLUSH, 0);
ioctl (consoleFd, FIOSETOPTIONS, OPT_TERMINAL);
printf("\ntest02 end\n");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -