成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

樹莓派學(xué)習(xí)筆記(五)串口通信

levinit / 3056人閱讀

摘要:觀看學(xué)習(xí)上官可編程陳立臣老師的樹莓派視頻,在其過程中所記錄的學(xué)習(xí)筆記一串口通信概念串口通信用于多機通信串口通信屬于全雙工通信,即雙方可以同時進行交流半雙工通信,一次只允許一方進行通信樹莓派進行串口通信一般要連接兩根線和

觀看學(xué)習(xí)上官可編程陳立臣老師的樹莓派視頻,
在其過程中所記錄的學(xué)習(xí)筆記

一、串口通信概念

  • 1、串口通信用于多機通信
  • 2、串口通信屬于全雙工通信,即雙方可以同時進行交流
    ??????????????????????????????半雙工通信,一次只允許一方進行通信
  • 3、樹莓派進行串口通信一般要連接兩根線TXD和RXD,
    ???????連接時要相反連接(即樹莓派的TXD要與通信方的RXD相連,RXD與TXD相連)
  • 4、進行串口通信時,數(shù)據(jù)格式(數(shù)據(jù)位、停止位、奇偶校驗位)和波特率,通信雙方要保持一致

二、串口通信編程

  • 樹莓派的串口是/dev/ttyAmA0(Linux一切皆文件)

1、配置串口

  • 修改/boot/cmdline.txt文件,將“console=ttyAMA0,115200”刪除,
    該語句作用為樹莓派啟動時用串口來打印調(diào)試信息,使用串口通信則需刪除
  • sudo reboot重啟

2、連線

樹莓派與USB轉(zhuǎn)TTL相連
?????TXD —— RXD
?????RXD —— TXD
????????0 V —— GND

3、調(diào)用函數(shù)

#include 	int wiringPiSetup (void) 返回執(zhí)行狀態(tài),0表示成功,-1表示失敗	void delay (unsigned int howLong) 暫停指定的毫秒數(shù)	void delayMicroseconds (unsigned int howLong) 暫停指定的微妙數(shù)

?

#include 	int serialOpen (char *device, int baud)	打開并初始化串口	void  serialPutchar (int fd, unsigned char c)  發(fā)送一個字節(jié)的數(shù)據(jù)到串口	void  serialPuts (int fd, char *s)  發(fā)送一個字符串到串口		int   serialDataAvail (int fd)  獲取串口緩存中可用的字節(jié)數(shù)	int serialGetchar (int fd)  從串口讀取一個字節(jié)數(shù)據(jù)返回,讀取前使用serialDataAvail判斷

4、示例代碼1(向串口發(fā)送數(shù)據(jù))

#include #include #include int main(){        int fd;        if(wiringPiSetup()==-1){                printf("初始化失敗/n");                return -1;        }        fd = serialOpen("/dev/ttyAMA0",9600);        while(1){        //      serialPutchar(fd,"c");                serialPuts(fd,"hello world/r/n");	//   /r/n表示回車并換行                delayMicroseconds(1000000);//delay(1000);        }        return 0;}

5、示例代碼2(讀取串口數(shù)據(jù),終端輸出相應(yīng)語句)

#include #include #include int main(){        int fd;        int cmd;        if(wiringPiSetup()==-1){                printf("初始化失敗/n");                return -1;        }        fd = serialOpen("/dev/ttyAMA0",9600);        while(1){                while(serialDataAvail(fd)!=-1){                        cmd = serialGetchar(fd);                        //printf("data: %d/n",cmd);                        //printf("data: %c/n",cmd);                        if(cmd=="2"){                                serialPuts(fd,"data is 2/r/n");                        }                        if(cmd=="3"){                                serialPuts(fd,"data is 3/r/n");                        }                        if(cmd=="4"){                                serialPuts(fd,"data is 4/r/n");                        }                }        }        return 0;}

創(chuàng)作不易,動動小手點贊收藏

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/121230.html

相關(guān)文章

  • nodejs和樹莓開發(fā)以及點亮RGB的LED燈代碼

    摘要:前段時間集團舉行前端比賽,借此機會熟悉了樹莓派相關(guān)的東西,特此記錄一些相關(guān)的文檔和開發(fā)指南。一個鏈接控制硬件的基礎(chǔ)庫,比如控制串口,和鏈接串口的設(shè)備進行通信等,他有很多版本,樹莓派的版本見這里安裝有點,麻煩。 前段時間集團舉行前端IOT比賽,借此機會熟悉了樹莓派相關(guān)的東西,特此記錄一些相關(guān)的文檔和開發(fā)指南。 先介紹一些樹莓派的入門教程 阮一峰的樹莓派入門 微雪電子-樹莓派硬件中文官網(wǎng) ...

    liuchengxu 評論0 收藏0
  • Linux學(xué)習(xí)

    摘要:學(xué)習(xí)樹莓派的的初識學(xué)習(xí)樹莓派的的初識初識初識學(xué)習(xí)書籍正點原子嵌入式驅(qū)動開發(fā)指南章節(jié)第三十章學(xué)習(xí)內(nèi)容書中介紹的獲取可以有三個途徑第一個是的官方代碼。網(wǎng)上的燒寫樹莓派教程很多,但是為了學(xué)習(xí)我選擇了官方的代碼。Linux學(xué)習(xí) - 樹莓派4b的U-Boot的初識初識U-Boot學(xué)習(xí)書籍:《【正點原子】I.MX6U嵌入式Linux驅(qū)動開發(fā)指南V1.5.1》章節(jié):第三十章學(xué)習(xí)內(nèi)容:書中介紹uboot的獲...

    不知名網(wǎng)友 評論0 收藏0
  • 樹莓學(xué)習(xí)筆記(六)交叉編譯概念及安裝使用

    摘要:一交叉編譯概念什么是交叉編譯交叉編譯是在一個平臺上生成另一個平臺上的可執(zhí)行代碼。也要樹莓派有時又是因為目的平臺還沒有建立,連操作系統(tǒng)都沒有,根本談不上運行什么編譯器。 ...

    songze 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<