—— DWIN dörediji forumyndan
Bu sanymyzda, DWIN Öndüriji Forumynyň - Köp funksiýaly Weigheriň baýrakly açyk çeşmesini açýarys. Inerener 4 dýuýmlyk COF akylly ekrany kabul edýär we T5L OS ýadrosy bilen HX711 moduly bilen 5kg basyş datçigi toplumynyň arasyndaky maglumat täsiri arkaly ulanyjylar agram, birlik bahasy, umumy baha, tar we ş.m. ýaly hasaplaýyş displeý funksiýalaryna aňsatlyk bilen düşünip bilerler. hasaplamak, agramyň üýtgemeginiň egrilerini yzarlamak we agram takyklygyny düzetmek we ş.m. funksiýalary, amatly we täsirli agram tejribesini görmek üçin dürli amaly ssenariýalaryň arasynda geçmek aňsat bolar.
1. UI ösüşi
![f26af533d43728cd210e0f7af5e7acc](https://ecdn6.globalso.com/upload/p/1355/source/2024-06/665f077223d2b27894.png)
2.C51 Dizaýn
Bahalandyryjy nyrh funksiýasyny ýerine ýetirmek üçin salgy kodunyň bir bölegi aşakdakylar:
// Bahalar sahypasy ===================
# kesgitlemek VALUATION_UNIT_PRICE_ADDR 0x1010
# kesgitlemek VALUATION_GRAM_ADDR 0x1000
# kesgitlemek VALUATION_TOTAL_PRICES_ADDR 0x1020
uint32_t baha bermek_decorticate = 0; // Tare agramynyň bahasy
uint32_t baha bermek_unit_price = 0; // Bölümiň bahasy
// Bölümiň bahasy täzelenmesi
boş sahypa_ baha bermek_unit_price_refresh ()
{
uint8_t test_display [10] = {0};
eger (baha kesmek_unit_ bahasy
{
test_display [0] = baha bermek_unit_ bahasy / 100% 10 + 0x30;
test_display [1] = '.';
test_display [2] = baha bermek_unit_ bahasy / 10% 10 + 0x30;
test_display [3] = baha kesmek_unit_ bahasy / 1% 10 + 0x30;
dgus_show_text_value_set (VALUATION_UNIT_PRICE_ADDR, test_display, 4);
}
bolmasa (baha kesmek_unit_ bahasy
{
test_display [0] = baha kesmek_unit_ bahasy / 1000% 10 + 0x30;
test_display [1] = baha bermek_unit_ bahasy / 100% 10 + 0x30;
test_display [2] = '.';
test_display [3] = baha kesmek_unit_ bahasy / 10% 10 + 0x30;
test_display [4] = baha bermek_unit_ bahasy / 1% 10 + 0x30;
dgus_show_text_value_set (VALUATION_UNIT_PRICE_ADDR, test_display, 4);
}
başgaça bolsa (baha kesmek_unit_ bahasy
{
test_display [0] = baha bermek_unit_ bahasy / 10000% 10 + 0x30;
test_display [1] = baha bermek_unit_ bahasy / 1000% 10 + 0x30;
test_display [2] = baha kesmek_unit_ bahasy / 100% 10 + 0x30;
test_display [3] = '.';
test_display [4] = baha bermek_unit_ bahasy / 10% 10 + 0x30;
test_display [5] = baha kesmek_unit_ bahasy / 1% 10 + 0x30;
dgus_show_text_value_set (VALUATION_UNIT_PRICE_ADDR, test_display, 4);
}
bolmasa (baha kesmek_unit_ bahasy
{
test_display [0] = baha kesmek_unit_ bahasy / 100000% 10 + 0x30;
test_display [1] = baha bermek_unit_ bahasy / 10000% 10 + 0x30;
test_display [2] = baha kesmek_unit_ bahasy / 1000% 10 + 0x30;
test_display [3] = baha kesmek_unit_ bahasy / 100% 10 + 0x30;
test_display [4] = '.';
test_display [5] = baha bermek_unit_ bahasy / 10% 10 + 0x30;
test_display [6] = baha bermek_unit_ bahasy / 1% 10 + 0x30;
dgus_show_text_value_set (VALUATION_UNIT_PRICE_ADDR, test_display, 4);
}
}
// Agramy täzelemek
boş sahypa_ baha bermek_ agram_refresh ()
{
uint8_t test_display [10] = {0x30};
uint32_t gram_display = 0;
eger (gram_value> = baha kesmek_dekortikat)
{
gram_display = gram_ baha - baha bermek_kortikat;
eger (gram_display
{
test_display [0] = gram_display / 1% 10 + 0x30;
dgus_show_text_value_set (VALUATION_GRAM_ADDR, test_display, 3);
}
bolmasa (gram_display
{
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);
}
bolmasa (gram_display
{
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);
}
bolmasa (gram_display
{
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);
}
bolmasa (gram_display
{
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);
}
}
başga
{
dgus_show_text_value_set (VALUATION_GRAM_ADDR, test_display, 3);
}
}
// Jemi baha täzelenmesi
boş sahypa_ baha bermek_ baha_refresh ()
{
uint32_t baha_ baha = 0;
uint8_t test_display [10] = {0x30, '.', 0x30, 0x30};
eger (gram_value> = baha kesmek_dekortikat)
{
baha_ baha = (gram_ baha - baha kesmek)
eger (baha_ bahasy
{
test_display [0] = baha_ baha / 100% 10 + 0x30;
test_display [1] = '.';
test_display [2] = baha_ baha / 10% 10 + 0x30;
test_display [3] = baha_ baha / 1% 10 + 0x30;
dgus_show_text_value_set (VALUATION_TOTAL_PRICES_ADDR, test_display, 4);
}
bolmasa (bahasy_ bahasy
{
test_display [0] = baha_ bahasy / 1000% 10 + 0x30;
test_display [1] = baha_ baha / 100% 10 + 0x30;
test_display [2] = '.';
test_display [3] = baha_ baha / 10% 10 + 0x30;
test_display [4] = baha_ baha / 1% 10 + 0x30;
dgus_show_text_value_set (VALUATION_TOTAL_PRICES_ADDR, test_display, 4);
}
bolmasa (bahasy_ bahasy
{
test_display [0] = baha_ bahasy / 10000% 10 + 0x30;
test_display [1] = baha_ baha / 1000% 10 + 0x30;
test_display [2] = baha_ baha / 100% 10 + 0x30;
test_display [3] = '.';
test_display [4] = baha_ baha / 10% 10 + 0x30;
test_display [5] = baha_ baha / 1% 10 + 0x30;
dgus_show_text_value_set (VALUATION_TOTAL_PRICES_ADDR, test_display, 4);
}
bolmasa (bahasy_ bahasy
{
test_display [0] = baha_ baha / 100000% 10 + 0x30;
test_display [1] = baha_ bahasy / 10000% 10 + 0x30;
test_display [2] = baha_ baha / 1000% 10 + 0x30;
test_display [3] = baha_ baha / 100% 10 + 0x30;
test_display [4] = '.';
test_display [5] = baha_ baha / 10% 10 + 0x30;
test_display [6] = baha_ baha / 1% 10 + 0x30;
dgus_show_text_value_set (VALUATION_TOTAL_PRICES_ADDR, test_display, 4);
}
}
başga
{
dgus_show_text_value_set (VALUATION_TOTAL_PRICES_ADDR, test_display, 4);
}
}
boş sahypa_ baha bermek_decorticate ()
{
baha bermek_decorticate = gram_ baha;
sahypa_ baha bermek_ agram_refresh ();
}
boş sahypa_ baha bermek_1 ()
{
eger (baha kesmek_unit_ bahasy
{
baha bermek_unit_price = baha bermek_unit_ baha * 10 + 1;
sahypa_ baha bermek_unit_price_refresh ();
}
}
boş sahypa_ baha bermek_2 ()
{
eger (baha kesmek_unit_ bahasy
{
baha bermek_unit_price = baha bermek_unit_ baha * 10 + 2;
sahypa_ baha bermek_unit_price_refresh ();
}
}
boş sahypa_ baha bermek_3 ()
{
eger (baha kesmek_unit_ bahasy
{
baha bermek_unit_price = baha bermek_unit_ baha * 10 + 3;
sahypa_ baha bermek_unit_price_refresh ();
}
}
boş sahypa_ baha bermek_4 ()
{
eger (baha kesmek_unit_ bahasy
{
baha bermek_unit_price = baha bermek_unit_ baha * 10 + 4;
sahypa_ baha bermek_unit_price_refresh ();
}
}
boş sahypa_ baha bermek_5 ()
{
eger (baha kesmek_unit_ bahasy
{
baha bermek_unit_price = baha bermek_unit_ baha * 10 + 5;
sahypa_ baha bermek_unit_price_refresh ();
}
}
boş sahypa_ baha bermek_6 ()
{
eger (baha kesmek_unit_ bahasy
{
baha bermek_unit_price = baha bermek_unit_ baha * 10 + 6;
sahypa_ baha bermek_unit_price_refresh ();
}
}
boş sahypa_ baha bermek_7 ()
{
eger (baha kesmek_unit_ bahasy
{
baha bermek_unit_price = baha bermek_unit_ baha * 10 + 7;
sahypa_ baha bermek_unit_price_refresh ();
}
}
boş sahypa_ baha bermek_8 ()
{
eger (baha kesmek_unit_ bahasy
{
baha bermek_unit_price = baha bermek_unit_ baha * 10 + 8;
sahypa_ baha bermek_unit_price_refresh ();
}
}
boş sahypa_ baha bermek_9 ()
{
eger (baha kesmek_unit_ bahasy
{
baha bermek_unit_price = baha bermek_unit_ bahasy * 10 + 9;
sahypa_ baha bermek_unit_price_refresh ();
}
}
boş sahypa_ baha bermek_0 ()
{
eger (baha kesmek_unit_ bahasy
{
baha bermek_unit_price = baha bermek_unit_ baha * 10 + 0;
sahypa_ baha bermek_unit_price_refresh ();
}
}
boş sahypa_ baha bermek_back ()
{
baha bermek_unit_price = baha bermek_unit_ baha / 10;
sahypa_ baha bermek_unit_price_refresh ();
}
boş sahypa_valuation_clear ()
{
baha bermek_unit_price = 0;
sahypa_ baha bermek_unit_price_refresh ();
}
Iş wagty: 28-nji aprel-28-nji aprel