2025-04-11 09:40:32 +08:00
..
2025-04-11 09:40:32 +08:00
2025-04-11 09:40:32 +08:00
2025-04-11 09:40:32 +08:00
2025-04-11 09:40:32 +08:00
2025-04-11 09:40:32 +08:00
2025-04-11 09:40:32 +08:00
2025-04-11 09:40:32 +08:00
2025-04-11 09:40:32 +08:00

EC718 Console

mshell

通过串口指令扩展功能,实现测试和数据采集

  • 实现通过LVGL输出到LCD屏幕

python

  • 将python组件分离为单独的subsys便于迁移subsys只是用于建立快速任务属于APP而组件才是核心依赖文件

适配过程是通过参考其他平台的package结构驱动大致包括open/close/ioctl_config/enable/disable/write/read等封装函数

  • open/close用于初始化相关数据堆栈
  • enable/disable用于使能配置init和deinit
  • config用于配置相关参数

再根据不同平台和不同SDK适配出对应的底层C调用相关的API头文件可以放在pikascript-api路径下

time = ec7xx.Time()
pin = ec7xx.GPIO()
pin.setId(2)
pin.getId()
pin.setMode('out')
pin.setPull('up')
pin.getMode()

// pin.setPin(1)
// pin.getPin()
// pin.enable()
// pin.high()
// pin.low()
// pin.read()
uart = ec7xx.UART()
uart.setId(2)
uart.setPinTX(23)
uart.setBaudRate(115200)
uart.enable()
uart.readBytes(5)
uart.writeBytes(b'\xff\xfe\xfd\xfc', 4)

readBuff = uart.read(2)
print('read 2 char:')
print(readBuff)
def uart():
    """
    uart 例程
    通过 uart1 进行自发自收实验,你可以将 P23 和 P24 用杜邦线连接起来
    """
    uart1 = ec7xx.UART()
    uart1.setId(1)
    uart1.setPinTX(23)
    uart1.setPinRX(24)
    uart1.setBaudRate(115200)
    uart1.enable()
    print('Waiting for data from uart1')
    for i in range(10):
        uart1.write('Hello!')
        data = uart1.read(256)
        time.sleep(0.1)
        if data:
            print('Received: %r' % data)
        time.sleep(0.1)

def _uart_receive_callback(signal):
    """
    UART 回调例程的回调函数
    """
    global uart_rx_cnt
    data = uart1.read(256)
    print('Received:', data, '(%d/%d)' % (uart_rx_cnt + 1, 3))
    uart_rx_cnt += 1

def uart_callback():
    """
    uart 回调例程
    通过 uart1 与电脑通信, 使用回调方式接收数据
    电脑需要连接到 uart1 的 TX 和 RX 引脚,波特率为 115200
    例程开始后,你需要在电脑上输出三行数据
    TX引脚是 P23
    RX引脚是 P24
    """
    global uart1
    global uart_rx_cnt
    uart_rx_cnt = 0
    uart1 = machine.UART()
    uart1.setId(1)
    uart1.setPinTX(23)
    uart1.setPinRX(24)
    uart1.setBaudRate(115200)
    uart1.enable()
    uart1.setCallBack(_uart_receive_callback, uart1.SIGNAL_RX)
    print('Waiting for data from uart1 (0/3)')
    while True:
        if uart_rx_cnt == 3:
            break
        time.sleep(0.1)
    uart1.disable()

  • 008b691c <Driver_USART0>
  • 008b695c <Driver_USART1>
  • 008b699c <Driver_USART2>
  • 008b69dc <Driver_USART3>

UART2

  • RX GPIO12 - 27 - PAD_MUX_ALT3 - UART1-RTS
  • TX GPIO13 - 28 - PAD_MUX_ALT3 - UART1-CTS

UART3

  • RX GPIO14 - 29 - PAD_MUX_ALT3 - SDA
  • TX GPIO15 - 30 - PAD_MUX_ALT3 - SCL

SPI

>>>spi.enable()
>>>Error: abstract method `PikaStdDevice_SPI_platformEnable()` need override.
 -> RUN spi.enable              (#1)