39 lines
819 B
Python
39 lines
819 B
Python
import string
|
|
import time
|
|
import serial
|
|
from struct import *
|
|
|
|
def write_b(uart, data):
|
|
uart.write(pack('B',data))
|
|
|
|
class Uart2Spi:
|
|
def __init__(self, port, baudrate):
|
|
self.port = port
|
|
self.baudrate = baudrate
|
|
self.uart = serial.Serial(port, baudrate, timeout=0.01)
|
|
|
|
def read(self, addr):
|
|
while True:
|
|
write_b(self.uart, 0x02)
|
|
write_b(self.uart, (addr>>8)&0xFF)
|
|
write_b(self.uart, (addr&0xFF))
|
|
write_b(self.uart, 0x00)
|
|
read = self.uart.read()
|
|
if len(read) == 1:
|
|
break
|
|
return read[0]
|
|
|
|
def write(self, addr, data):
|
|
write_b(self.uart, 0x01)
|
|
write_b(self.uart, (addr>>8)&0xFF)
|
|
write_b(self.uart, (addr&0xFF))
|
|
write_b(self.uart, data)
|
|
|
|
def main():
|
|
csr = Uart2Spi(1,115200)
|
|
for i in range(100):
|
|
csr.write(0x0000,i)
|
|
print(csr.read(0x0000))
|
|
|
|
if __name__ == '__main__':
|
|
main() |