zoukankan      html  css  js  c++  java
  • 在 MaixPy 上莫名其妙的读取不到 SD 卡文件的原因是因为 SPI1 被修改定义了。

    2020年10月1日 目前通过接入软 SPI 模块解决问题。

    所以在未来会使用传递 结构体 的方式作为抽象层恢复多端使用的 SPI 资源,或者引入 软 SPI 接口解决部分问题。

    monkey patch 如下:

    
    from machine import SPI
    import utime
    from Maix import GPIO
    from fpioa_manager import fm
    
    # MaixBit       W25QXX
    # CS  (25)      CS
    # MOSI(22)      D0 DI(MOSI)
    # MISO(24)      D1 DO(MISO)
    # SCK (23)      SCK
    
    ''' CUBE
    07 |  V
    15 | 21
    20 | 08
     G | 06
    '''
    
    ''' AMIGO
    24 |  V
    06 | 11
    12 | 10
     G | 27
    '''
    
    print("Welcome to MicroPython!")
    fm.register(20, fm.fpioa.GPIO5, force=True)
    cs = GPIO(GPIO.GPIO5, GPIO.OUT)
    #cs.value(0)
    #utime.sleep_ms(2000)
    
    print(os.listdir())
    spi = SPI(SPI.SPI1, mode=SPI.MODE_MASTER, baudrate=400*1000, polarity=0, phase=0, bits=8, firstbit=SPI.MSB,
        sck=21, mosi=8, miso=15)#使用程序配置了 cs0 则无法读取 W25QXX
    print(os.listdir())
    print(spi)
    
    while True:
        fm.register(21, fm.fpioa.SPI1_SCLK, force=True)
        fm.register(8, fm.fpioa.SPI1_D0, force=True)
        fm.register(15, fm.fpioa.SPI1_D1, force=True)
        cs.value(0)
        write_data = bytearray([0x90, 0x00, 0x00, 0x00])
        spi.write(write_data)
        id_buf = bytearray(2)
        spi.readinto(id_buf, write=0xff)
        print(id_buf)
        print(time.ticks_ms())
        cs.value(1)
        #cs.value(0)
        utime.sleep_ms(200)
        #utime.sleep_ms(2200)
        fm.register(27, fm.fpioa.SPI1_SCLK, force=True)
        fm.register(28, fm.fpioa.SPI1_D0, force=True)
        fm.register(26, fm.fpioa.SPI1_D1, force=True)
        print(os.listdir())
    
    spi.deinit()
    
    

    这个问题实际上并没有什么好的解决方法,最好是统一到同一套 IO 接口,然后多个 SS (GPIO)片选完成多从机的通信,从而忽略这个重映射的问题。

  • 相关阅读:
    mysql 索引
    redis持久化
    redis发布订阅
    django 信号
    paramiko模块
    23种设计模式python实现
    几种浏览器存储数据的方式
    关于传参
    对字符串里的四则运算进行计算2020/10/12
    动手动脑2020/10/9
  • 原文地址:https://www.cnblogs.com/juwan/p/13580389.html
Copyright © 2011-2022 走看看