[விருது பெற்ற வழக்கு] அறிவார்ந்த பூனை உணவு கட்டுப்பாட்டு அமைப்பு

——DWIN டெவலப்பர் மன்றத்திலிருந்து

இந்த இதழில், DWIN டெவலப்பர் மன்றத்தில் இருந்து விருது பெற்ற ஓப்பன் சோர்ஸ் கேஸை நாங்கள் உங்களுக்கு அறிமுகப்படுத்துவோம்: அறிவார்ந்த பூனை உணவு கட்டுப்பாட்டு அமைப்பு.பொறியாளர்கள் DWIN ஸ்மார்ட் ஸ்கிரீனைப் பயன்படுத்தி வெப்பநிலை, ஈரப்பதம் மற்றும் பூனை உணவின் மீதமுள்ள அளவைக் கண்காணிக்கவும், பூனையின் உணவு உண்ணும் பதிவுகளைச் சேமிக்கவும்.தொடு பின்னூட்டத்தின் காட்சி உணர்வை மேம்படுத்த, மை ஓவியம் பாணி UIயின் தொகுப்பையும், விரலால் தொடும்போது மை கிளிக் விளைவையும் அவர்கள் தனித்துவமாக வடிவமைத்தனர்.

அறிமுகம்:

1.UI படப் பொருள்

DWIN ஸ்மார்ட் ஸ்கிரீன் படங்கள், ஆடியோ மற்றும் பிற பொருட்களின் அடிப்படையில் UI மேம்பாட்டை நிறைவு செய்கிறது.

asv (2)

2.இடைமுக வளர்ச்சி

DGUS மென்பொருள் அடுக்கு மேலடுக்கு மூலம் UI விளைவை மீட்டெடுக்கிறது, DGUS மென்பொருளில் தயாரிக்கப்பட்ட பொருட்களை ஒரு முழுமையான படமாக இணைக்கிறது மற்றும் காட்சி மற்றும் தொடு செயல்பாடுகளை அமைக்கிறது.

asv (1)

3. கிளிக் விளைவுகள் மற்றும் ஒலி விளைவுகளை செயல்படுத்தவும்

தொடு நிலை 51 நிரல் மூலம் பெறப்படுகிறது, அழுத்தும் விளைவு விரலின் இயக்கத்தைப் பின்பற்றுகிறது, மேலும் முக்கிய துணை ஒலி விளைவும் அடையப்படுகிறது.

(1) தொடு இருப்பிடக் குறியீட்டைக் கண்டறிந்து ஆடியோவை இயக்கவும்:

வெற்றிடமான TouchDetect()

{

    u16 Va[3] = 0;

    u8 i = 0;

 

    (i = 0;i <3;i++)

    {

        Va[i] = Read_Dgus(0x0016 + i);

        என்றால்(Va[0] == 0x5A01)

        {

        }

        வேறு

        {

            முறிவு;

        }

    }

    if(i != 0) //உள்ளிட முதல் கிளிக் செய்யவும்

    {

        u16 நாடகம்[2] = {0x0001, 0x4000};

        touchAnimationFlag = 1;

        touchAnimationCnt = 0;

        touchPosX = Va[1];

        touchPosY = Va[2];

        write_dgus_vp(0x00A0, play, 2);

    }

}

 

(2) தொடு விளைவு காட்சிக்கான குறியீடு பின்வருமாறு:

வெற்றிடமான டச்ஸ்டார்ட்()

{

    if(touchAnimationFlag == 1)

    {

        if(touchAnimationCnt == 0)

        {

            Write_Dgus(0x5011, touchPosX - 100);

            Write_Dgus(0x5012, touchPosY - 100);

        }

 

        Write_Dgus(0x5000, touchAnimationCnt);

        touchAnimationCnt++;

 

        என்றால்(touchAnimationCnt == 6)

        {

            touchAnimationFlag = 0;

            எழுது_Dgus(0x5011, 1024);

            எழுது_Dgus(0x5012, 600);

        }

    }

    

}

 

4. அடுத்த படியானது திரையின் மூலம் தொடர்புடைய அளவுருக்களை அமைப்பது, பின்னர் பூனை உணவின் தானியங்கு உணவு செயல்பாட்டை உணர ESP32 மூலம் பூனை உணவு கட்டுப்படுத்திக்கு தரவை அனுப்ப வேண்டும்.குறிப்பிட்ட குறியீடு பின்வருமாறு:

//பொத்தான் நிலையைப் பெறுக

வெற்றிட get_key_status()

{

    int i = 0;

    //u16 Va=Read_Dgus(addr);

    u16 Va=Read_Dgus(0x1000);

    என்றால்(வா != 0x0000)

    {

        //Status பக்கம்

        if(Va == 0x0103) //g இன் எண்ணை வைக்கவும்

        {

            u16 சுவிட்ச்பேஜ்[2] = {0x5A01, 19};

            setNum = placeGramNum;

            பின்பக்கம் = 1;//நிலைப் பக்கத்திற்குத் திரும்பு

            Write_Dgus(0x4000 + 0, setNum % 10);

            எழுது_Dgus(0x4000 + 2, setNum / 10 % 10);

            எழுது_Dgus(0x4000 + 4, setNum / 100 % 10);

            எழுது_Dgus(0x4000 + 6, setNum / 1000 % 10);

            write_dgus_vp(0x0084, சுவிட்ச்பேஜ், 2);

        }

        இல்லையெனில் (Va == 0x0102)

        {

            OneSendData3(placeGramNum);//இடம்பூனைக்கான உணவுஒருமுறை

        }

        இல்லையெனில் (Va == 0x0101) //அமைப்பு பக்கம்

        {

            u16 சுவிட்ச்பேஜ்[2] = {0x5A01, 3};

            (i = 0;i <6;i++)

            {

                என்றால் (i == 0)

                {

                    எழுது_Dgus(0x3070 + i * 0x10 + 0, தற்போதைய நேரம்[i] % 10);

                    எழுது_Dgus(0x3070 + i * 0x10 + 2, தற்போதைய நேரம்[i] / 10 % 10);

                    எழுது_Dgus(0x3070 + i * 0x10 + 4, தற்போதைய நேரம்[i] / 100 % 10);

                    எழுது_Dgus(0x3070 + i * 0x10 + 6, தற்போதைய நேரம்[i] / 1000 % 10);

                }

                வேறு

                {

                    எழுது_Dgus(0x3070 + i * 0x10 + 0, தற்போதைய நேரம்[i] % 10);

                    எழுது_Dgus(0x3070 + i * 0x10 + 2, தற்போதைய நேரம்[i] / 10 % 10);

                }

            }

            write_dgus_vp(0x0084, சுவிட்ச்பேஜ், 2);//அமைப்புகள் பக்கத்தை உள்ளிடவும்

        }

        இல்லையெனில் (வா == 0x0100) //Record பக்கம்

        {

            u16 சுவிட்ச்பேஜ்[2] = {0x5A01, 2};

            (i = 0;i <6;i++)

            {

                என்றால் (i == 0)

                {

                    Write_Dgus(0x2000 + i * 0x10 + 0, eatFeedList[0][i] % 10);

                    Write_Dgus(0x2000 + i * 0x10 + 2, eatFeedList[0][i] / 10 % 10);

                    Write_Dgus(0x2000 + i * 0x10 + 4, eatFeedList[0][i] / 100 % 10);

                    Write_Dgus(0x2000 + i * 0x10 + 6, eatFeedList[0][i] / 1000 % 10);

                }

                வேறு

                {

                    Write_Dgus(0x2000 + i * 0x10 + 0, eatFeedList[0][i] % 10);

                    Write_Dgus(0x2000 + i * 0x10 + 2, eatFeedList[0][i] / 10 % 10);

                }

            }

            write_dgus_vp(0x0084, சுவிட்ச்பேஜ், 2);//பதிவு பக்கத்தை உள்ளிடவும்

        }

        //Record பக்கம்

        இல்லையெனில் (Va == 0x0201) //பதிவு பக்கம் முந்தைய பக்கம்

        {

            if(lookEatCnt > 0)

            {

                lookEatCnt--;

                (i = 0;i <6;i++)

                {

                    என்றால் (i == 0)

                    {

                        Write_Dgus(0x2000 + i * 0x10 + 0, eatFeedList[lookEatCnt][i] % 10);

                        Write_Dgus(0x2000 + i * 0x10 + 2, eatFeedList[lookEatCnt][i] / 10 % 10);

                        Write_Dgus(0x2000 + i * 0x10 + 4, eatFeedList[lookEatCnt][i] / 100 % 10);

                        Write_Dgus(0x2000 + i * 0x10 + 6, eatFeedList[lookEatCnt][i] / 1000 % 10);

                    }

                    வேறு

                    {

                        Write_Dgus(0x2000 + i * 0x10 + 0, eatFeedList[lookEatCnt][i] % 10);

                        Write_Dgus(0x2000 + i * 0x10 + 2, eatFeedList[lookEatCnt][i] / 10 % 10);

                    }

                }

            }

        }

        இல்லையெனில் (Va == 0x0202) //அடுத்த பக்கத்தை பதிவு செய்யவும்

        {

            if(lookEatCnt < eatCnt - 1)

            {

                lookEatCnt++;

                (i = 0;i <6;i++)

                {

                    என்றால் (i == 0)

                    {

                        Write_Dgus(0x2000 + i * 0x10 + 0, eatFeedList[lookEatCnt][i] % 10);

                        Write_Dgus(0x2000 + i * 0x10 + 2, eatFeedList[lookEatCnt][i] / 10 % 10);

                        Write_Dgus(0x2000 + i * 0x10 + 4, eatFeedList[lookEatCnt][i] / 100 % 10);

                        Write_Dgus(0x2000 + i * 0x10 + 6, eatFeedList[lookEatCnt][i] / 1000 % 10);

                    }

                    வேறு

                    {

                        Write_Dgus(0x2000 + i * 0x10 + 0, eatFeedList[lookEatCnt][i] % 10);

                        Write_Dgus(0x2000 + i * 0x10 + 2, eatFeedList[lookEatCnt][i] / 10 % 10);

                    }

                }

            }

        }

        //அமைப்பு பக்கம்

        இல்லையெனில் (Va == 0x0302)

        {

            என்றால் (நேர முறை == 1)

            {

                நேரமுறை = 0;

                எழுது_Dgus(0x3A12, 139);

            }

        }

        இல்லையெனில் (Va == 0x0303)

        {

            if(timeMode == 0)

            {

                நேரமுறை = 1;

                எழுது_Dgus(0x3A12, 242);

            }

        }

        இல்லையெனில் (Va >= 0x0304 && Va <= 0x0309)

        {

            u16 சுவிட்ச்பேஜ்[2] = {0x5A01, 19};

            பின்பக்கம் = 3;

            backNum = Va;

            setNum = timrIntervalHour[Va - 0x0304];

            Write_Dgus(0x4000 + 0, setNum % 10);

            எழுது_Dgus(0x4000 + 2, setNum / 10 % 10);

            எழுது_Dgus(0x4000 + 4, setNum / 100 % 10);

            எழுது_Dgus(0x4000 + 6, setNum / 1000 % 10);

            write_dgus_vp(0x0084, சுவிட்ச்பேஜ், 2);

        }

        இல்லையெனில் (Va >= 0x030A && Va <= 0x030F)

        {

            u16 சுவிட்ச்பேஜ்[2] = {0x5A01, 19};

            பின்பக்கம் = 3;

            backNum = Va;

            setNum = தற்போதைய நேரம்[Va - 0x030A];

            Write_Dgus(0x4000 + 0, setNum % 10);

            எழுது_Dgus(0x4000 + 2, setNum / 10 % 10);

            எழுது_Dgus(0x4000 + 4, setNum / 100 % 10);

            எழுது_Dgus(0x4000 + 6, setNum / 1000 % 10);

            write_dgus_vp(0x0084, சுவிட்ச்பேஜ், 2);

        }

        //Aதரவுப் பக்கத்தை மாற்றவும்

        இல்லையெனில் (Va == 0x0400) //உறுதிப்படுத்தவும்

        {

            u16 சுவிட்ச்பேஜ்[2] = {0x5A01, 0x0000};

            சுவிட்ச்பேஜ்[1] = backPage;

            if(backPage == 1) //நிலைப் பக்கத்திற்குத் திரும்பு

            {

                placeGramNum = setNum;

                Write_Dgus(0x1140 + 0, placeGramNum % 10);

                எழுது_Dgus(0x1140 + 2, placeGramNum / 10 % 10);

            }

            இல்லையெனில் (பின்பக்கம் == 3)

            {

                if(backNum >= 0x0304 && backNum <= 0x0309)

                {

                    u16 தேர்வு = 0;

                    தேர்ந்தெடு = (backNum - 0x0304) * 0x10;

                    timrIntervalHour[backNum - 0x0304] = setNum;

                    எழுது_Dgus(0x3010 + தேர்ந்தெடு + 0, setNum % 10);

                    எழுது_Dgus(0x3010 + தேர்ந்தெடு + 2, setNum / 10 % 10);

                }

                வேறு என்றால்(backNum >= 0x030A && backNum <= 0x030F)

                {

                    u16 தேர்வு = 0;

                    தேர்ந்தெடு = (backNum - 0x0304) * 0x10;

                    தற்போதைய நேரம்[backNum - 0x030A] = setNum;

                    

                    if(backNum == 0x030A)

                    {

                        எழுது_Dgus(0x3010 + தேர்ந்தெடு + 0, setNum % 10);

                        எழுது_Dgus(0x3010 + தேர்ந்தெடு + 2, setNum / 10 % 10);

                        எழுது_Dgus(0x3010 + தேர்ந்தெடு + 4, setNum / 100 % 10);

                        எழுது_Dgus(0x3010 + தேர்ந்தெடு + 6, setNum / 1000 % 10);

                    }

                    வேறு

                    {

                        எழுது_Dgus(0x3010 + தேர்ந்தெடு + 0, setNum % 10);

                        எழுது_Dgus(0x3010 + தேர்ந்தெடு + 2, setNum / 10 % 10);

                    }

                }

            }

            write_dgus_vp(0x0084, சுவிட்ச்பேஜ், 2);

        }

        இல்லையெனில் (வா == 0x0401) //மீண்டும்

        {

            u16 சுவிட்ச்பேஜ்[2] = {0x5A01, 0x0000};

            சுவிட்ச்பேஜ்[1] = backPage;

            write_dgus_vp(0x0084, சுவிட்ச்பேஜ், 2);

        }

        இல்லையெனில் (Va == 0x0402) //எண் அதிகரிப்பு

        {

            setNum++;

            Write_Dgus(0x4000 + 0, setNum % 10);

            எழுது_Dgus(0x4000 + 2, setNum / 10 % 10);

            எழுது_Dgus(0x4000 + 4, setNum / 100 % 10);

            எழுது_Dgus(0x4000 + 6, setNum / 1000 % 10);

        }

        இல்லையெனில் (Va == 0x0403) //எண் குறைப்பு

        {

            if(setNum > 0)

                setNum--;

            Write_Dgus(0x4000 + 0, setNum % 10);

            எழுது_Dgus(0x4000 + 2, setNum / 10 % 10);

            எழுது_Dgus(0x4000 + 4, setNum / 100 % 10);

            எழுது_Dgus(0x4000 + 6, setNum / 1000 % 10);

        }

        

        எழுது_Dgus(0x1000, 0);

    }

}


இடுகை நேரம்: செப்-19-2023