141 lines
3.0 KiB
Markdown
Raw Normal View History

2025-04-10 17:31:33 +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)
```