树莓派的调试串口作为普通串口使用

修改cmdline.txt

将所有ttyAMA0相关配置删除

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

删除后是这样

dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait


如果/etc/inittab 里面有内容

注释#T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

最后重启,调试串口就是默认串口,就可以用下面的程序收发数据

源码:

#include 
#include 
#include 

unsigned char UartBuff[256] = { 0 };

int main(void)
{
	int fd;
	if ((fd = serialOpen("/dev/ttyAMA0", 115200)) < 0)
	{
		printf("serial err\n");
	}
	else
	{
		printf("start serial\n");
	}
	

	while (1)
	{
		UartBuff[0] = (unsigned char)serialGetchar(fd);
		printf("rev:%c\n", UartBuff[0]);
		if (UartBuff[0] == 'a')
		{
			printf("is a:%c\n", (char)UartBuff[0]);
			serialPutchar(fd, (char)UartBuff[0]);
		}
		else
		{
			printf("not a:%c\n", (char)UartBuff[0]);
		}
		sleep(0.5);
	}
	return 0;
} 


你可能感兴趣的:(树莓派的调试串口作为普通串口使用)