亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標題: 帶以太網(wǎng)的MicroPython開發(fā)板:TPYBoardv201建立云加法器實例 [打印本頁]

作者: bodasister    時間: 2017-9-11 16:55
標題: 帶以太網(wǎng)的MicroPython開發(fā)板:TPYBoardv201建立云加法器實例

  前面的一篇文檔向大家介紹了v201的開發(fā)板作為客戶端終端向TCPS上傳數(shù)據(jù)的基本過程,這次向大家簡單介紹一下怎樣使用V201開發(fā)板搭建一臺簡易的服務(wù)器做遠程云加法器。

  一.實驗器件

  TPYBoard_V201開發(fā)板一塊

  二.TPYBoard_V201開發(fā)板

  TPYBoard_V201是以遵照MIT許可的MicroPython為基礎(chǔ),由TurnipSmart公司制作的一款MicroPython開發(fā)板,它基于STM32F405單片機,通過USB接口進行數(shù)據(jù)傳輸。該開發(fā)板內(nèi)置4個LED燈、板載V201網(wǎng)口功能,可在3.3V-10V之間的電壓正常工作。可以說這個開發(fā)板在網(wǎng)絡(luò)穩(wěn)定方面是一霸也不為過,板上其他硬件資源也非常豐富,像單總線,i2c,spi,串口等接口也是應(yīng)有盡有,這次我們就要用到串口的功能。

  上面介紹了所需器件,下面我們來說一下實驗所需的環(huán)境。這里只需要能給開發(fā)板供電,以及可以支持有線網(wǎng)絡(luò)連接(可以給開發(fā)板接上網(wǎng)線)即可。

  實驗的第一步,給開發(fā)板進行供電和插上網(wǎng)線,看到V201網(wǎng)口上的綠色指示燈亮起來,說明已經(jīng)連接上網(wǎng)絡(luò)。

  三.配置V201網(wǎng)口

  這一步是為了設(shè)置V201網(wǎng)口模塊的目的地址,本地端口,波特率,數(shù)據(jù)位,校驗位等一系列信息。

  接著我們來說一下基本的邏輯流程:

  1.確認供電和網(wǎng)絡(luò)完好;

  2.確認網(wǎng)絡(luò)完好,接下來就是進行傳輸和處理,在保證網(wǎng)絡(luò)通暢的前提下,設(shè)置串口6,也就是Y1和Y2,具體的波特率這個要參照你前面設(shè)置給V201網(wǎng)口的波特率來定;

  3.在這里需要說一句的是,這個開發(fā)板在使用以太網(wǎng)功能的時候,Y1,Y2,Y3這三個引腳是被占用的,其中Y1和Y2是串口,執(zhí)行通信功能;

  4.這里需要介紹一下Y3,Y3是V201網(wǎng)口的設(shè)置引腳,當Y3不為低電平時,V201網(wǎng)口處于正常工作狀態(tài),可以進行數(shù)據(jù)上傳,也可以利用設(shè)置軟件通過網(wǎng)絡(luò)進行配置。當Y3為低電平時,V201網(wǎng)口進入串口配置模式,可利用設(shè)置軟件通過串口進行配置,此時不能進行數(shù)據(jù)上傳;

  5.以上工作全部完成后,剩下的就是時刻監(jiān)控串口6是否有數(shù)據(jù);

  6.當?shù)谝皇盏綌?shù)據(jù)的時候,把計數(shù)變量加一,并利用寄存變量保存數(shù)據(jù);

  7.當?shù)诙问盏綌?shù)據(jù)之后,把計數(shù)變量加一,并利用寄存器變量保存數(shù)據(jù);

  8.當判斷到計數(shù)變量為二時,把兩次收到的數(shù)據(jù)相加;

  9.最后我們只需要把兩次相加的結(jié)果從串口6發(fā)送出去即可;

  四.實物及數(shù)據(jù)圖

  下面是我做實驗的實物圖和數(shù)據(jù)監(jiān)控截圖,我是在我的電腦上開了個模擬的客戶端口,雖然low了點,但是效果一樣的。



  實物圖



  數(shù)據(jù)監(jiān)控截圖

  五.源代碼

  下面是我做的源代碼,共享給大家。
  1. import pyb
  2. from pyb import UART
  3. from pyb import Pin
  4. from ubinascii import hexlify
  5. from ubinascii import *

  6. ulan = UART(6, 9600)#定義連接網(wǎng)口的串口
  7. K=1
  8. jia=0
  9. jie1=0
  10. he=0
  11. js=0#設(shè)置寄存變量
  12. #*******************************主程序**********************************
  13. print('while')
  14. while (K>0):
  15.     _dataRead=ulan.readall()#讀取客戶端數(shù)據(jù)
  16.     if _dataRead!=None:#判斷客戶端是否傳來數(shù)據(jù)
  17.         print(_dataRead)
  18.         js=js+1#計數(shù)判斷執(zhí)行命令標志
  19.         if(js==1):
  20.             jia=_dataRead.decode('utf-8')#數(shù)據(jù)轉(zhuǎn)換
  21.             jia=int(jia)#數(shù)據(jù)轉(zhuǎn)換
  22.             print(jia)
  23.         if(js==2):
  24.             jia1=_dataRead.decode('utf-8')
  25.             jia1=int(jia1)
  26.             print(jia1)
  27.         if(js==2):
  28.             he=jia+jia1
  29.             js=0
  30.             ulan.write(str(jia)+'+'+str(jia1)+'='+str(he)+'\r\n')#計算結(jié)果返回給客戶端
復制代碼










歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1