女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(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è)類(lèi)似的方式),包括。..。..

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

端口 - 正在使用的端口名稱(chēng)(在設(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ù)寫(xiě)入串口

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”的值

寫(xiě)一個(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()中找到)

功能 - 包括將字符串寫(xiě)入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ā)送/接收字符串。讀取和寫(xiě)入字符串的實(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ì)看到類(lèi)似于下面顯示的窗口的內(nèi)容。如果是這樣,那么我們的PIC程序和Python程序就能完美地相互通信。雖然這個(gè)例子非常簡(jiǎn)單,但它表明Python可以很容易地集成到微控制器項(xiàng)目中,包括PIC,AVR,STM,Arduino甚至Raspberry Pi!

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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

    文章

    4825

    瀏覽量

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

    關(guān)注

    0

    文章

    35

    瀏覽量

    11882
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何將CYPD3125用于DRP USB端口

    我正在嘗試 CYPD3125 用于 DRP USB 端口。 當(dāng)我的 5V 電源(當(dāng)我的端口充當(dāng) DFP 和電源時(shí))通電時(shí),我無(wú)法從我的 PD 充電器吸收電力。 在 PD 充電器的電源切斷之前,我
    發(fā)表于 05-06 11:02

    如何將Linux安裝包快速轉(zhuǎn)成玲瓏包

    本篇將以 motrix 為例為大家展示如何將 Linux 安裝包快速轉(zhuǎn)成玲瓏包。
    的頭像 發(fā)表于 03-12 16:01 ?411次閱讀
    <b class='flag-5'>如何將</b>Linux安裝包快速轉(zhuǎn)成玲瓏包

    Web Bluetooth SPP(串行端口配置文件)示例

    電纜替代(Cable Replacement)通常指的是通過(guò)無(wú)線技術(shù),如低功耗藍(lán)牙(Bluetooth LE)替代傳統(tǒng)的有線連接,例如串行端口配置文件(Serial Port Profile,簡(jiǎn)稱(chēng)SPP)。
    的頭像 發(fā)表于 02-28 09:40 ?514次閱讀

    如何將項(xiàng)目從IAR遷移到Embedded Studio

    本文描述如何將IAR EWARM項(xiàng)目遷移到SEGGER Embedded Studio(簡(jiǎn)稱(chēng)SES)中。
    的頭像 發(fā)表于 02-25 17:11 ?463次閱讀
    <b class='flag-5'>如何將</b>項(xiàng)目從IAR遷移到Embedded Studio

    如何將python文件導(dǎo)入到ROS系統(tǒng)中

    本文通過(guò)使用myCobot機(jī)械臂進(jìn)行QR碼視覺(jué)追蹤的實(shí)踐案例分析,介紹如何將 python 文件導(dǎo)入到 ROS 系統(tǒng)中。
    的頭像 發(fā)表于 02-11 11:08 ?656次閱讀
    <b class='flag-5'>如何將</b><b class='flag-5'>python</b>文件導(dǎo)入到ROS系統(tǒng)中

    串行接口的工作方式有幾種,串行接口的RXD1和TXD1是什么端口

    在數(shù)字通信領(lǐng)域,串行接口作為一種高效的數(shù)據(jù)傳輸方式,廣泛應(yīng)用于各種電子設(shè)備之間的數(shù)據(jù)交換。串行接口不僅具有結(jié)構(gòu)簡(jiǎn)單、傳輸距離遠(yuǎn)、抗干擾能力強(qiáng)等優(yōu)點(diǎn),而且能夠支持多種工作方式,以適應(yīng)不同應(yīng)用場(chǎng)景的需求。本文深入探討
    的頭像 發(fā)表于 01-29 16:51 ?984次閱讀

    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 ?4次下載
    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>使用

    bq35100與基于Li-Primary的應(yīng)用配合使用

    電子發(fā)燒友網(wǎng)站提供《bq35100與基于Li-Primary的應(yīng)用配合使用.pdf》資料免費(fèi)下載
    發(fā)表于 10-14 09:38 ?0次下載
    <b class='flag-5'>將</b>bq35100與基于Li-Primary的應(yīng)用<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ù)表