在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

【開鴻智谷NiobeU4開發(fā)板免費試用體驗】基于LVGL的示波器設計

開發(fā)板試用精選 ? 來源:開發(fā)板試用 ? 作者:電子發(fā)燒友論壇 ? 2022-10-14 15:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文來源電子發(fā)燒友社區(qū),作者:李先生, 帖子地址:https://bbs.elecfans.com/jishu_2307456_1_1.html


前言

前面我們抑制了LVGL,現(xiàn)在我們就可以利用GUI提供的控件,進行各種可視化項目設計了。本開發(fā)板具備ADC,所以想到的是利用ADC采集模擬數(shù)據(jù),使用LVGL的CHART控件進行波形顯示,實現(xiàn)簡易示波器的設計。

代碼

make menuconfig

Driver->

Enable HDF platform adc driver
使能ADC驅動。

gn文件添加頭文件
"http://drivers/hdf_core/framework/support/platform/include/adc",路徑

#include 
#include 
#include "stdint.h"
#include "los_task.h"
#include "ohos_run.h"
#include "st7735.h"
#include "lv_port_disp.h"
#include "lvgl.h"
#include "demos/lv_demos.h"
#include "adc_if.h"

static void btn_event_cb(lv_event_t * e)
{
lv_event_code_t code = lv_event_get_code(e);
lv_obj_t * btn = lv_event_get_target(e);
if(code == LV_EVENT_CLICKED) {
static uint8_t cnt = 0;
cnt++;

/*Get the first child of the button which is the label and change its text*/
lv_obj_t * label = lv_obj_get_child(btn, 0);
lv_label_set_text_fmt(label, "Button: %d", cnt);
}

}

void lv_log_print(const char * buf)
{
printf("%srn",buf);
}

/**

* Create a button with a label and react on click event.
  */
  void lv_example_get_started_1(void)
  {
  lv_obj_t * btn = lv_btn_create(lv_scr_act());     /*Add a button the current screen*/
  lv_obj_set_pos(btn, 10, 10);                            /*Set its position*/
  lv_obj_set_size(btn, 60, 25);                          /*Set its size*/
  lv_obj_add_event_cb(btn, btn_event_cb, LV_EVENT_ALL, NULL);           /*Assign a callback to the button*/
  
  lv_obj_t * label = lv_label_create(btn);          /*Add a label to the button*/
  lv_label_set_text(label, "Button");                     /*Set the labels text*/
  lv_obj_center(label);
  }

void lv_tick_handle(UINT32 arg)
{
while(1)
{
LOS_Msleep(5);   /*Sleep for 5 millisecond*/
lv_tick_inc(5);
lv_timer_handler();
}
}

lv_obj_t * chart;
lv_chart_series_t * ser1;
int adc_chart_init(void)
{
lv_obj_set_style_bg_color(lv_scr_act(), lv_color_hex(0x343247), 0);

/*Create a chart*/
chart = lv_chart_create(lv_scr_act());
lv_chart_set_type(chart, LV_CHART_TYPE_LINE);
lv_chart_set_point_count(chart, 10);
lv_chart_set_range(chart,LV_CHART_AXIS_PRIMARY_Y, 0, 330*3);
lv_chart_set_range(chart,LV_CHART_AXIS_SECONDARY_Y, 0, 330*3);
lv_chart_set_update_mode(chart, LV_CHART_UPDATE_MODE_SHIFT);
lv_chart_set_div_line_count(chart, 4, 8);
//lv_chart_set_zoom_x(lv_obj_t * obj, uint16_t zoom_x);
//lv_chart_set_zoom_y(lv_obj_t * obj, uint16_t zoom_y);
lv_chart_set_axis_tick(chart, LV_CHART_AXIS_PRIMARY_Y, 0, 0, 1, 1, true, 1);
lv_chart_set_axis_tick(chart, LV_CHART_AXIS_PRIMARY_X, 0, 0, 2, 1, true, 1);
lv_obj_set_size(chart, 135, 130);
lv_obj_align(chart, LV_ALIGN_CENTER, 0, 0);

/*Add  data series*/
ser1 = lv_chart_add_series(chart,lv_color_hex(0xF800),LV_CHART_AXIS_PRIMARY_Y);
return 0;

}

int adc_chart_newdata(int index,uint32_t newdata,int refresh)
{
if(index == 0)
{
lv_chart_set_next_value(chart, ser1, newdata);
}
else
{

}
if(refresh)
{
lv_chart_refresh(chart); /*Required after direct set*/
}
return 0;

}

#define ADC_DEVICE_NUM 1
#define ADC_CHANNEL_NUM 6

void StartHdfSPITest(void)
{
UINT32 g_lv_time_task;
TSK_INIT_PARAM_S task = { 0 };
task.pfnTaskEntry = (TSK_ENTRY_FUNC)lv_tick_handle;
task.pcName = "lv_time_task";
task.uwStackSize = 0x1000;
task.usTaskPrio = 25 - 1;

DevHandle adcHandle;
uint32_t readVal = 0;

///adcHandle = AdcOpen(ADC_DEVICE_NUM);
///if (adcHandle == NULL) {
///    printf("open adc errrn");
///}

lv_init();
lv_port_disp_init();
///lv_log_register_print_cb(lv_log_print);
LOS_TaskCreate(&g_lv_time_task, &task);

//lv_demo_stress();
//lv_example_get_started_1();
adc_chart_init();
while(1)
{
static int num = 0;
//if (AdcRead(adcHandle, ADC_CHANNEL_NUM, &readVal) == HDF_SUCCESS) {
readVal = lv_rand(0,0xFFF);
num++;
readVal = readVal * 330 / (1u<<12);
adc_chart_newdata(0,readVal,1);
//}
LOS_Msleep(200);
lv_task_handler();
}

}

OHOS_APP_RUN(StartHdfSPITest);

效果

ea0b66ce4a85aa11a0e750751bc6537.jpg
cf0f0685db14eb6c2ab464343b42582.jpg
89d1961d037c437e081cac1378fa332.jpg

總結

上述只是進行了簡單的演示,可以考慮更加完善,實現(xiàn)一個可用的簡單示波器。 另外借助LVGL可以實現(xiàn)更多有意思的小項目,比如信號發(fā)生器,串口調(diào)試助手等等。二維碼生成器等。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 開鴻智谷
    +關注

    關注

    2

    文章

    145

    瀏覽量

    1562
  • NiobeU4
    +關注

    關注

    3

    文章

    31

    瀏覽量

    633
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    開發(fā)板深度體驗:從開源鴻蒙開發(fā)到AI場景實踐

    開發(fā)板KaihongBoard-3588S-SBCKaihongBoard-3576-SBC體驗開源鴻蒙能力學習開源鴻蒙開發(fā)●●●搭載KaihongOS
    的頭像 發(fā)表于 07-03 17:03 ?247次閱讀
    <b class='flag-5'>開</b><b class='flag-5'>鴻</b><b class='flag-5'>開發(fā)板</b>深度體驗:從開源鴻蒙<b class='flag-5'>開發(fā)</b>到AI場景實踐

    【潤HH-SCDAYU800A開發(fā)板試用體驗】潤HH-SCDAYU800A開發(fā)板(二)

    (三)潤HH-SCDAYU800A開發(fā)板固件燒錄 注意:本燒錄方法僅可用于Windows10及之前版本。 1.安裝USB驅動 1.1下載潤
    發(fā)表于 07-02 09:30

    有獎丨米爾 瑞芯微RK3506開發(fā)板免費試用

    米爾與瑞芯微合作發(fā)布的新品基于瑞芯微RK3506應用處理器的MYD-YR3506開發(fā)板免費試用名額來啦~~米爾提供了3塊價值299元的MYD-YR3506開發(fā)板發(fā)起
    的頭像 發(fā)表于 06-19 08:04 ?317次閱讀
    有獎丨米爾 瑞芯微RK3506<b class='flag-5'>開發(fā)板</b><b class='flag-5'>免費</b><b class='flag-5'>試用</b>

    有獎丨米爾 瑞芯微RK3562開發(fā)板免費試用新增名額!

    米爾與瑞芯微合作發(fā)布的新品基于瑞芯微RK3562應用處理器的MYD-YR3562開發(fā)板免費試用名額增加
    的頭像 發(fā)表于 06-13 08:04 ?351次閱讀
    有獎丨米爾 瑞芯微RK3562<b class='flag-5'>開發(fā)板</b><b class='flag-5'>免費</b><b class='flag-5'>試用</b>新增名額!

    基于RK3576處理器,米爾RK3576開發(fā)板免費試用

    年7月19日 ? 評測數(shù)量: 3塊 ? 更多熱點文章閱讀 基于平頭哥TH1520芯片,潤HH-SCDAYU800A開發(fā)板免費試用 RIS
    的頭像 發(fā)表于 06-09 15:00 ?464次閱讀
    基于RK3576處理器,米爾RK3576<b class='flag-5'>開發(fā)板</b><b class='flag-5'>免費</b><b class='flag-5'>試用</b>

    搭載OpenHarmony操作系統(tǒng),視美泰SC-3568HA開發(fā)板免費試用

    : 10塊 ? 更多熱點文章閱讀 基于平頭哥TH1520芯片,潤HH-SCDAYU800A開發(fā)板免費試用 RISC-V
    的頭像 發(fā)表于 06-05 16:45 ?492次閱讀
    搭載OpenHarmony操作系統(tǒng),視美泰SC-3568HA<b class='flag-5'>開發(fā)板</b><b class='flag-5'>免費</b><b class='flag-5'>試用</b>

    基于RK處理器,創(chuàng)龍TL3562-MiniEVM開發(fā)板試用體驗

    數(shù)量: 10塊 ? 更多熱點文章閱讀 基于平頭哥TH1520芯片,潤HH-SCDAYU800A開發(fā)板免費試用 RISC-V
    的頭像 發(fā)表于 06-05 16:31 ?410次閱讀
    基于RK處理器,創(chuàng)龍TL3562-MiniEVM<b class='flag-5'>開發(fā)板</b><b class='flag-5'>試用</b>體驗

    性能強悍!合眾HZ-RK3568開發(fā)板試用體驗

    月19日 ? 評測數(shù)量: 10塊 ? 更多熱點文章閱讀 基于平頭哥TH1520芯片,潤HH-SCDAYU800A開發(fā)板免費試用 RISC
    的頭像 發(fā)表于 06-05 16:30 ?491次閱讀
    性能強悍!合眾HZ-RK3568<b class='flag-5'>開發(fā)板</b><b class='flag-5'>試用</b>體驗

    有獎丨米爾 NXP i.MX91開發(fā)板免費試用來啦

    米爾與NXP合作發(fā)布的新品基于NXPi.MX91應用處理器的MYD-LMX91開發(fā)板免費試用名額來啦~~米爾提供了3套價值588元的MYD-LMX91開發(fā)板發(fā)起
    的頭像 發(fā)表于 06-05 08:02 ?626次閱讀
    有獎丨米爾 NXP i.MX91<b class='flag-5'>開發(fā)板</b><b class='flag-5'>免費</b><b class='flag-5'>試用</b>來啦

    【評測試用】合眾HZ-T536開發(fā)板免費試用體驗

    【評測試用】合眾HZ-T536開發(fā)板免費試用體驗
    的頭像 發(fā)表于 05-27 08:05 ?205次閱讀
    【評測<b class='flag-5'>試用</b>】合眾HZ-T536<b class='flag-5'>開發(fā)板</b><b class='flag-5'>免費</b><b class='flag-5'>試用</b>體驗

    免費丨米爾 STM32MP257開發(fā)板有獎試用

    米爾與ST合作發(fā)布的新品基于STM32MP257應用處理器的MYD-LD25X開發(fā)板免費試用活動來啦~~米爾提供了2塊價值488元的MYD-LD25X開發(fā)板發(fā)起
    的頭像 發(fā)表于 03-20 08:05 ?470次閱讀
    <b class='flag-5'>免費</b>丨米爾 STM32MP257<b class='flag-5'>開發(fā)板</b>有獎<b class='flag-5'>試用</b>

    有獎丨米爾 瑞芯微YR3562開發(fā)板免費試用

    米爾與瑞芯微合作發(fā)布的新品基于瑞芯微RK3562應用處理器的MYD-YR3562開發(fā)板免費試用活動來啦~~米爾提供了3塊價值599元的MYD-YR3562開發(fā)板發(fā)起
    的頭像 發(fā)表于 03-20 08:05 ?508次閱讀
    有獎丨米爾 瑞芯微YR3562<b class='flag-5'>開發(fā)板</b><b class='flag-5'>免費</b><b class='flag-5'>試用</b>

    有獎試用!!RA-Eco-RA4M2-100PIN-V1.0開發(fā)板試用活動報名

    RA-Eco-RA4M2-100PIN-V1.0開發(fā)板試用活動
    的頭像 發(fā)表于 03-13 12:10 ?493次閱讀
    有獎<b class='flag-5'>試用</b>!!RA-Eco-RA<b class='flag-5'>4</b>M2-100PIN-V1.0<b class='flag-5'>開發(fā)板</b><b class='flag-5'>試用</b>活動報名

    有獎丨米爾 全志T536開發(fā)板免費試用

    米爾與全志合作發(fā)布的新品基于全志T536應用處理器的MYD-LT536-GK開發(fā)板免費試用活動來啦~~米爾提供了3塊價值750元的MYD-LT536-GK開發(fā)板發(fā)起
    的頭像 發(fā)表于 12-26 08:05 ?853次閱讀
    有獎丨米爾 全志T536<b class='flag-5'>開發(fā)板</b><b class='flag-5'>免費</b><b class='flag-5'>試用</b>

    有獎丨米爾 瑞芯微RK3576開發(fā)板免費試用

    米爾與瑞芯微合作發(fā)布的新品基于瑞芯微RK3576應用處理器的MYD-LR3576開發(fā)板免費試用活動來啦~~米爾提供了7塊價值849元的MYD-LR3576開發(fā)板發(fā)起
    的頭像 發(fā)表于 11-12 01:00 ?792次閱讀
    有獎丨米爾 瑞芯微RK3576<b class='flag-5'>開發(fā)板</b><b class='flag-5'>免費</b><b class='flag-5'>試用</b>
    主站蜘蛛池模板: 激情综合网五月婷婷 | 四虎永久在线精品免费观看地址 | 日本高清视频色wwwwww色 | 亚洲 欧美 综合 | 第四色激情 | 男操女免费视频 | 久久综合爱 | 国产拍拍拍免费视频网站 | 亚洲欧美色一区二区三区 | 四虎海外在线永久免费看 | 99久久无色码中文字幕 | 国产日本久久久久久久久婷婷 | 美女和帅哥在床上玩的不可描述 | www亚洲欲色成人久久精品 | 夜夜爱视频| 亚洲 欧洲 日产 韩国在线 | 色宅男看片午夜大片免费看 | 狠狠色婷婷七月色综合 | yy6080理aa级伦大片一级 | 羞羞色院91精品网站 | 亚洲精品久久久久午夜福 | 男女一进一出无遮挡黄 | 色在线免费观看 | 99视频全部免费 | 免费看欧美一级特黄α大片 | 男人j进入女人j在线视频 | 深夜视频免费在线观看 | 亚洲婷婷在线视频 | 亚洲一区免费看 | 亚洲qingse中文在线 | 一级毛片aaaaaa视频免费看 | 伊人久久网站 | 久操操操 | 日本美女搞黄 | 天天射天天干天天插 | 日日摸人人看97人人澡 | 一区二区网站 | 99国产在线 | 大量国产后进翘臀视频 | 手机精品在线 | 在线观看亚洲天堂 |