real6410调试串口作为普通串口使用

#include <stdio.h>
#include <assert.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <termios.h>
#include <sys/ioctl.h> 
int main(void)
{
	int fp,err;
	unsigned char buff[20];
	unsigned char send_buff[20];
	struct termios options;
	printf("change1\n");
	fp = open("/dev/console",O_RDONLY); // 改变console
	ioctl(fp,TIOCCONS);
	close(fp);


	fp = open("/dev/ttySAC0",O_RDWR|O_NOCTTY|O_NDELAY|O_NONBLOCK); //打开串口0读写
	if(fp == -1)
	{
		perror("open:");
		return -1;
	}
	tcgetattr(fp,&options);
	cfsetispeed(&options,B115200);
	cfsetospeed(&options,B115200);
	options.c_cflag |= (CLOCAL|CREAD);
	tcsetattr(fp,TCSANOW,&options);
    write(fp,"hello world!\n",15);

	while(1)
	{
		

		while(read(fp,buff,4) == 4)/*read(fp,buff,1)>0)*/
		{
       	 write(fp, buff,4);
  		}
	}
	close(fp);                       //关闭串口0

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

当然也可以修改内核选项使其不生成/dev/console设备节点



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值