[Ашық көз] Көп функциялы таразы құрылғысы

——DWIN әзірлеушілер форумынан

Бұл шығарылымда біз DWIN әзірлеушілер форумының марапатқа ие болған ашық бастапқы нұсқасын - көп функциялы таразыны шығарамыз. Инженер 4 дюймдік COF смарт экранын қабылдайды және T5L OS өзегі мен HX711 модулі және 5 кг қысым датчигі жинағы арасындағы деректердің өзара әрекеттесуі арқылы пайдаланушылар салмақ, бірлік бағасы, жалпы баға, тарау және т.б. сияқты санау дисплейінің функцияларын оңай жүзеге асыра алады. ., сондай-ақ санау, салмақтың өзгеру қисықтарын қадағалау және таразы дәлдігін түзету және т.б. функциялары, осылайша ыңғайлы және тиімді өлшеу тәжірибесін пайдалану үшін әртүрлі қолданба сценарийлері арасында ауысу оңай.

1. UI әзірлеу

f26af533d43728cd210e0f7af5e7acc

2.C51 Дизайн

Баға белгілеу функциясын жүзеге асыру үшін таразышының анықтамалық кодының бөлігі келесідей:

// Бағалар беті===================

#БАҒА_БІЛІК_БАҒА_ADDR 0x1010 анықтау

#VALUATION_GRAM_ADDR 0x1000 анықтау

#БАҒАН_ЖАЛПЫ_БАҒА_ҚОСЫМЫН 0x1020 анықтау

uint32_t valuation_decorticate = 0; // Тара салмағының бағасы

uint32_t valuation_unit_price = 0; //Тауар өлшемінің бағасы

// Бірлік бағасын жаңарту

жарамсыз page_valuation_unit_price_refresh()

{

uint8_t test_display[10] = {0};

егер(баға_бірлігі_бағасы

{

test_display[0] = бағалау_бірлігі_бағасы / 100 % 10 + 0x30;

test_display[1] = '.';

test_display[2] = бағалау_бірлігі_бағасы / 10 % 10 + 0x30;

test_display[3] = бағалау_бірлігі_бағасы / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_UNIT_PRICE_ADDR, сынақ_дисплейі, 4);

}

басқа болса (баға_бірлігінің_бағасы

{

test_display[0] = бағалау_бірлігі_бағасы / 1000 % 10 + 0x30;

test_display[1] = бағалау_бірлігі_бағасы / 100 % 10 + 0x30;

test_display[2] = '.';

test_display[3] = бағалау_бірлігі_бағасы / 10 % 10 + 0x30;

test_display[4] = бағалау_бірлігі_бағасы / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_UNIT_PRICE_ADDR, сынақ_дисплейі, 4);

}

басқа болса (баға_бірлігінің_бағасы

{

test_display[0] = бағалау_бірлігі_бағасы / 10000 % 10 + 0x30;

test_display[1] = бағалау_бірлігі_бағасы / 1000 % 10 + 0x30;

test_display[2] = бағалау_бірлігі_бағасы / 100 % 10 + 0x30;

test_display[3] = '.';

test_display[4] = бағалау_бірлігі_бағасы / 10 % 10 + 0x30;

test_display[5] = бағалау_бірлігі_бағасы / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_UNIT_PRICE_ADDR, сынақ_дисплейі, 4);

}

басқа болса (баға_бірлігінің_бағасы

{

test_display[0] = бағалау_бірлігі_бағасы / 100000 % 10 + 0x30;

test_display[1] = бағалау_бірлігі_бағасы / 10000 % 10 + 0x30;

test_display[2] = бағалау_бірлігі_бағасы / 1000 % 10 + 0x30;

test_display[3] = бағалау_бірлігі_бағасы / 100 % 10 + 0x30;

test_display[4] = '.';

test_display[5] = бағалау_бірлігі_бағасы / 10 % 10 + 0x30;

test_display[6] = бағалау_бірлігі_бағасы / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_UNIT_PRICE_ADDR, сынақ_дисплейі, 4);

}

}

 

// Салмақты жаңарту

жарамсыз page_valuation_weight_refresh()

{

uint8_t test_display[10] = {0x30};

uint32_t gram_display = 0;

егер(грам_мәні >= бағалау_декортикасы)

{

gram_display = gram_value - бағалау_декортикасы;

егер(грам_дисплей

{

test_display[0] = gram_display / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_GRAM_ADDR, test_display, 3);

}

басқа болса (грам_дисплей

{

test_display[0] = gram_display / 10 % 10 + 0x30;

test_display[1] = gram_display / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_GRAM_ADDR, test_display, 3);

}

басқа болса (грам_дисплей

{

test_display[0] = gram_display / 100 % 10 + 0x30;

test_display[1] = gram_display / 10 % 10 + 0x30;

test_display[2] = gram_display / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_GRAM_ADDR, test_display, 3);

}

басқа болса (грам_дисплей

{

test_display[0] = gram_display / 1000 % 10 + 0x30;

test_display[1] = gram_display / 100 % 10 + 0x30;

test_display[2] = gram_display / 10 % 10 + 0x30;

test_display[3] = gram_display / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_GRAM_ADDR, test_display, 3);

}

басқа болса (грам_дисплей

{

test_display[0] = gram_display / 10000 % 10 + 0x30;

test_display[1] = gram_display / 1000 % 10 + 0x30;

test_display[2] = gram_display / 100 % 10 + 0x30;

test_display[3] = gram_display / 10 % 10 + 0x30;

test_display[4] = gram_display / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_GRAM_ADDR, test_display, 3);

}

}

басқа

{

dgus_show_text_value_set(VALUATION_GRAM_ADDR, test_display, 3);

}

}

 

// Жалпы бағаны жаңарту

жарамсыз page_valuation_price_refresh()

{

uint32_t баға_мәні = 0;

uint8_t test_display[10] = {0x30, '.', 0x30, 0x30};

егер(грам_мәні >= бағалау_декортикасы)

{

баға_мәні = (грам_мәні - бағалау_декортикасы) * бағалау_бірлігі_бағасы * 2 / 1000;

егер(баға_мәні

{

test_display[0] = баға_мәні / 100 % 10 + 0x30;

test_display[1] = '.';

test_display[2] = баға_мәні / 10 % 10 + 0x30;

test_display[3] = баға_мәні / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_TOTAL_PRICES_ADDR, test_display, 4);

}

басқа болса (баға_мәні

{

test_display[0] = баға_мәні / 1000 % 10 + 0x30;

test_display[1] = баға_мәні / 100 % 10 + 0x30;

test_display[2] = '.';

test_display[3] = баға_мәні / 10 % 10 + 0x30;

test_display[4] = баға_мәні / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_TOTAL_PRICES_ADDR, test_display, 4);

}

басқа болса (баға_мәні

{

test_display[0] = баға_мәні / 10000 % 10 + 0x30;

test_display[1] = баға_мәні / 1000 % 10 + 0x30;

test_display[2] = баға_мәні / 100 % 10 + 0x30;

test_display[3] = '.';

test_display[4] = баға_мәні / 10 % 10 + 0x30;

test_display[5] = баға_мәні / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_TOTAL_PRICES_ADDR, test_display, 4);

}

басқа болса (баға_мәні

{

test_display[0] = баға_мәні / 100000 % 10 + 0x30;

test_display[1] = баға_мәні / 10000 % 10 + 0x30;

test_display[2] = баға_мәні / 1000 % 10 + 0x30;

test_display[3] = баға_мәні / 100 % 10 + 0x30;

test_display[4] = '.';

test_display[5] = баға_мәні / 10 % 10 + 0x30;

test_display[6] = баға_мәні / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_TOTAL_PRICES_ADDR, test_display, 4);

}

}

басқа

{

dgus_show_text_value_set(VALUATION_TOTAL_PRICES_ADDR, test_display, 4);

}

}

void page_valuation_decorticate()

{

бағалау_декортикасы = грамм_мәні;

page_valuation_weight_refresh();

}

жарамсыз page_valuation_1()

{

егер(баға_бірлігі_бағасы

{

бағалау_бірлігі_бағасы = бағалау_бірлігі_бағасы * 10 + 1;

page_valuation_unit_price_refresh();

}

}

жарамсыз page_valuation_2()

{

егер(баға_бірлігі_бағасы

{

бағалау_бірлігі_бағасы = бағалау_бірлігі_бағасы * 10 + 2;

page_valuation_unit_price_refresh();

}

}

жарамсыз page_valuation_3()

{

егер(баға_бірлігі_бағасы

{

бағалау_бірлігі_бағасы = бағалау_бірлігі_бағасы * 10 + 3;

page_valuation_unit_price_refresh();

}

}

жарамсыз page_valuation_4()

{

егер(баға_бірлігі_бағасы

{

бағалау_бірлігі_бағасы = бағалау_бірлігі_бағасы * 10 + 4;

page_valuation_unit_price_refresh();

}

}

жарамсыз page_valuation_5()

{

егер(баға_бірлігі_бағасы

{

бағалау_бірлігі_бағасы = бағалау_бірлігі_бағасы * 10 + 5;

page_valuation_unit_price_refresh();

}

}

жарамсыз page_valuation_6()

{

егер(баға_бірлігі_бағасы

{

бағалау_бірлігі_бағасы = бағалау_бірлігі_бағасы * 10 + 6;

page_valuation_unit_price_refresh();

}

}

жарамсыз page_valuation_7()

{

егер(баға_бірлігі_бағасы

{

бағалау_бірлігі_бағасы = бағалау_бірлігі_бағасы * 10 + 7;

page_valuation_unit_price_refresh();

}

}

жарамсыз page_valuation_8()

{

егер(баға_бірлігі_бағасы

{

бағалау_бірлігі_бағасы = бағалау_бірлігі_бағасы * 10 + 8;

page_valuation_unit_price_refresh();

}

}

жарамсыз page_valuation_9()

{

егер(баға_бірлігі_бағасы

{

бағалау_бірлігі_бағасы = бағалау_бірлігі_бағасы * 10 + 9;

page_valuation_unit_price_refresh();

}

}

жарамсыз page_valuation_0()

{

егер(баға_бірлігі_бағасы

{

бағалау_бірлігі_бағасы = бағалау_бірлігі_бағасы * 10 + 0;

page_valuation_unit_price_refresh();

}

}

void page_valuation_back()

{

бағалау_бірлігі_бағасы = бағалау_бірлігі_бағасы / 10;

page_valuation_unit_price_refresh();

}

жарамсыз page_valuation_clear()

{

бағалау_бірлігі_бағасы = 0;

page_valuation_unit_price_refresh();

}


Жіберу уақыты: 28 сәуір-2024 ж