arm板 釋放ttyS0作爲通信串口(關閉調試串口)

釋放ttyS0作爲通信串口

#include <sys/ioctl.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <fcntl.h>
#include <termios.h>
#include <errno.h>
void CloseConsole(void) {

int fp;
struct termios options;
printf("change1\n");
fp = open("/dev/tty1",O_RDONLY); // 改變console
ioctl(fp,TIOCCONS);
close(fp);

fp = open("/dev/tts/0",O_RDWR|O_NOCTTY|O_NDELAY); //打開串口0讀寫
if(fp == -1) exit(0);
tcgetattr(fp,&options);
cfsetispeed(&options,B115200);
cfsetospeed(&options,B115200);
options.c_cflag |= (CLOCAL|CREAD);
tcsetattr(fp,TCSANOW,&options);
write(fp,"hello world!\n123",15);
close(fp);                       //關閉串口0

fp = open("/dev/tty0",O_RDONLY); //恢復console 到串口0
ioctl(fp,TIOCCONS);
close(fp);
printf("change2\n");
}

關於關閉SHELL對串口的佔用,使之能做普通的串口通信和撥號

1、步驟:
在內核編譯過程中執行make menuconfig
Character devices --->
Serial drivers --->

S3C2410 serial port support
[ ] Console on S3C2410 serial port 【注】去掉這項即可,不必修改busybox/init.c了 
< > 8250/16550 and compatible serial support (EXPERIMENTAL)
2、備註:
這樣就不能用ttyS0口來登錄ARM開發板了,你可以選擇用TELNET的方式來登錄。
做法:telnet 192.168.0.12(你的開發板的IP地址)
         輸入:“root”用戶名就可以進入你的開發板了
3、OK..

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章