[Kode irekia] Pisatzeko gailua funtzio anitzeko

——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

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