色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何將Python與串行端口配合使用

454398 ? 來(lái)源:工程師吳畏 ? 2019-07-31 08:56 ? 次閱讀

原理圖

如何將Python與串行端口配合使用

的 電路 的

獲取PySerial

Python的許多優(yōu)秀功能之一是在使用PIP工具時(shí)安裝庫(kù)是多么容易。在您的計(jì)算機(jī)上,打開(kāi)終端或命令提示符并鍵入“PIP”。如果您收到無(wú)法識(shí)別的錯(cuò)誤,那么您的PIP無(wú)法正確安裝。安裝Python時(shí),請(qǐng)確保選中“添加到環(huán)境變量”選項(xiàng)。 PIP工作后,運(yùn)行下面顯示的命令安裝PySerial:

pip install PySerial

我們的項(xiàng)目中包含PySerial,是時(shí)候打開(kāi)Python IDLE并創(chuàng)建我們的串口項(xiàng)目了!

PySerial

使用PySerial時(shí),需要配置一些參數(shù)(在與在微控制器上設(shè)置UART外設(shè)類似的方式),包括。..。..

波特率 - COM端口的運(yùn)行速度。 Arduino項(xiàng)目?jī)A向于在115200運(yùn)行

端口 - 正在使用的端口名稱(在設(shè)備管理器中查找)

奇偶校驗(yàn)位 - 這些用于錯(cuò)誤糾正但通常不使用

停止位 - 除非存在時(shí)序問(wèn)題,否則只使用一個(gè)停止位

超時(shí) - 用于防止串行掛起的端口

除了定義上面顯示的參數(shù)外,還需要導(dǎo)入串口模塊。下面的代碼摘錄顯示了如何導(dǎo)入串行模塊并配置UART端口以使用115200波特的COM3,沒(méi)有奇偶校驗(yàn),一個(gè)停止位和兩秒的超時(shí)。

import serial

serialPort = serial.Serial(port = “COM4”, baudrate=115200,

bytesize=8, timeout=2, stopbits=serial.STOPBITS_ONE)

這很容易使用設(shè)備管理器時(shí),找到USB到串行設(shè)備所在的COM端口。打開(kāi)開(kāi)始菜單,然后鍵入“設(shè)備管理器”。加載設(shè)備管理器時(shí),查找名為“ports”的部分并展開(kāi)它。默認(rèn)情況下,大多數(shù)Windows計(jì)算機(jī)都有一個(gè)用于內(nèi)部通信的COM1端口,因此請(qǐng)勿使用該COM端口。假設(shè)您只連接了一個(gè)COM設(shè)備,則第二個(gè)COM端口將是您的微控制器。

使用串口非常簡(jiǎn)單,只需要一些功能,包括。..。..

open() - 這將打開(kāi)串口

close() - 這將關(guān)閉串口

readline () - 這將從串口讀取一個(gè)字符串

read(size) - 這將從串口讀取n個(gè)字節(jié)

write(data) - 這將把傳遞給函數(shù)的數(shù)據(jù)寫入串口

in_waiting - 這個(gè)變量保存緩沖區(qū)中的字節(jié)數(shù)

在我們的簡(jiǎn)單程序中,我們首先打開(kāi)串口先前已定義。必須調(diào)用open()函數(shù),因?yàn)樗试S我們的程序“聲明”端口并阻止任何其他進(jìn)程訪問(wèn)它。如果尚未打開(kāi)端口,也無(wú)法訪問(wèn)該端口。

下一段代碼是一個(gè)無(wú)限循環(huán),它做了一些事情。..。..

檢查緩沖區(qū)中是否有任何數(shù)據(jù)等待

/li》

當(dāng)數(shù)據(jù)到達(dá)時(shí),將數(shù)據(jù)傳輸?shù)阶兞俊皊erialString”

打印“serialString”的值

寫一個(gè)字符串回到發(fā)送數(shù)據(jù)的設(shè)備,通知它我們收到了字符串

serialString = “” # Used to hold data coming over UART

while(1):

# Wait until there is data waiting in the serial buffer

if(serialPort.in_waiting 》 0):

# Read data out of the buffer until a carraige return / new line is found

serialString = serialPort.readline()

# Print the contents of the serial data

print(serialString.decode(‘Ascii’))

# Tell the device connected over the serial port that we recevied the data!

# The b at the beginning is used to indicate bytes!

serialPort.write(b“Thank you for sending data ”)

我們的微控制器電路/代碼

為了測(cè)試我們的Python串口程序,我們將使用一個(gè)非常小的PIC芯片,PIC16F1825 ,將使用XC8編碼。該芯片具有UART端口,這意味著我們可以將其直接連接到USB轉(zhuǎn)串口轉(zhuǎn)換器(例如FTDI 232R)。幸運(yùn)的是,這里使用的FTDI模塊從USB端口提供電源,因此我們不需要任何電源電路(更容易構(gòu)建)。

PIC的代碼由三個(gè)主要區(qū)域組成:

配置位 - 這些配置核心寄存器,如PLL和振蕩器

主要代碼 - 主要執(zhí)行代碼(在main()中找到)

功能 - 包括將字符串寫入U(xiǎn)ART并配置UART

配置位不會(huì)被深入介紹,但它們確保PIC不使用PLL,而是使用內(nèi)部振蕩器模塊作為其時(shí)鐘源。

// CONFIG1

#pragma config FOSC = INTOSC pin)

#pragma config WDTE = OFF

#pragma config PWRTE = OFF

#pragma config MCLRE = ON

#pragma config CP = OFF

#pragma config CPD = OFF

#pragma config BOREN = OFF

#pragma config CLKOUTEN = OFF

#pragma config IESO =

#pragma config FCMEN = ON

// CONFIG2

#pragma config WRT = OFF

#pragma config PLLEN = OFF

#pragma config STVREN = ON

#pragma config BORV = LO

#pragma config LVP = ON

主要功能PIC可以做三件事:將器件配置為使用8MHz的時(shí)鐘頻率(對(duì)于UART模塊),配置UART外設(shè);然后通過(guò)UART端口發(fā)送/接收字符串。讀取和寫入字符串的實(shí)際函數(shù)已在函數(shù)中定義,這使得在主代碼中更容易使用UART端口,但我們不會(huì)介紹此代碼的說(shuō)明。

void main(void)

{

// Configure pins as digital

ANSELA = 0;

ANSELC = 0;

OSCCONbits.IRCF = 0b1110;

configUART();

while(1)

{

sendStringUART(“Hello, this is the PIC16F1825”);

readStringUART(stringBuffer);

}

}

這些函數(shù)提供了有用的功能,下面是函數(shù)原型:

void configUART(void);

void sendByteUART(char data);

void sendStringUART(const char *string);

void readStringUART(char *buffer);

結(jié)果

如果一切都按計(jì)劃進(jìn)行,當(dāng)Python程序運(yùn)行并且PIC設(shè)備打開(kāi)時(shí),我們應(yīng)該會(huì)看到類似于下面顯示的窗口的內(nèi)容。如果是這樣,那么我們的PIC程序和Python程序就能完美地相互通信。雖然這個(gè)例子非常簡(jiǎn)單,但它表明Python可以很容易地集成到微控制器項(xiàng)目中,包括PIC,AVR,STM,Arduino甚至Raspberry Pi!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4807

    瀏覽量

    84959
  • 串行端口
    +關(guān)注

    關(guān)注

    0

    文章

    34

    瀏覽量

    11698
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    EE-234:通過(guò)串行端口T1/E1收發(fā)器/成幀器與Blackfin處理器連接

    電子發(fā)燒友網(wǎng)站提供《EE-234:通過(guò)串行端口T1/E1收發(fā)器/成幀器與Blackfin處理器連接.pdf》資料免費(fèi)下載
    發(fā)表于 01-07 14:06 ?0次下載
    EE-234:通過(guò)<b class='flag-5'>串行</b><b class='flag-5'>端口</b><b class='flag-5'>將</b>T1/E1收發(fā)器/成幀器與Blackfin處理器連接

    ADI公司串行端口開(kāi)發(fā)和故障排除指南

    電子發(fā)燒友網(wǎng)站提供《EE-74:ADI公司串行端口開(kāi)發(fā)和故障排除指南.pdf》資料免費(fèi)下載
    發(fā)表于 01-07 13:48 ?3次下載
    ADI公司<b class='flag-5'>串行</b><b class='flag-5'>端口</b>開(kāi)發(fā)和故障排除指南

    EE-220:外部存儲(chǔ)器與第三代SHARC處理器和并行端口配合使用

    電子發(fā)燒友網(wǎng)站提供《EE-220:外部存儲(chǔ)器與第三代SHARC處理器和并行端口配合使用.pdf》資料免費(fèi)下載
    發(fā)表于 01-06 16:12 ?0次下載
    EE-220:<b class='flag-5'>將</b>外部存儲(chǔ)器與第三代SHARC處理器和并行<b class='flag-5'>端口</b><b class='flag-5'>配合</b>使用

    如何將LVDS/OLDI橋接到HDMI/DVI

    電子發(fā)燒友網(wǎng)站提供《如何將LVDS/OLDI橋接到HDMI/DVI.pdf》資料免費(fèi)下載
    發(fā)表于 09-27 09:35 ?1次下載
    <b class='flag-5'>如何將</b>LVDS/OLDI橋接到HDMI/DVI

    如何將BQ35100配置為EOS模式

    電子發(fā)燒友網(wǎng)站提供《如何將BQ35100配置為EOS模式.pdf》資料免費(fèi)下載
    發(fā)表于 09-11 10:03 ?0次下載
    <b class='flag-5'>如何將</b>BQ35100配置為EOS模式

    TUSB2036通用串行總線的2或3端口集線器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《TUSB2036通用串行總線的2或3端口集線器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 07-09 10:43 ?0次下載
    TUSB2036通用<b class='flag-5'>串行</b>總線的2或3<b class='flag-5'>端口</b>集線器數(shù)據(jù)表

    TUSB2077A 7端口通用串行總線集線器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《TUSB2077A 7端口通用串行總線集線器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 07-08 09:48 ?0次下載
    TUSB2077A 7<b class='flag-5'>端口</b>通用<b class='flag-5'>串行</b>總線集線器數(shù)據(jù)表

    TUSB2046x 4端口集線器,用于帶可選串行EEPROM接口的通用串行總線數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《TUSB2046x 4端口集線器,用于帶可選串行EEPROM接口的通用串行總線數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 06-25 09:36 ?0次下載
    TUSB2046x 4<b class='flag-5'>端口</b>集線器,用于帶可選<b class='flag-5'>串行</b>EEPROM接口的通用<b class='flag-5'>串行</b>總線數(shù)據(jù)表

    如何將Littlefs安裝到通過(guò)qspi連接到電路板的外部串行閃存上?

    一款 PSoC6 套件,并將 mtb-littlefs 子程序添加到我的項(xiàng)目和 XMC7100 套件中。 能行嗎? 如何將 Littlefs 安裝到通過(guò) qspi 連接到電路板的外部串行閃存上? 我
    發(fā)表于 05-27 06:03

    在嵌入式設(shè)計(jì)中擴(kuò)展串行端口的入門知識(shí)

    大多數(shù)嵌入式系統(tǒng)都至少提供兩個(gè)串口。然而,有些系統(tǒng)需要更多。因此,這需要以某種方式擴(kuò)展串行端口的數(shù)量。設(shè)計(jì)人員可用的一些選擇包括 USB 到串行端口、I2C 到
    發(fā)表于 05-03 09:30 ?287次閱讀
    在嵌入式設(shè)計(jì)中擴(kuò)展<b class='flag-5'>串行</b><b class='flag-5'>端口</b>的入門知識(shí)

    CYBT-243053-EVAL上未檢測(cè)到串行端口的原因?

    任何調(diào)用串行端口的應(yīng)用程序, CAN 設(shè)備管理器中看到串行端口。 我在使用Silicon Labs USB串行
    發(fā)表于 03-01 06:39

    ELF 1技術(shù)貼|如何將Python3.6.9移植到開(kāi)發(fā)板上

    在ELF1開(kāi)發(fā)板的Linux4.1.15eMMC鏡像中,默認(rèn)預(yù)裝了Python2.7。為了適應(yīng)更多應(yīng)用場(chǎng)景,有些小伙伴可能需要移植其他版本的Python,下面將以Python3.6.9為例詳細(xì)介紹
    的頭像 發(fā)表于 02-22 14:06 ?459次閱讀
    ELF 1技術(shù)貼|<b class='flag-5'>如何將</b><b class='flag-5'>Python</b>3.6.9移植到開(kāi)發(fā)板上

    如何將LED連接到Arduino板并使其閃爍

     在本快速入門指南中,您將學(xué)習(xí)如何將 LED 連接到 Arduino 板并使其閃爍。
    的頭像 發(fā)表于 02-11 10:53 ?2313次閱讀
    <b class='flag-5'>如何將</b>LED連接到Arduino板并使其閃爍

    如何將光敏電阻連接到Arduino板并讀取電壓

    在本快速入門指南中,您將學(xué)習(xí)如何將光敏電阻連接到Arduino板并讀取電壓。您將首先使用串行監(jiān)視器來(lái)了解光傳感器的行為方式,然后構(gòu)建一個(gè)電路,在天黑時(shí)自動(dòng)打開(kāi)燈。
    的頭像 發(fā)表于 02-11 10:45 ?4179次閱讀
    <b class='flag-5'>如何將</b>光敏電阻連接到Arduino板并讀取電壓

    什么是串行端口?有哪幾種分類?

    什么是串行端口?有哪幾種分類? 串行端口是計(jì)算機(jī)中用于進(jìn)行數(shù)據(jù)傳輸?shù)囊环N接口類型,通過(guò)單一的數(shù)據(jù)線逐位地傳輸數(shù)據(jù)。與串行
    的頭像 發(fā)表于 02-02 15:40 ?2261次閱讀
    主站蜘蛛池模板: 亚洲区偷拍自拍29P 亚洲区视频在线观看 | 免费视频国产在线观看网站 | 玩弄朋友娇妻呻吟交换电影 | 91涩涩视频| 国产午夜一级鲁丝片 | 日本久久久久亚洲中字幕 | 日本美国群交P片内射捆绑 日本毛片久久国产精品 | 国产精品久久久久久久久齐齐 | 最近中文字幕免费高清MV视频6 | 亚洲黄色在线观看 | 久久久久久久久久久福利观看 | 国产高清视频在线观看97 | 视频区 国产 欧美 日韩 | 老湿司午夜爽爽影院榴莲视频 | 午夜色情影院色a国产 | yellow片高清视频免费看 | 亚洲三级在线中文字幕 | 最近高清中文字幕无吗免费看 | 色婷婷我要去我去也 | 亚洲免费一区 | 久久精品综合网中文字幕 | 国产亚洲精品精品国产亚洲综合 | 亚洲精品欧美精品中文字幕 | 中文字幕福利视频在线一区 | 97久久超碰中文字幕 | qvod免费电影 | 亚洲色噜噜狠狠站欲八 | 国产亚洲精品久久久999密臂 | 国产51麻豆二区精品AV视频 | 久久国产主播福利在线 | 国产成人无码精品久久久免费69 | 亚洲a视频在线观看 | 一区二区三区四区国产 | 果冻传媒在线观看视频 | 久久精品亚洲国产AV涩情 | a色毛片免费视频 | 综合亚洲桃色第一影院 | 亚洲中文字幕无码一久久区 | 欧洲vs美洲完整视频 | 99精品在线免费 | 7723手机游戏破解版下载 |