Error[8]: Undefined offset: 116, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

树莓派与电脑之间的串口通信编程

数据通信的三个方式介绍 单工通信

只支持数据在一个方向上传输,又称为单向通信。

如无线电广播和电视广播都是单工通信。

半双工通信

允许数据在两个方向上传输,但在同一时刻,只允许数据在一个方向上传输,它实际上是一种可切换方向的单工通信。

即通信双方都可以发送信息,但不能双方同时发送,(当然也不能同时接受)。

这种方式一般用于计算机网络的非主干线路中。

全双工通信

允许数据同时在两个方向上传输,又称为双向同时通信,即通信的双方可以同时发送和接收数据。

如现代电话通信提供了全双工传送。

这种通信方式主要用于计算机与计算机之间的通信。

串口通信

串口通信是全双工的,串口通信最重要的参数是波特率,数据位,停止位,奇偶校验位。

两个人能正常沟通,得使用相同的语言,语速适当。

而串口通信也是类似,波特率衡量通信的速度(统一语速),数据位,停止位,奇偶校验位组成了数据格式(统一语言)。

编程步骤

一、树莓派串口默认是被蓝牙占用了,配置释放之后才能使用它进行串口通信。


1.修改根目录下的cmdline.txt文件,输入以下指令:

sudo vi /boot/cmdline.txt

将下图框选的部分删除
在这里插
2.重启树莓派,输入以下指令:

sudo reboot

二、串口虽然是一个设备,但是在linux中会将串口看成一个设备文件。


功能描述:树莓派通过串口每秒发送一个字符a给pc端
代码如下:

#include 
#include 
#include 
#include 
int main ()
{ 
    int serialFd;
    int nread;
    char cmd[128]={'}';/*初始化文件设备*/
    
 	if
    (wiringPiSetup()== - 1)printf
    {
         ("we failed to setup wiringPi!\n");exit
         (-1);}	 
    /*打开串口设备文件*/
 
    =
    serialFd serialOpen ("/dev/ttyAMA0",9600);while
 
   (1)/*向串口发送数据给PC端串口助手*/
   {	while
   		(serialDataAvail ()serialFd!= 0 ) //获取串口中的可用数据,返回-1代表错误{=
   			cmd serialGets ()serialFd;//从串口中获取字符串数据返回if
   			(== cmd '1' )serialPuts{
				("received 1\r\n");//向串口发送数据}
			if
			(== cmd '2' )serialPuts{
				("received 2\r\n");}	
			}    
 		/* 	while(1){		
		//发字符
		serialPutc(serialFd,'a');
		//发字符串
		serialPutc(serialFd,"aaa");
		delayMicroseconds(1000000);
*/

}	}

   return
	0 ;}
[+++]

树莓派外设开发接口文档参考
https://www.cnblogs.com/lulipro/p/5992172.html

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 165, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
树莓派与电脑之间的串口通信编程_C_内存溢出

树莓派与电脑之间的串口通信编程

树莓派与电脑之间的串口通信编程,第1张

树莓派与电脑之间的串口通信编程
  • 数据通信的三个方式介绍
    • 单工通信
    • 半双工通信
    • 全双工通信
  • 串口通信
  • 编程步骤

数据通信的三个方式介绍 单工通信

只支持数据在一个方向上传输,又称为单向通信。

如无线电广播和电视广播都是单工通信。

半双工通信

允许数据在两个方向上传输,但在同一时刻,只允许数据在一个方向上传输,它实际上是一种可切换方向的单工通信。

即通信双方都可以发送信息,但不能双方同时发送,(当然也不能同时接受)。

这种方式一般用于计算机网络的非主干线路中。

全双工通信

允许数据同时在两个方向上传输,又称为双向同时通信,即通信的双方可以同时发送和接收数据。

如现代电话通信提供了全双工传送。

这种通信方式主要用于计算机与计算机之间的通信。

串口通信

串口通信是全双工的,串口通信最重要的参数是波特率,数据位,停止位,奇偶校验位。

两个人能正常沟通,得使用相同的语言,语速适当。

而串口通信也是类似,波特率衡量通信的速度(统一语速),数据位,停止位,奇偶校验位组成了数据格式(统一语言)。

编程步骤

一、树莓派串口默认是被蓝牙占用了,配置释放之后才能使用它进行串口通信。


1.修改根目录下的cmdline.txt文件,输入以下指令:

sudo vi /boot/cmdline.txt

将下图框选的部分删除
在这里插
2.重启树莓派,输入以下指令:

sudo reboot

二、串口虽然是一个设备,但是在linux中会将串口看成一个设备文件。


功能描述:树莓派通过串口每秒发送一个字符a给pc端
代码如下:

#include 
#include 
#include 
#include 
int main ()
{ 
    int serialFd;
    int nread;
    char cmd[128]={'}';/*初始化文件设备*/
    
 	if
    (wiringPiSetup()== - 1)printf
    {
         ("we failed to setup wiringPi!\n");exit
         (-1);}	 
    /*打开串口设备文件*/
 
    =
    serialFd serialOpen ("/dev/ttyAMA0",9600);while
 
   (1)/*向串口发送数据给PC端串口助手*/
   {	while
   		(serialDataAvail ()serialFd!= 0 ) //获取串口中的可用数据,返回-1代表错误{=
   			cmd serialGets ()serialFd;//从串口中获取字符串数据返回if
   			(== cmd '1' )serialPuts{
				("received 1\r\n");//向串口发送数据}
			if
			(== cmd '2' )serialPuts{
				("received 2\r\n");}	
			}    
 		/* 	while(1){		
		//发字符
		serialPutc(serialFd,'a');
		//发字符串
		serialPutc(serialFd,"aaa");
		delayMicroseconds(1000000);
*/

}	}

   return
	0 ;}

树莓派外设开发接口文档参考
https://www.cnblogs.com/lulipro/p/5992172.html

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/662209.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-18
下一篇 2022-04-18

发表评论

登录后才能评论

评论列表(0条)

保存