玄铁RISC-V处理器入门与实战-RISC-V 应用领域开发示例-基于D1 Dock Pro 应用开发示例

简介: 玄铁RISC-V处理器入门与实战-RISC-V 应用领域开发示例-

1使用LRADC模块实现多种按键模式触发

a示例介绍

本示例主要使⽤了chip_d1组件驱动组件⾥的LRADC。LRADC模块属于输⼊设备,⼀般包括各种按键的实现。当⽤户按下按键的时候会触发中断,可以在中断⼦程序⾥⾯进⾏判断当前的按键属于哪种⾏为,可以⽀持多种按键模式的触发。涉及到的主要函数如下:

 

// 初始化lradc
lradc_status_t csi_lradc_init(void);
// 反初始化lradc
lradc_status_t csi_lradc_deinit(void);
// 注册回调函数
lradc_status_t csi_lradc_register_callback(lradc_callback_t callback);

 

具体使⽤如下

 

static void lradc_irq_callback(uint32_t irq_status,uint32_t data)
{
    // Here,we only catpure key button's up IRQ to confirm user press
key one times
    if(irq_status & LRADC_ADC0_UPPEND){
        printf("user key is pressed one times\n");
   }
}
static int test_lradc(void)
{
    int ret = -1;
    printf("Run lradc test\n");
    ret = csi_lradc_init();
    if(ret){
        printf("lradc init failed!\n");
        return -1;
   }
    csi_lradc_register_callback(lradc_irq_callback);
    return 0;
}

 

b)示例演示

双击打开CDK,点击⼯具栏最右侧的平头哥图标。

找到工程后点击【创建⼯程】按钮。

 

 

image.png

 

 

右键点击d1_button_demo⼯程,选择build,进⾏编译,直到结束。

image.png

 

先连接好硬件JTAG。然后点击红⾊框处的按钮开始烧写。

 

image.png 

image.png 

 

烧写完毕之后,按复位键即可启动。

 

关于D1 Dock Pro开发板来实现多种按键模式的触发的详细介绍可以进入芯片开放社区(OCC)查看。

2LCD显示

a示例介绍

本示例主要使⽤了chip_d1组件驱动组件⾥的mipi-dsi驱动,⽤户可以参考驱动,对屏显示进⾏控制显示,包括屏的亮度显示等。

 屏初始化

int csi_display_init(void)

 

屏显示控制

int csi_display_ioctl(disp_cmd_e cmd,void *arg)

 

屏显示控制命令包括以下⼏类:

Global interface

Layer interface

Capture interface

LCD interface

Smart backlight

 

具体可以参考sunxi_display2.h⾥的tag_DISP_CMD数据定义。

b)示例演示

双击打开CDK,点击⼯具栏最右侧的平头哥图标,在搜索栏⾥输⼊lcd_demo,在结果⾥选择lcd_demo,点击右侧的创建⼯程】,版本选择v7.5.1。

  image.png


右键点击lcd_demo⼯程选择build,进⾏编译,直到结束。

 

image.png 

 

先连接好硬件JTAG。然后点击红处的按钮开始烧写。

 

image.png

 

烧写完毕之后,按复位键即可启动。

 

重新上电或按下RST键,系统启动,串⼝会有以下打印信息,表示系统运⾏成功。

 

[   0.190][app]app start........

[   0.200][app]Display screen background color testing

 

查看显示屏上会交错显示红、绿、蓝三⾊。

 

image.png 

 

 

 

关于D1 Dock Pro开发板实现LCD屏显的详细说明可以进入芯片开放社区(OCC)查看。

相关文章
|
存储 IDE 算法
剑池 CDK 工具及端云—体介绍(一)| 学习笔记
快速学习剑池 CDK 工具及端云—体介绍。
剑池 CDK 工具及端云—体介绍(一)| 学习笔记
|
25天前
|
运维 监控 数据可视化
故障发现提速 80%,运维成本降 40%:魔方文娱的可观测升级之路
魔方文娱携手阿里云构建全栈可观测体系,实现故障发现效率提升 80%、运维成本下降 40%,并融合 AI 驱动异常检测,迈向智能运维新阶段。
240 40
|
存储 缓存 人工智能
玄铁 E906处理器简介|学习笔记
快速学习玄铁 E906处理器简介
3128 0
玄铁 E906处理器简介|学习笔记
|
人工智能
写歌词的技巧和方法全解析:开启你的音乐创作之旅,妙笔生词智能写歌词软件
怀揣音乐梦想,渴望用歌词抒发情感?掌握关键技巧,你也能踏上创作之旅。灵感来自生活点滴,主题明确,语言简洁,韵律和谐。借助“妙笔生词智能写歌词软件”,AI辅助创作,轻松写出动人歌词,实现音乐梦想。
|
传感器 存储 索引
如何解决 analogRead()函数读取到的模拟值不准确的问题
在使用analogRead()函数时,若读取到的模拟值不准确,可以通过校准ADC、增加采样次数取平均值、使用外部参考电压或检查电路连接等方式来提高读取精度。
|
算法 开发工具 芯片
5.0 芯片SDK开发:芯片SDK概念|学习笔记
快速学习5.0 芯片SDK开发:芯片SDK概念
5.0 芯片SDK开发:芯片SDK概念|学习笔记
|
传感器 算法 安全
蓝牙中频率跳变技术的原理及其应用
蓝牙中频率跳变技术的原理及其应用
1044 9
|
数据安全/隐私保护
STM32CubeMX U8g2移植
STM32CubeMX U8g2移植
626 12
|
算法 决策智能
基于GA-PSO遗传粒子群混合优化算法的TSP问题求解matlab仿真
本文介绍了基于GA-PSO遗传粒子群混合优化算法解决旅行商问题(TSP)的方法。TSP旨在寻找访问一系列城市并返回起点的最短路径,属于NP难问题。文中详细阐述了遗传算法(GA)和粒子群优化算法(PSO)的基本原理及其在TSP中的应用,展示了如何通过编码、选择、交叉、变异及速度和位置更新等操作优化路径。算法在MATLAB2022a上实现,实验结果表明该方法能有效提高求解效率和解的质量。
|
存储 Java Apache
Servlet 教程 之 Servlet 文件上传 2
该教程介绍了如何使用Servlet进行文件上传。关键步骤包括:确保引入Apache Commons FileUpload和IO库,创建`UploadServlet`,设置上传配置,解析请求以提取文件数据,并将文件保存至服务器指定目录。如果上传成功,用户将被重定向到`message.jsp`显示提示信息。
244 1

热门文章

最新文章