2016-03-29 29 views
-1

birisi bu arduino kodunu python koduna çevirmeme yardım edebilir mi?kodu arduino'dan python'a dönüştürmek

#define BUFFLEN 3 

byte buffer[] = { 0x05, 0x0D, 0x02, 0xFF, 0x10, 0xAA } 

for (byte i=0; i < BUFFLEN; i++) { 
    val = analogRead(A0); 
    val = constrain(val,0,1023); 
    buffer[i*2] = (byte)(i<<2) | highByte(val); 
    buffer[i*2+1] = lowByte(val); 
} 

Teşekkür

+0

Fikrin hangi bölümü Python'da nasıl ifade edileceğinden emin değil misin? – 6c1

+0

@ 6c1 0x00 türünde bayt dizisinin nasıl yapılacağını bilmiyorum, bayt dizisinin her dizini nasıl adreslenir ve tamsayı değişkeni (val) yüksek ve alçaltır – codeforge

cevap

0
Sonra aşağıdaki kod yapacağını bu durumda python kullanarak verileri işlemek seri port üzerinden veri yakalamak için pyserial kütüphaneyi kullanabilirsiniz

:

import serial 
import struct 

ser = serial.Serial('COM6',9600) #put the port number and the communication rate 


BUFFLEN = 3 #constant 

buffer = [ 0x05, 0x0D, 0x02, 0xFF, 0x10, 0xAA ] #array 

i=0 #initialize control variable 

def clamp(n, minn, maxn): 
    return max(min(maxn, n), minn) 

while (i < BUFFLEN): 
    val = ser.read() 
    val = clamp(val,0,1023) 
    buffer[i*2] = (i<<2) or struct.pack('<h', val) 
    buffer[i*2+1] = struct.pack('>h', val) 
    i+=1 #increment 

Ancak verileri yakalamak ve seriyi seriye yazdırmayı unutmayın IDE