博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
树莓派利用串口进行通信(这个是用c写的树莓派的串口)
阅读量:4082 次
发布时间:2019-05-25

本文共 1176 字,大约阅读时间需要 3 分钟。

这个是用c写的树莓派的串口

摘自:

树莓派利用串口进行通信

2018-12-21 16:19:53 12069

版权

树莓派串口通信

我用的是树莓派3b+型号,网上各种各样的修改方式来使得树莓派的串口可以工作,过于混乱,还有的教程甚至会被树莓派系统搞崩溃,尤其是树莓派实验室那里的中文教程,是错误的,按照那个来就直接系统崩溃重装。因此我在这记录一下简单的串口配置和通信的过程。

第一步 配置

其实配置只需要三个步骤

一、把serial打开,这个在当前最新的系统里面,能够直接在Raspberry Pi Configuration里面找到,在Interfaces里面把Serial Port改成Enable,重启即可

二、修改配置文件

sudo gedit /boot/cmdline.txt
  • 1

删掉里面的 console=serial1,115200

三、还需要把serial口子换一下,因为serial0和serial1不一样,我们需要的默认被蓝牙占用了

通过 ls -l /dev 可以查看

sudo gedit /boot/config.txt
  • 1

在末尾加上一句话

dtoverlay=pi3-miniuart-bt
  • 1

这样,重启之后,两个串口类型就互换了,我们就可以利用这个串口进行通信了

如下:
在这里插入图片描述

第二步 写串口程序

这里,串口通信和测试的方式有很多中,可以通过python gcc等方式进行通信

python的方式比较简单,但是我考虑了一下,可能不太适用于我后面的工作,所以这里只把这个作为测试接口是否能用,具体参考这位博主的python方式

下面还是来说说利用gcc g++的方式通信,这里用到一个好用的库 wiringPi

具体怎么安装就不再介绍,很简单。主要是看怎么用

这位博主对于这个写得很仔细,介绍得也很清晰

这个代码可以用来测试接口是否开启等

创建一个新的.c文件,然后利用gcc来运行

#include 
#include
#include
int main(){ int fd; if(wiringPiSetup()<0) return 1; if((fd=serialOpen("/dev/ttyAMA0",9600))<0) return 1; printf("serial test start ...\n"); serialPrintf(fd,"hello world!!\n"); serialClose(fd); return 0;}

编辑完之后利用gcc编译并运行,能够在终端输出一个hello world!

gcc test.c -o test -lwiringPi    ./test

一定要带上后面的库,不然编译会失败

转载地址:http://lxlni.baihongyu.com/

你可能感兴趣的文章
React系列之--微博 Demo 01
查看>>
正则表达式前端使用手册
查看>>
Vue.js 插件开发详解
查看>>
React Native的Navigator禁止全部界面的左滑手势和部分界面的手势
查看>>
React Native图表插件react-native-charts-wrapper集成教程
查看>>
React-Native封装一些模块
查看>>
React源码分析5 -- 组件通信,refs,key,ReactDOM
查看>>
Vue2.0 探索之路——vuex入门教程和思考
查看>>
每个前端开发者必会的 20 个 JavaScript 面试题
查看>>
前端开发面试题集锦--JavaScript篇
查看>>
一个基于react native的社区app
查看>>
React-Native项目技术分享(1)
查看>>
React-Native项目技术分享(2)
查看>>
React中使用CSSTransitionGroup插件实现轮播图
查看>>
React-Native启动页到主页过渡
查看>>
react-native-swipe-list-view侧滑删除组件使用
查看>>
全栈小说阅读类APP
查看>>
结合Vuex创造一个完美的vue-loading/vue-toast组件
查看>>
前端模块化两兄弟——requireJS和seaJS
查看>>
CommonJS规范和实现
查看>>