玄铁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 工具及端云—体介绍(一)| 学习笔记
|
存储 缓存 人工智能
玄铁 E906处理器简介|学习笔记
快速学习玄铁 E906处理器简介
3356 0
玄铁 E906处理器简介|学习笔记
|
4月前
|
运维 监控 数据可视化
故障发现提速 80%,运维成本降 40%:魔方文娱的可观测升级之路
魔方文娱携手阿里云构建全栈可观测体系,实现故障发现效率提升 80%、运维成本下降 40%,并融合 AI 驱动异常检测,迈向智能运维新阶段。
467 60
|
传感器 存储 索引
如何解决 analogRead()函数读取到的模拟值不准确的问题
在使用analogRead()函数时,若读取到的模拟值不准确,可以通过校准ADC、增加采样次数取平均值、使用外部参考电压或检查电路连接等方式来提高读取精度。
|
11月前
|
人工智能 自然语言处理 API
8.6K star!完全免费+本地运行+无需GPU,这款AI搜索聚合神器绝了!
FreeAskInternet是一款革命性的开源项目,它完美结合了多引擎搜索和智能语言模型,让你在不联网、不花钱、不暴露隐私的情况下,获得媲美ChatGPT的智能问答体验。这个项目最近在GitHub上狂揽8600+星,被开发者称为"本地版Perplexity"。
556 2
|
数据安全/隐私保护
STM32CubeMX U8g2移植
STM32CubeMX U8g2移植
794 12
【Qt 学习笔记】Qt常用控件 | 输入类控件 | Spin Box的使用及说明
【Qt 学习笔记】Qt常用控件 | 输入类控件 | Spin Box的使用及说明
1099 0
|
物联网 开发工具 开发者
玄铁RISC-V处理器入门与实战-平头哥RISC-V 工具链-剑池CDK开发工具
玄铁RISC-V处理器入门与实战-平头哥RISC-V 工具链
894 1
|
编译器 C++ 开发者
QT基础教程(QT Creator工程介绍)
QT基础教程(QT Creator工程介绍)
410 1
|
安全 开发工具 git
xss漏洞工具 -- xsser
xss漏洞工具 -- xsser
427 0