RaspberryPiとコンピューター間のシリアル通信プログラミング

        シリアルポート構成の詳細については、ここでは紹介されない他のブログ投稿を参照してください。

RaspberryPiはコンピューターと通信します

RaspberryPiはコンピューターにデータを送信します

#include <wiringSerial.h>
#include <wiringPi.h>
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    
    
	int fd;
 
	if(wiringPiSetup() == -1)
	{
    
    
		printf("硬件接口初始化失败!\n");
		exit(-1);
	}
	
	fd=serialOpen("/dev/ttyAMA0",9600);//打开并初始化串口,波特率9600
	if(fd != -1){
    
    
		printf("serial open success\n");
		printf("fd=%d\n",fd);
	}
 
	while(1)
	{
    
    
		serialPutchar(fd,'u');//发送数据
		delayMicroseconds(1000000);
		serialPrintf(fd,"handsome!\r\n");
		delayMicroseconds(1000000);
		serialPuts(fd,"Because you are Leo\r\n");	
		delayMicroseconds(1000000);
	}
 
	return 0;
}

ここに画像の説明を挿入

コンピューターはデータをRaspberryPiに送信します

ここではttyAMA0の権限をアップグレードする必要があります

sudo chmod 0777 /dev/ttyAMA0
#include <stdlib.h>
#include <wiringSerial.h>
#include <wiringPi.h>
#include <stdio.h>
 
int main()
{
    
    
	int fd;
	int ret;
 
	if(wiringPiSetup() == -1)
	{
    
    
		printf("硬件接口初始化失败!\n");
		exit(-1);
	}
	
	fd=serialOpen("/dev/ttyAMA0",9600);//打开并初始化串口,波特率9600
	if(fd != -1){
    
    
		printf("serial open success\n");
		printf("fd=%d\n",fd);
	}
 
	while(1)
	{
    
    
		while(serialDataAvail(fd) !=-1)//判断是否有数据发送过来
		{
    
    
			ret=serialGetchar(fd);
			printf("ret=%d\n",ret);
		}
	}
 
	return 0;
}

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/zouchengzhi1021/article/details/113869541