玄铁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)查看。

相关文章
|
传感器 监控 物联网
玄铁RISC-V处理器入门与实战-RISC-V 玄铁系列开发板实践-基于玄铁C906处理器的D1 Dock Pro开发实践(下)
玄铁RISC-V处理器入门与实战-RISC-V 玄铁系列开发板实践-基于玄铁C906处理器的D1 Dock Pro开发实践
378 0
|
机器学习/深度学习 人工智能 算法
|
存储 缓存 人工智能
玄铁 E906处理器简介|学习笔记
快速学习玄铁 E906处理器简介
2188 0
玄铁 E906处理器简介|学习笔记
|
6月前
|
存储 算法 Linux
详细解读ARM嵌入式整理
详细解读ARM嵌入式整理
46 0
|
存储 Linux 芯片
玄铁RISC-V处理器入门与实战-RISC-V 玄铁系列开发板实践-基于玄铁C906处理器的D1 Dock Pro开发实践(中)
玄铁RISC-V处理器入门与实战-RISC-V 玄铁系列开发板实践-基于玄铁C906处理器的D1 Dock Pro开发实践
420 0
|
物联网 开发工具 开发者
玄铁RISC-V处理器入门与实战-平头哥RISC-V 工具链-剑池CDK开发工具
玄铁RISC-V处理器入门与实战-平头哥RISC-V 工具链
404 1
|
IDE 开发工具 芯片
玄铁RISC-V处理器入门与实战-RISC-V 应用领域开发示例-基于RVB2601应用开发示例(中)
玄铁RISC-V处理器入门与实战-RISC-V 应用领域开发示例-基于RVB2601应用开发示例
146 0
|
芯片
玄铁RISC-V处理器入门与实战-RISC-V 应用领域开发示例-基于RVB2601应用开发示例(下)
玄铁RISC-V处理器入门与实战-RISC-V 应用领域开发示例-基于RVB2601应用开发示例
101 0
|
物联网 芯片 开发者
玄铁RISC-V处理器入门与实战-RISC-V 应用领域开发示例-基于RVB2601应用开发示例(上)
玄铁RISC-V处理器入门与实战-RISC-V 应用领域开发示例-基于RVB2601应用开发示例
136 0