基于 RA8P1 的触摸屏演示工程
我们是全国大学生电子设计竞赛信息科技前沿专题赛的参赛队伍。本文是参赛作品中触摸显示部分整理出的学习例程一个基于瑞萨 RA8P1 的触摸屏演示应用驱动 ST7796 液晶屏480×320与 FT6336 电容触摸屏。文章重点介绍 RA8P1 平台资源的使用与工程配置供参赛同学交流参考。一、RA8P1 平台介绍RA8P1 是瑞萨旗舰级边缘 AI 异构 MCU22ULL 台积电工艺定位介于高端 MCU 与入门 MPU 之间单核集成 CPU 双核 硬件 NPU专门面向端侧视觉 / 语音 TinyML 场景也是瑞萨首款搭载 1GHz Cortex-M85 的量产芯片。核心异构架构三引擎架构1. 主运算核Cortex-M85 1GHz带 Helium MVE 矢量扩展、FPU 浮点、TrustZone 安全架构CoreMark 7300负责 AI 前后处理、系统主控、图形渲染性能接近入门 MPU。2. 实时协核Cortex-M33 250MHz独立运行、低功耗实时域接管电机控制、传感器采集、工业总线、低功耗休眠管理不占用 M85 算力。3. AI 硬件加速Ethos-U55 NPU 500MHz算力 256 GOPS0.256 TOPS专门加速 CNN/RNN 神经网络相比纯 CPU 推理速度提升 24~33 倍、功耗大幅降低支持 8bit 权重、8/16bit 激活量化模型。本工程用到的 RA8P1 资源如下资源Cortex-M85 主核1GHz用途运行 FreeRTOS 与 LVGLUI 任务 主循环引脚无资源DAVE2D 2D 图形加速器用途LVGL 渲染加速矩形填充、混合等由硬件完成引脚无资源SCI 串行通信接口用途SCI3 配置为 SPI 主机驱动 LCD60MHzSCI9 配置为 UART输出调试日志引脚SCI3 接 SCK-P311、MOSI-P310、MISO-P905SCI9 接 TX-P209、RX-P208资源DMAC 直接存储器访问用途LCD SPI 收发的 DMA 通道DMAC1/DMAC2减轻 CPU 负担引脚无资源IIC 硬件 I2C 接口用途IIC2 主模式读取 FT6336 触摸坐标寄存器引脚SCL-P515、SDA-P514资源ICU 中断控制器用途外部中断 IRQ13接收触摸屏 INT 引脚信号引脚P009资源IOPORT 引脚控制用途GPIO 控制 LCD 背光开关、触摸屏复位引脚LCD 接 CS-P000、RST-P001、DC-P002、背光-P601触摸 RST 接 P008资源Cortex-M33 实时协核用途低功耗实时域本工程未使用引脚无资源Ethos-U55 NPU用途256 GOPS 神经网络加速本工程未使用引脚无二、工程配置1. 开发环境- IDEe2 studio集成 RASC 外设配置器- FSP 版本6.3.0- 工具链arm-none-eabi-gcc 13.2-mcpucortex-m85链接启用 --gc-sections 自动丢弃未引用代码- 构建GNU makee2 studio 自动生成构建脚本2. 外设配置清单FSP 配置项外设SPISCI3用途SPI 主机模式位速率 60MHzMSB 先行LCD 命令与像素数据引脚SCK-P311、MOSI-P310、MISO-P905外设DMACDMAC1/DMAC2用途SPI 收发传输通道LCD 刷屏 DMA引脚无外设I2CIIC2用途硬件主模式7 位地址FT6336 触摸引脚SCL-P515、SDA-P514外设外部中断IRQ13用途下降沿触发触摸 INT 引脚引脚P009外设UARTSCI9用途8N1无校验printf 调试输出引脚TX-P209、RX-P208外设GPIO用途背光、触摸复位屏控制引脚LCD 接 CS-P000、RST-P001、DC-P002、背光-P601触摸 RST 接 P0083. 系统与软件配置- FreeRTOS任务静态创建xTaskCreateStaticUI 任务栈 20KB5ms 主循环周期- LVGL 9.5.0lv_conf.h- LV_USE_DRAW_DAVE2D 1 —— 开启 DAVE2D 硬件加速- 颜色格式 RGB565PARTIAL 渲染模式双缓冲两片 480×40- LV_BUILD_EXAMPLES / LV_BUILD_DEMOS 关闭例程不需要示例代码- 外设打开方式外设不在系统启动时统一打开而是由各驱动模块初始化时手动调用 open三、例程内容简介例程为一个触摸屏交互演示实现三个功能1. 纯白界面开机后屏幕纯白无多余元素2. 单击画红点点击处出现 12×12 红色实心圆多次点击红点累积显示3. 双击清屏400ms 内同一区域≤30px双击清空全部红点恢复白屏。工程代码结构src 目录- ui_thread_entry.c —— UI 线程入口与交互逻辑画点/清屏- middleware/lvgl_port/ —— LVGL 显示与触摸适配层lv_port_disp / lv_port_touch- device/display/ —— 显示抽象层display_device- drivers/display/ —— LCD 与触摸驱动lcd_bus_spi / lcd_st7796 / lcd_touch_ft6336- system/isr.c —— 中断回调、printf 串口重定向通过网盘分享的文件触摸屏.zip链接: https://pan.baidu.com/s/1yQMbvkIYji3sWgDItF1RKg?pwdnewm 提取码: newm感谢阅读欢迎指正。