——DWIN Garatzaileen Forotik
Ale honetan, DWIN Developer Forum - Funtzio anitzeko pisadorea-ren kode irekiko kasu saritua bultzatzen dugu. Ingeniariak 4 hazbeteko COF pantaila adimenduna hartzen du, eta T5L OS nukleoaren eta HX711 moduluaren eta 5 kg-ko presio-sentsoreen arteko datu-interakzioaren bidez, erabiltzaileek erraz konturatu ahal izango dituzte zenbaketa bistaratze-funtzioez, hala nola pisua, unitatearen prezioa, prezio osoa, tara, etab. ., baita zenbaketa, pisu-aldaketa kurben jarraipena eta pisagailuaren zehaztasuna zuzentzeko eta abar egiteko funtzioak ere, aplikazio-eszenatoki desberdinen artean erraza izan dadin pisatzeko esperientzia eroso eta eraginkor batez gozatzeko.
1. UI Garapena
![f26af533d43728cd210e0f7af5e7acc](https://ecdn6.globalso.com/upload/p/1355/source/2024-06/665f077223d2b27894.png)
2.C51 Diseinua
Pisatzeko erreferentzia-kodearen zati bat prezioen funtzioa ezartzeko honako hau da:
// Prezioen Orria====================
#defini VALUATION_UNIT_PRICE_ADDR 0x1010
#defini VALUATION_GRAM_ADDR 0x1000
#defini VALUATION_TOTAL_PRICES_ADDR 0x1020
uint32_t balorazioa_decorticate = 0; // Prezioa Tare Pisua
uint32_t valuation_unit_price = 0; //Prezio Unitarioa
// Unitateko prezioa freskatzea
void page_valuation_unit_price_refresh()
{
uint8_t test_display[10] = {0};
if(balorazio_prezio_unitarioa
{
test_display[0] = valuation_unit_price / % 100 10 + 0x30;
test_display[1] = '.';
test_display[2] = balorazio_prezio_unitarioa / % 10 10 + 0x30;
test_display[3] = valuation_unit_price / % 1 10 + 0x30;
dgus_show_text_value_set (VALUATION_UNIT_PRICE_ADDR, test_display, 4);
}
else if (balorazio_prezio_unitarioa
{
test_display[0] = valuation_unit_price / 1000 % 10 + 0x30;
test_display[1] = balorazio_prezio_unitarioa / % 100 10 + 0x30;
test_display[2] = '.';
test_display[3] = balorazio_prezio_unitarioa / % 10 10 + 0x30;
test_display[4] = valuation_unit_price / % 1 10 + 0x30;
dgus_show_text_value_set (VALUATION_UNIT_PRICE_ADDR, test_display, 4);
}
else if (balorazio_prezio_unitarioa
{
test_display[0] = valuation_unit_price / 10000 % 10 + 0x30;
test_display[1] = balorazio_prezio_unitarioa / % 1000 10 + 0x30;
test_display[2] = balorazio_prezio_unitarioa / % 100 10 + 0x30;
test_display[3] = '.';
test_display[4] = balorazio_prezio_unitarioa / % 10 10 + 0x30;
test_display[5] = balorazio_prezio_unitarioa / % 1 10 + 0x30;
dgus_show_text_value_set(VALUATION_UNIT_PRICE_ADDR, test_display, 4);
}
else if (balorazio_prezio_unitarioa
{
test_display[0] = valuation_unit_price / 100000 % 10 + 0x30;
test_display[1] = valuation_unit_price / 10000 % 10 + 0x30;
test_display[2] = balorazio_prezio_unitarioa / % 1000 10 + 0x30;
test_display[3] = balorazio_prezio_unitarioa / % 100 10 + 0x30;
test_display[4] = '.';
test_display[5] = balorazio_prezio_unitarioa / % 10 10 + 0x30;
test_display[6] = balorazio_prezio_unitarioa / % 1 10 + 0x30;
dgus_show_text_value_set (VALUATION_UNIT_PRICE_ADDR, test_display, 4);
}
}
// Pisua Freskatzea
void page_valuation_weight_refresh()
{
uint8_t test_display[10] = {0x30};
uint32_t gram_display = 0;
if(gram_balioa >= balorazioa_deskortikatu)
{
gram_display = gramo_balioa - balorazioa_decorticate;
if(gram_display
{
test_display[0] = gram_display / % 1 10 + 0x30;
dgus_show_text_value_set (VALUATION_GRAM_ADDR, test_display, 3);
}
else if(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);
}
else if(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);
}
else if(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);
}
else if(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);
}
}
bestela
{
dgus_show_text_value_set (VALUATION_GRAM_ADDR, test_display, 3);
}
}
// Prezio osoa freskatzea
void page_valuation_price_refresh()
{
uint32_t prezio_balioa = 0;
uint8_t test_display[10] = {0x30, '.', 0x30, 0x30};
if(gram_balioa >= balorazioa_deskortikatu)
{
prezio_balioa = (balio_gramoa - balorazioa_deskortikatua) * prezio_unitario_balorazioa * 2 / 1000;
if(prezio_balioa
{
test_display[0] = prezio_balioa / % 100 10 + 0x30;
test_display[1] = '.';
test_display[2] = prezio_balioa / % 10 10 + 0x30;
test_display[3] = prezio_balioa / % 1 10 + 0x30;
dgus_show_text_value_set(VALUATION_TOTAL_PRICES_ADDR, test_display, 4);
}
else if (prezio_balioa
{
test_display[0] = prezio_balioa / 1000 % 10 + 0x30;
test_display[1] = prezio_balioa / % 100 10 + 0x30;
test_display[2] = '.';
test_display[3] = prezio_balioa / % 10 10 + 0x30;
test_display[4] = prezio_balioa / % 1 10 + 0x30;
dgus_show_text_value_set(VALUATION_TOTAL_PRICES_ADDR, test_display, 4);
}
else if (prezio_balioa
{
test_display[0] = prezio_balioa / 10000 % 10 + 0x30;
test_display[1] = prezio_balioa / 1000 % 10 + 0x30;
test_display[2] = prezio_balioa / % 100 10 + 0x30;
test_display[3] = '.';
test_display[4] = prezio_balioa / % 10 10 + 0x30;
test_display[5] = prezio_balioa / % 1 10 + 0x30;
dgus_show_text_value_set(VALUATION_TOTAL_PRICES_ADDR, test_display, 4);
}
else if (prezio_balioa
{
test_display[0] = prezio_balioa / 100000 % 10 + 0x30;
test_display[1] = prezio_balioa / 10000 % 10 + 0x30;
test_display[2] = prezio_balioa / 1000 % 10 + 0x30;
test_display[3] = prezio_balioa / % 100 10 + 0x30;
test_display[4] = '.';
test_display[5] = prezio_balioa / % 10 10 + 0x30;
test_display[6] = prezio_balioa / % 1 10 + 0x30;
dgus_show_text_value_set(VALUATION_TOTAL_PRICES_ADDR, test_display, 4);
}
}
bestela
{
dgus_show_text_value_set(VALUATION_TOTAL_PRICES_ADDR, test_display, 4);
}
}
void page_valuation_decorticate()
{
balorazioa_decorticate = gramo_balioa;
orrialdea_balorazioa_pisua_freskatu();
}
void page_valuation_1()
{
if(balorazio_prezio_unitarioa
{
valuation_unit_price = valuation_unit_price * 10 + 1;
orrialdea_balorazioa_prezio_unitarioa_freskatu();
}
}
void page_valuation_2()
{
if(balorazio_prezio_unitarioa
{
valuation_unit_price = valuation_unit_price * 10 + 2;
orrialdea_balorazioa_prezio_unitarioa_freskatu();
}
}
void page_valuation_3()
{
if(balorazio_prezio_unitarioa
{
prezio_unitario_balorazioa = prezio_unitario_balorazioa * 10 + 3;
orrialdea_balorazioa_prezio_unitarioa_freskatu();
}
}
void page_valuation_4()
{
if(balorazio_prezio_unitarioa
{
valuation_unit_price = valuation_unit_price * 10 + 4;
orrialdea_balorazioa_prezio_unitarioa_freskatu();
}
}
void page_valuation_5()
{
if(balorazio_prezio_unitarioa
{
valuation_unit_price = valuation_unit_price * 10 + 5;
orrialdea_balorazioa_prezio_unitarioa_freskatu();
}
}
void page_valuation_6()
{
if(balorazio_prezio_unitarioa
{
valuation_unit_price = valuation_unit_price * 10 + 6;
orrialdea_balorazioa_prezio_unitarioa_freskatu();
}
}
void page_valuation_7()
{
if(balorazio_prezio_unitarioa
{
valuation_unit_price = valuation_unit_price * 10 + 7;
orrialdea_balorazioa_prezio_unitarioa_freskatu();
}
}
void page_valuation_8()
{
if(balorazio_prezio_unitarioa
{
valuation_unit_price = valuation_unit_price * 10 + 8;
orrialdea_balorazioa_prezio_unitarioa_freskatu();
}
}
void page_valuation_9()
{
if(balorazio_prezio_unitarioa
{
valuation_unit_price = valuation_unit_price * 10 + 9;
orrialdea_balorazioa_prezio_unitarioa_freskatu();
}
}
void page_valuation_0()
{
if(balorazio_prezio_unitarioa
{
prezio_unitario_balorazioa = prezio_unitario_balorazioa * 10 + 0;
orrialdea_balorazioa_prezio_unitarioa_freskatu();
}
}
void page_valuation_back()
{
valuation_unit_price = valuation_unit_price / 10;
orrialdea_balorazioa_prezio_unitarioa_freskatu();
}
void page_valuation_clear()
{
prezio_unitario_balorazioa = 0;
orrialdea_balorazioa_prezio_unitarioa_freskatu();
}
Argitalpenaren ordua: 2024-04-28