成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

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

levinit / 2866人閱讀

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

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

一、串口通信概念

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

二、串口通信編程

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

1、配置串口

  • 修改/boot/cmdline.txt文件,將“console=ttyAMA0,115200”刪除,
    該語句作用為樹莓派啟動(dòng)時(shí)用串口來打印調(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ā)送一個(gè)字節(jié)的數(shù)據(jù)到串口	void  serialPuts (int fd, char *s)  發(fā)送一個(gè)字符串到串口		int   serialDataAvail (int fd)  獲取串口緩存中可用的字節(jié)數(shù)	int serialGetchar (int fd)  從串口讀取一個(gè)字節(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)作不易,動(dòng)動(dòng)小手點(diǎn)贊收藏

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

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

相關(guān)文章

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

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

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

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

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

    摘要:一交叉編譯概念什么是交叉編譯交叉編譯是在一個(gè)平臺(tái)上生成另一個(gè)平臺(tái)上的可執(zhí)行代碼。也要樹莓派有時(shí)又是因?yàn)槟康钠脚_(tái)還沒有建立,連操作系統(tǒng)都沒有,根本談不上運(yùn)行什么編譯器。 ...

    songze 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<