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,点击⼯具栏最右侧的平头哥图标。
找到工程后点击【创建⼯程】按钮。
② 右键点击d1_button_demo⼯程,选择build,进⾏编译,直到结束。
③ 先连接好硬件JTAG。然后点击红⾊框处的按钮开始烧写。
烧写完毕之后,按复位键即可启动。
关于D1 Dock Pro开发板来实现多种按键模式的触发的详细介绍可以进入芯片开放社区(OCC)查看。
2)LCD显示
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。
② 右键点击lcd_demo⼯程,选择build,进⾏编译,直到结束。
③ 先连接好硬件JTAG。然后点击红⾊框处的按钮开始烧写。
烧写完毕之后,按复位键即可启动。
④ 重新上电或按下RST键,系统启动,串⼝会有以下打印信息,表示系统运⾏成功。
[ 0.190][app]app start........
[ 0.200][app]Display screen background color testing
查看显示屏上会交错显示红、绿、蓝三⾊。
关于D1 Dock Pro开发板实现LCD屏显的详细说明可以进入芯片开放社区(OCC)查看。