सारांश
टिक-टैक-टो एक गेम है जो गोबैंग के समान 3 बाय 3 ग्रिड पर खेला जाता है। इसका नाम इसलिए पड़ा क्योंकि बोर्ड आम तौर पर सीमाएं नहीं खींचता है और ग्रिड लाइनों को टिक-टैक-टो में व्यवस्थित किया जाता है। खेल के लिए आवश्यक उपकरण केवल कागज और कलम हैं। फिर, O और X का प्रतिनिधित्व करने वाले दो खिलाड़ी बारी-बारी से ग्रिड पर निशान छोड़ते हैं। कोई भी तीन अंक एक सीधी रेखा बनाते हैं, जो विजेता होता है।
यह लेख एक साधारण टिक-टैक-टो गेम विकसित करने के लिए माइक्रोकंट्रोलर STM32 और STONE LCD डिस्प्ले का उपयोग करने के लिए है।
प्रयोग के लिए आवश्यक सामग्री
प्रणाली सिद्धांत
निर्दिष्ट करें कि स्क्रीन पर पहला टैप ओ होना चाहिए, स्क्रीन पर दूसरा टैप एक्स है, यह चक्र कर रहा है। प्रत्येक ग्रिड के प्रत्येक पंक्ति, स्तंभ और विकर्ण में O और X की संख्या को संग्रहीत करने के लिए 8 सरणियाँ सेट करें, जब तक कि एक ही चिह्न के तीन जीत हैं, तब जीत साबित करने के लिए एक चमकता लाल बॉक्स होगा पंक्ति, स्तंभ या विकर्ण, और फिर खेल को फिर से शुरू करने के लिए रीसेट पर टैप करें।
निम्नलिखित प्रवाह चार्ट है:
STM32 और STONE LCD डिस्प्ले सिस्टम हार्डवेयर डिज़ाइन
(ए) स्टोन एलसीडी डिस्प्ले
- "टिक-टैक-टो गेम" हार्डवेयर डिज़ाइन
बीजिंग स्टोन टेक्नोलॉजी कंपनी लिमिटेड के स्टोन एलसीडी डिस्प्ले का उपयोग करें, मॉडल STWI070WT-01 है, जिसमें एक एकीकृत TFT डिस्प्ले और टच कंट्रोलर है।
- STVC070WT-01 उत्पाद की विशेषताएँ
भौतिक पैरामीटर | |
आकार | 7 इंच |
संकल्प | 800 × आरजीबी × 480 |
पिक्सेल रिक्ति | 0.0642 (डब्ल्यू) × 0.1790 (एच) मिमी |
रंग | 262,144 रंग (18 बिट) |
देखने के क्षेत्र | 154.08 (डब्ल्यू) × 85.92 (एच) मिमी |
प्रदर्शन प्रदर्शित करें | 186.4mmx105.5mm |
समग्र आयाम | 186.4mmx105.5mmx17.4mm (मानक प्रकार) 186.4mmx105.5mmx23.8mm (ईथरनेट पोर्ट के साथ) |
निवल भार | 300g |
डिस्प्ले | |
बैकलाइट प्रकार | एलईडी |
चमक | 300 सीडी / एम 2 (चमक 100 स्तरों में समायोज्य हो सकती है) |
कंट्रास्ट | 500:1 |
बैकलाइट लाइफ | 300,000 घंटे |
देखने के कोण | 70 ° / 70 ° / 50 ° / 70 ° (L / R / U / D) |
TFT पैनल | एक वर्ग उद्योग पैनल |
टच स्क्रीन | 4 तार प्रतिरोध स्पर्श / कैपेसिटिव टच / बिना टच स्क्रीन के |
स्क्रीन मोड: | डिजिटल |
प्रोसेसर | |
सी पी यू | प्रांतस्था A8 |
ताज़ा दर | 1G हर्ट्ज |
अधिकतम फ्रेम दर | 60 एफपीएस |
इंटरफेस | |
आनुक्रमिक अंतरापृष्ठ | RS232 / RS422 / RS485 / TTL स्तर |
ईथरनेट इंटरफेस | 10एम/100एम (वैकल्पिक) |
वायरलेस इंटरफ़ेस | वाई-फाई / ब्लूटूथ (वैकल्पिक) |
प्रोजेक्ट फ़ाइल डाउनलोडिंग | यूएसबी 2.0 पोर्ट या यू स्टोरेज डिस्क |
बिजली की आपूर्ति | |
रेटेड वोल्टेज | +12वी डीसी या +5वी डीसी |
अनुमेय वोल्टेज रेंज | +7वी डीसी…+28वी डीसी या +5वी डीसी |
मैक्स। अनुमेय क्षणिक | + 28V |
दो क्षणिकों के बीच का समय | 50 सेकंड न्यूनतम |
आंतरिक फ्यूज | 2A स्व-वसूली फ्यूज |
बिजली की खपत | 3.0 डब्ल्यू |
आसपास की स्थितियाँ | |
मैक्स। अनुमेय परिवेश का तापमानऑपरेशनस्टोरेज | -20 ℃ ~ + 70 ℃ -30 ℃ ~ + 80 ℃ |
सापेक्षिक आर्द्रताऑपरेशनस्टोरेज | 55 ℃, 85% 60 ℃, 90% |
शॉक लोडिंगऑपरेशनस्टोरेज | 15 ग्राम/11 मिसे25 ग्राम/6 मिसे |
कंपनऑपरेशनस्टोरेज | 0.035 मिमी (10 - 58 हर्ट्ज)/ 1 ग्राम (58 - 500 हर्ट्ज)3.5 मिमी (5 - 8,5 हर्ट्ज)/ 1 ग्राम (8.5 - 500 हर्ट्ज) |
बैरोमीटर का दबावऑपरेशनस्टोरेज | 706 से 1030 hPa581 से 1030 hPa |
शोर उन्मुक्ति | |
स्टेटिक डिस्चार्ज (संपर्क डिस्चार्ज / एयर डिस्चार्ज) | एन 61000-4-2 6 केवी/8 केवी |
आरएफ विकिरण | एन 61000-4-310 वी/एम, 80% एएम1 किलोहर्ट्ज़ |
पल्स मॉड्यूलेशन | ईएनवी 50204900 मेगाहर्ट्ज ±5 मेगाहर्ट्ज10 वी/मेफ., 50% ईडी, 200 हर्ट्ज |
आरएफ चालन | EN 61000-4-6150 kHz - 80 MHz10 V, 80% AM, 1 kHz |
बर्स्ट इंटरफेरेंस सप्लाई लाइन्स प्रोसेस डेटा लाइन्स सिग्नल लाइन्स | EN 61000-4-42kV2kV1kV |
समर्थन डिवाइस | |
UART पोर्ट | समर्थनRS232/RS422/RS485/टीटीएल |
नेटवर्क पोर्ट | समर्थन ईथरनेट पोर्ट / वाई-फाई / ब्लूटूथ |
फ्लैश मेमोरी | समर्थन मानक 256MB, 1GB या 2GB बढ़ाएँ |
बजर | सहायता |
आरटीसी | सहायता |
यूएसबी पोर्ट | यूएसबी केबल द्वारा ऑनलाइन डाउनलोड का समर्थन करें |
यू स्टोरेज डिस्क इंटरफेस | समर्थन। ऑफ़लाइन डाउनलोड करें या उपयोगकर्ता डेटा कॉपी करें |
टच स्क्रीन | 4 तार प्रतिरोध / कैपेसिटिव |
वेक्टर फ़ॉन्ट | मानक टीटीएफ प्रारूप |
छवि | समर्थन पीएनजी/जेपीजी/बीएमपी/एसवीजी/जीआईएफ प्रारूप |
ऑडियो इंटरफेस | समर्थन WAV प्रारूप एकल ऑडियो फ़ाइल की लंबाई सीमित नहीं है, सैद्धांतिक रूप से 4096 ऑडियो फ़ाइलों तक, स्पीकर की शक्ति 8 ओम 2 वाट या 4 ओम 3 वाट है |
कमांड सेट करें | एकीकृत सरलीकृत कमांड सेट |
याद | |
फ्लैश मेमोरी | मानक 256MB, एक्सटेंशन 1GB या 2GB |
छवि के लिए मेमोरी राशि | छवि की क्षमता के अनुसार, "पीएनजी, बीएमपी, जेपीजी, एसवीजी, जीआईएफ" प्रारूप का सुझाव दें। |
(बी) एसटीएम 32 बोर्ड
STM32 बोर्ड का उपयोग करते हुए, STM32 की चिप CKS32F303 है।
ARM Cortex-M32, M0+, M0, M3 और M4 कोर के STM7 परिवार को उच्च प्रदर्शन, कम लागत और कम बिजली की खपत की आवश्यकता वाले एम्बेडेड अनुप्रयोगों के लिए डिज़ाइन किया गया है।
- 2.0V-3.6V बिजली की आपूर्ति
- 5V संगत I/O पिन
- उत्कृष्ट सुरक्षित घड़ी मोड
- वेक-अप फ़ंक्शन के साथ कम पावर मोड
- आंतरिक आरसी थरथरानवाला
- एंबेडेड रीसेट सर्किट
- तापमान सीमा संचालित करना।
- -40°C से +85°C या 105°C
सिस्टम सॉफ्टवेयर डिजाइन
STM32 और STONE LCD डिस्प्ले की विकास प्रक्रिया
1: प्रोजेक्ट बनाएं और प्रोजेक्ट में आवश्यक चित्र लोड करें।
2: गतिशील रूप से संबद्ध संबंध बनाने के लिए स्टोन-डिज़ाइनर सॉफ़्टवेयर का उपयोग करें; मुख्य नियंत्रण हैं: "बटन", "छवि";
3: निष्पादन योग्य फ़ाइलों को उत्पन्न करने के लिए सॉफ़्टवेयर सिमुलेशन और संकलन।
4: एलसीडी डिस्प्ले यूएसबी के माध्यम से पीसी से जुड़ा है और निष्पादन योग्य फ़ाइल को स्क्रीन पर कॉपी करता है।
पहले एक नया प्रोजेक्ट बनाएं जैसा कि नीचे दिखाया गया है।
दूसरे, सभी छवियों को संसाधन में आयात करें
फिर, प्रत्येक ग्रिड पर बटन नियंत्रण सेट करें और बटनों को अदृश्य बनाएं।
रीसेट बटन सेट करना न भूलें!
समाप्त प्रभाव नीचे दिखाया गया है:
उसके बाद, प्रत्येक ग्रिड में उसी तरह छवि नियंत्रण जोड़ें, और उन सभी को सफेद छवियों पर सेट करें।
अंत में जीआईएफ नियंत्रण जोड़ें और इसे अदृश्य पर सेट करें।
तैयार प्रभाव के भाग नीचे दिखाए गए हैं:
सर्किट कनेक्शन आरेख
गुप्त भाषा बांटना
/* शामिल है ——————————————————————*/
#शामिल "stm32f0xx_hal.h"
#शामिल "Uart.h"
#शामिल "स्ट्रिंग.एच"
#शामिल "ws2812.h"
#शामिल "IWDG.h"
RGB_COLOR USER_RGB_COLOR;
अहस्ताक्षरित चार TX_Mode = 1; // ट्रांसमिशन टाइप फ्लैग बिट 1:232 0:TTL
अहस्ताक्षरित चार BLINK_2=0;
अहस्ताक्षरित चार RX3_BUF [32]; // अनुकूलित तीन-स्तरीय बफर प्राप्त करें
#परिभाषित करेंबटन1 0x81
#परिभाषित करेंबटन2 0x82
#परिभाषित करेंबटन3 0x83
#परिभाषित करेंबटन4 0x84
#परिभाषित करेंबटन5 0x85
#परिभाषित करेंबटन6 0x86
#परिभाषित करेंबटन7 0x87
#परिभाषित करेंबटन8 0x88
#परिभाषित करेंबटन9 0x89
#परिभाषित करें बटन0 0x8A
#स्पष्ट 0x8E परिभाषित करें
अहस्ताक्षरित int r_flag1 = 0;
अहस्ताक्षरित इंट क्वान[4][2]={0};
अहस्ताक्षरित इंट चा [4][2]={0};
अहस्ताक्षरित int quan_hang1 = 0;
अहस्ताक्षरित int quan_hang2 = 0;
अहस्ताक्षरित int quan_hang3 = 0;
अहस्ताक्षरित int quan_lie1 = 0;
अहस्ताक्षरित int quan_lie2 = 0;
अहस्ताक्षरित int quan_lie3 = 0;
अहस्ताक्षरित int quan_zuoxia = 0;
अहस्ताक्षरित int quan_youxia = 0;
अहस्ताक्षरित int cha_hang1 = 0;
अहस्ताक्षरित int cha_hang2 = 0;
अहस्ताक्षरित int cha_hang3 = 0;
अहस्ताक्षरित int cha_lie1 = 0;
अहस्ताक्षरित int cha_lie2 = 0;
अहस्ताक्षरित int cha_lie3 = 0;
अहस्ताक्षरित int cha_zuoxia = 0;
अहस्ताक्षरित int cha_youxia = 0; // अहस्ताक्षरित int r_flag10 = 0;
शून्य SystemClock_Config (शून्य);
शून्य त्रुटि_हैंडलर (शून्य);
स्थिर शून्य MX_GPIO_Init (शून्य);
int मुख्य (शून्य)
{
uint8_t color_buf = 0;
// फ़ंक्शन चयन
/* सभी बाह्य उपकरणों को रीसेट करें, फ्लैश इंटरफेस और सिस्टिक को इनिशियलाइज़ करें। */
एचएएल_इनिट ();
/* सिस्टम घड़ी को कॉन्फ़िगर करें */
सिस्टमक्लॉक_कॉन्फिग ();
/* सभी कॉन्फ़िगर किए गए बाह्य उपकरणों को प्रारंभ करें */
एमएक्स_जीपीआईओ_इनिट ();
TX_Mode = HAL_GPIO_ReadPin (GPIOA, GPIO_PIN_4);
अगर (TX_मोड)
MX_USART1_UART_Init ();
// 232 आरंभीकरण
अन्य
MX_USART1_UART_Init2 ();
// टीटीएल आरंभीकरण
जबकि (1)
{
अगर (TX_मोड! = HAL_GPIO_ReadPin (GPIOA, GPIO_PIN_4))
HAL_NVIC_SystemReset ();
// जम्पर रिवर्सल, रिबूट और रीइनिशियलाइज़ेशन
अगर (MNG_USART1.RX_OVER_FLG == TRUE)
//
सीरियल डेटा फ्लैग बिट प्राप्त करता है
{
RX3_BUF[0]=MNG_USART1.RX_BUF[7];
// विधि 2: निश्चित लंबाई नियंत्रण नाम प्राप्त करें
RX3_BUF[1]=MNG_USART1.RX_BUF[8];
RX3_BUF[2]=MNG_USART1.RX_BUF[9];
RX3_BUF[3]=MNG_USART1.RX_BUF[10];
RX3_BUF[4]=MNG_USART1.RX_BUF[11];
RX3_BUF[5]=MNG_USART1.RX_BUF[12];
RX3_BUF[6]=MNG_USART1.RX_BUF[13];
//RX3_BUF[7]=MNG_USART1.RX_BUF[14];
अगर ((strcmp ("बटन 1", (कॉन्स्ट चार *) RX3_BUF)) == 0)
// नियंत्रण चुनें
{
color_buf = बटन 1;
}
अगर ((strcmp ("बटन 2", (कॉन्स्ट चार *) RX3_BUF)) == 0)
{
color_buf = बटन 2;
}
अगर ((strcmp ("बटन 3", (कॉन्स्ट चार *) RX3_BUF)) == 0)
{
color_buf = बटन 3;
}
अगर ((strcmp ("बटन 4", (कॉन्स्ट चार *) RX3_BUF)) == 0)
{
color_buf = बटन 4;
}
अगर ((strcmp ("बटन 5", (कॉन्स्ट चार *) RX3_BUF)) == 0)
{
color_buf = बटन 5;
}
अगर ((strcmp ("बटन 6", (कॉन्स्ट चार *) RX3_BUF)) == 0)
{
color_buf = बटन 6;
}
अगर ((strcmp ("बटन 7", (कॉन्स्ट चार *) RX3_BUF)) == 0)
{
color_buf = बटन 7;
}
अगर ((strcmp ("बटन 8", (कॉन्स्ट चार *) RX3_BUF)) == 0)
{
color_buf = बटन 8;
}
अगर ((strcmp ("बटन 9", (कॉन्स्ट चार *) RX3_BUF)) == 0)
{
color_buf = बटन 9;
}
अगर ((strcmp ("बटन 0", (कॉन्स्ट चार *) RX3_BUF)) == 0)
{
color_buf = बटन 0;
}
स्विच (color_buf)
{
केस बटन1:
// अगर (r_flag1 == 0)
अगर ((r_flag1 == 0)&&(MNG_USART1.RX_BUF [14] == 0x02))
{
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
r_flag1 ^= 1;
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image2\",\"image\":\"circle\ "}>ईटी");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
r_flag1 ^= 1;
क्वान_हैंग1++;
क्वान_ली 1++;
क्वान_यौक्सिया++;
// मेमसेट (RX3_BUF, 0,7);
// मेमसेट (MNG_USART1.RX_BUF,0,USART1_RX_LEN);
color_buf = साफ़;
}
और अगर ((r_flag1 == 1)&&(MNG_USART1.RX_BUF [14] == 0x02))
{
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image2\",\"image\":\"x\ "}>ईटी");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
r_flag1 = 0;
चा_हांग1++;
चा_ली1++;
चा_यौक्सिया++;
// मेमसेट (RX3_BUF, 0,7);
color_buf = साफ़;
}
// r_flag1 = 1;
तोड़;
केस बटन2:
अगर ((r_flag1 == 0)&&(MNG_USART1.RX_BUF [14] == 0x02))
{
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image3\",\"image\":\"circle\ "}>ईटी");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
r_flag1 = 1;
क्वान_हैंग1++;
क्वान_ली 2++;
// मेमसेट (RX3_BUF, 0,7);
color_buf = साफ़;
}
और अगर ((r_flag1 == 1)&&(MNG_USART1.RX_BUF [14] == 0x02))
{
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image3\",\"image\":\"x\ "}>ईटी");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
r_flag1 = 0;
चा_हांग1++;
चा_ली2++;
// मेमसेट (RX3_BUF, 0,7);
color_buf = साफ़;
}
तोड़;
केस बटन3:
अगर ((r_flag1 == 0)&&(MNG_USART1.RX_BUF [14] == 0x02))
{
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image4\",\"image\":\"circle\ "}>ईटी");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
r_flag1 = 1;
क्वान_हैंग1++;
क्वान_ली 3++;
क्वान_ज़ुओक्सिया++;
// मेमसेट (RX3_BUF, 0,7);
color_buf = साफ़;
}
और अगर ((r_flag1 == 1)&&(MNG_USART1.RX_BUF [14] == 0x02))
{
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image4\",\"image\":\"x\ "}>ईटी");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
r_flag1 = 0;
चा_हांग1++;
चा_ली3++;
चा_ज़ुओक्सिया++;
// मेमसेट (RX3_BUF, 0,7);
color_buf = साफ़;
}
तोड़;
केस बटन4:
अगर ((r_flag1 == 0)&&(MNG_USART1.RX_BUF [14] == 0x02))
{
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image5\",\"image\":\"circle\ "}>ईटी");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
r_flag1 = 1;
क्वान_हैंग2++;
क्वान_ली 1++;
// मेमसेट (RX3_BUF, 0,7);
// r_flag10 = 1;
color_buf = साफ़;
}
और अगर ((r_flag1 == 1)&&(MNG_USART1.RX_BUF [14] == 0x02))
{
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image5\",\"image\":\"x\ "}>ईटी");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
r_flag1 = 0;
चा_हांग2++;
चा_ली1++;
// मेमसेट (RX3_BUF, 0,7);
color_buf = साफ़;
}
तोड़;
केस बटन5:
अगर ((r_flag1 == 0)&&(MNG_USART1.RX_BUF [14] == 0x02))
{
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image6\",\"image\":\"circle\ "}>ईटी");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
r_flag1 = 1;
क्वान_हैंग2++;
क्वान_ली 2++;
क्वान_ज़ुओक्सिया++;
क्वान_यौक्सिया++;
// मेमसेट (RX3_BUF, 0,7);
color_buf = साफ़;
}
और अगर ((r_flag1 == 1)&&(MNG_USART1.RX_BUF [14] == 0x02))
{
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image6\",\"image\":\"x\ "}>ईटी");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
r_flag1 = 0;
चा_हांग2++;
चा_ली2++;
चा_ज़ुओक्सिया++;
चा_यौक्सिया++;
// मेमसेट (RX3_BUF, 0,7);
color_buf = साफ़;
}
तोड़;
केस बटन6:
अगर ((r_flag1 == 0)&&(MNG_USART1.RX_BUF [14] == 0x02))
{
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image7\",\"image\":\"circle\ "}>ईटी");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
r_flag1 = 1;
क्वान_हैंग2++;
क्वान_ली 3++;
// मेमसेट (RX3_BUF, 0,7);
color_buf = साफ़;
}
और अगर ((r_flag1 == 1)&&(MNG_USART1.RX_BUF [14] == 0x02))
{
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image7\",\"image\":\"x\ "}>ईटी");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
r_flag1 = 0;
चा_हांग2++;
चा_ली3++;
// मेमसेट (RX3_BUF, 0,7);
color_buf = साफ़;
}
तोड़;
केस बटन7:
अगर ((r_flag1 == 0)&&(MNG_USART1.RX_BUF [14] == 0x02))
{
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image8\",\"image\":\"circle\ "}>ईटी");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
r_flag1 = 1;
क्वान_हैंग3++;
क्वान_ली 1++;
क्वान_ज़ुओक्सिया++;
// मेमसेट (RX3_BUF, 0,7);
color_buf = साफ़;
}
और अगर ((r_flag1 == 1)&&(MNG_USART1.RX_BUF [14] == 0x02))
{
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image8\",\"image\":\"x\ "}>ईटी");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
r_flag1 = 0;
चा_हांग3++;
चा_ली1++;
चा_ज़ुओक्सिया++;
// मेमसेट (RX3_BUF, 0,7);
color_buf = साफ़;
}
तोड़;
केस बटन8:
अगर ((r_flag1 == 0)&&(MNG_USART1.RX_BUF [14] == 0x02))
{
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image9\",\"image\":\"circle\ "}>ईटी");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
r_flag1 = 1;
क्वान_हैंग3++;
क्वान_ली 2++;
// मेमसेट (RX3_BUF, 0,7);
color_buf = साफ़;
}
और अगर ((r_flag1 == 1)&&(MNG_USART1.RX_BUF [14] == 0x02))
{
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image9\",\"image\":\"x\ "}>ईटी");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
r_flag1 = 0;
चा_हांग3++;
चा_ली2++;
// मेमसेट (RX3_BUF, 0,7);
color_buf = साफ़;
}
तोड़;
केस बटन9:
अगर ((r_flag1 == 0)&&(MNG_USART1.RX_BUF [14] == 0x02))
{
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image10\",\"image\":\"circle\ "}>ईटी");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
r_flag1 = 1;
क्वान_हैंग3++;
क्वान_ली 3++;
क्वान_यौक्सिया++;
// मेमसेट (RX3_BUF, 0,7);
color_buf = साफ़;
}
और अगर ((r_flag1 == 1)&&(MNG_USART1.RX_BUF [14] == 0x02))
{
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image10\",\"image\":\"x\ "}>ईटी");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
r_flag1 = 0;
चा_हांग3++;
चा_ली3++;
चा_यौक्सिया++;
// मेमसेट (RX3_BUF, 0,7);
color_buf = साफ़;
}
तोड़;
केस बटन0:
r_flag1 = 0;
quan_hang1=quan_hang2=quan_hang3=cha_hang1=cha_hang2=cha_hang3=0;
quan_lie1=quan_lie2=quan_lie3=cha_lie1=cha_lie2=cha_lie3=0;
क्वान_ज़ुओक्सिया = क्वान_यूक्सिया = चा_ज़ुओक्सिया = चा_यौक्सिया = 0;
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image2\",\"image\":\"bai\ "}>ईटी");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image3\",\"image\":\"bai\ "}>ईटी");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image4\",\"image\":\"bai\ "}>ईटी");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image5\",\"image\":\"bai\ "}>ईटी");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image6\",\"image\":\"bai\ "}>ईटी");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image7\",\"image\":\"bai\ "}>ईटी");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image8\",\"image\":\"bai\ "}>ईटी");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image9\",\"image\":\"bai\ "}>ईटी");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image10\",\"image\":\"bai\ "}>ईटी");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_visible\",\"type\":\"widget\",\"widget\":\"gif4\",\"visible\":false}>ET ");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_visible\",\"type\":\"widget\",\"widget\":\"gif5\",\"visible\":false}>ET ");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_visible\",\"type\":\"widget\",\"widget\":\"gif6\",\"visible\":false}>ET ");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_visible\",\"type\":\"widget\",\"widget\":\"gif7\",\"visible\":false}>ET ");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_visible\",\"type\":\"widget\",\"widget\":\"gif8\",\"visible\":false}>ET ");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_visible\",\"type\":\"widget\",\"widget\":\"gif9\",\"visible\":false}>ET ");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_visible\",\"type\":\"widget\",\"widget\":\"gif10\",\"visible\":false}>ET ");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_visible\",\"type\":\"widget\",\"widget\":\"gif11\",\"visible\":false}>ET ");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
// मेमसेट (RX3_BUF, 0,7);
मेमसेट (MNG_USART1.RX_BUF,0,USART1_RX_LEN);
तोड़;
चूक:
MNG_USART1.RX_OVER_FLG = गलत;
तोड़;
}
////////////////////////////////////////////// //////////////////
अगर((quan_hang1==3)||(cha_hang1==3))
{
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_visible\",\"type\":\"widget\",\"widget\":\"gif4\",\"visible\":true}>ET ");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
quan_hang1=quan_hang2=quan_hang3=cha_hang1=cha_hang2=cha_hang3=0;
quan_lie1=quan_lie2=quan_lie3=cha_lie1=cha_lie2=cha_lie3=0;
क्वान_ज़ुओक्सिया = क्वान_यूक्सिया = चा_ज़ुओक्सिया = चा_यौक्सिया = 0;
}
और अगर ((quan_hang2==3)||(cha_hang2==3))
{
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_visible\",\"type\":\"widget\",\"widget\":\"gif5\",\"visible\":true}>ET ");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
quan_hang1=quan_hang2=quan_hang3=cha_hang1=cha_hang2=cha_hang3=0;
quan_lie1=quan_lie2=quan_lie3=cha_lie1=cha_lie2=cha_lie3=0;
क्वान_ज़ुओक्सिया = क्वान_यूक्सिया = चा_ज़ुओक्सिया = चा_यौक्सिया = 0;
}
और अगर ((quan_hang3==3)||(cha_hang3==3))
{
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_visible\",\"type\":\"widget\",\"widget\":\"gif6\",\"visible\":true}>ET ");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
quan_hang1=quan_hang2=quan_hang3=cha_hang1=cha_hang2=cha_hang3=0;
quan_lie1=quan_lie2=quan_lie3=cha_lie1=cha_lie2=cha_lie3=0;
क्वान_ज़ुओक्सिया = क्वान_यूक्सिया = चा_ज़ुओक्सिया = चा_यौक्सिया = 0;
}
और अगर ((quan_lie1==3)||(cha_lie1==3))
{
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_visible\",\"type\":\"widget\",\"widget\":\"gif7\",\"visible\":true}>ET ");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
quan_hang1=quan_hang2=quan_hang3=cha_hang1=cha_hang2=cha_hang3=0;
quan_lie1=quan_lie2=quan_lie3=cha_lie1=cha_lie2=cha_lie3=0;
क्वान_ज़ुओक्सिया = क्वान_यूक्सिया = चा_ज़ुओक्सिया = चा_यौक्सिया = 0;
}
और अगर ((quan_lie2==3)||(cha_lie2==3))
{
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_visible\",\"type\":\"widget\",\"widget\":\"gif8\",\"visible\":true}>ET ");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
quan_hang1=quan_hang2=quan_hang3=cha_hang1=cha_hang2=cha_hang3=0;
quan_lie1=quan_lie2=quan_lie3=cha_lie1=cha_lie2=cha_lie3=0;
क्वान_ज़ुओक्सिया = क्वान_यूक्सिया = चा_ज़ुओक्सिया = चा_यौक्सिया = 0;
}
और अगर ((quan_lie3==3)||(cha_lie3==3))
{
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_visible\",\"type\":\"widget\",\"widget\":\"gif9\",\"visible\":true}>ET ");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
quan_hang1=quan_hang2=quan_hang3=cha_hang1=cha_hang2=cha_hang3=0;
quan_lie1=quan_lie2=quan_lie3=cha_lie1=cha_lie2=cha_lie3=0;
क्वान_ज़ुओक्सिया = क्वान_यूक्सिया = चा_ज़ुओक्सिया = चा_यौक्सिया = 0;
}
और अगर((quan_zuoxia==3)||(cha_zuoxia==3))
{
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_visible\",\"type\":\"widget\",\"widget\":\"gif11\",\"visible\":true}>ET ");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
quan_hang1=quan_hang2=quan_hang3=cha_hang1=cha_hang2=cha_hang3=0;
quan_lie1=quan_lie2=quan_lie3=cha_lie1=cha_lie2=cha_lie3=0;
क्वान_ज़ुओक्सिया = क्वान_यूक्सिया = चा_ज़ुओक्सिया = चा_यौक्सिया = 0;
}
और अगर((quan_youxia==3)||(cha_youxia==3))
{
मेमसेट (MNG_USART1.TX_BUF,0,USART1_TX_LEN);
स्प्रिंटफ ((चार *) MNG_USART1.TX_BUF,
"ST<{\"cmd_code\":\"set_visible\",\"type\":\"widget\",\"widget\":\"gif10\",\"visible\":true}>ET ");
MNG_USART1.TX_Byte_Num = strlen ((स्थिरांक चार *) MNG_USART1.TX_BUF);
USART_TX_डेटा (MNG_USART1);
quan_hang1=quan_hang2=quan_hang3=cha_hang1=cha_hang2=cha_hang3=0;
quan_lie1=quan_lie2=quan_lie3=cha_lie1=cha_lie2=cha_lie3=0;
क्वान_ज़ुओक्सिया = क्वान_यूक्सिया = चा_ज़ुओक्सिया = चा_यौक्सिया = 0;
}
MNG_USART1.RX_OVER_FLG = गलत;
}
}
}
/** सिस्टम क्लॉक कॉन्फ़िगरेशन
*/
शून्य SystemClock_Config (शून्य)
{
RCC_OscInitTypeDef RCC_OscInitStruct;
RCC_ClkInitTypeDef RCC_ClkInitStruct;
RCC_PeriphCLKInitTypeDef PeriphClkInit;
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
RCC_OscInitStruct.HSICअंशांकन मान = 16;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLL स्रोत = RCC_PLLSOURCE_HSI;
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL12;
RCC_OscInitStruct.PLL.PREDIV = RCC_PREDIV_DIV1;
अगर (HAL_RCC_OscConfig(&RCC_OscInitStruct)!= HAL_OK)
{
Error_Handler ();
}
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|RCC_CLOCKTYPE_PCLK1;
RCC_ClkInitStruct.SYSCLKस्रोत = RCC_SYSCLKSOURCE_PLLCLK;
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
अगर (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1)!= HAL_OK)
{
Error_Handler ();
}
PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_USART1;
PeriphClkInit.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK1;
अगर (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit)!= HAL_OK)
{
Error_Handler ();
}
HAL_SYSTICK_Config (HAL_RCC_GetHCLKFreq ()/1000);
HAL_SYSTICK_CLKSourceConfig (SYSTICK_CLKSOURCE_HCLK);
/* SysTick_IRQn इंटरप्ट कॉन्फ़िगरेशन */
HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);
}
/** पिनआउट कॉन्फ़िगरेशन
*/
स्थिर शून्य MX_GPIO_Init (शून्य)
{
GPIO_InitTypeDef GPIO_InitStruct;
/* GPIO पोर्ट्स क्लॉक सक्षम करें */
__HAL_RCC_GPIOA_CLK_ENABLE ();
GPIO_InitStruct.Pin = GPIO_PIN_7;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_PULLDOWN;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
HAL_GPIO_Init (GPIOA, और GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_4;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_PULLUP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
HAL_GPIO_Init (GPIOA, और GPIO_InitStruct);
}
/* प्रयोक्ता कोड प्रारंभ 4 */
/* उपयोगकर्ता कोड समाप्ति 4 */
/ **
* @brief त्रुटि होने की स्थिति में यह फ़ंक्शन निष्पादित किया जाता है।
*@परम कोई नहीं
* @retval कोई नहीं
*/
शून्य त्रुटि_हैंडलर (शून्य)
{
/* यूजर कोड BEGIN Error_Handler */
/* उपयोगकर्ता एचएएल त्रुटि वापसी स्थिति की रिपोर्ट करने के लिए अपना स्वयं का कार्यान्वयन जोड़ सकते हैं */
जबकि (1)
{
}
/* उपयोगकर्ता कोड अंत Error_Handler */
}
#ifdef USE_FULL_ASSERT
/ **
* @ ब्रीफ स्रोत फ़ाइल के नाम और स्रोत लाइन नंबर की रिपोर्ट करता है
* जहां assert_param त्रुटि हुई है।
* @param फ़ाइल: स्रोत फ़ाइल नाम का सूचक
* @परम लाइन: assert_param एरर लाइन सोर्स नंबर
* @retval कोई नहीं
*/
शून्य मुखर_विफल (uint8_t* फ़ाइल, uint32_t पंक्ति)
{
/* प्रयोक्ता कोड प्रारंभ 6 */
/* उपयोगकर्ता फ़ाइल नाम और लाइन नंबर की रिपोर्ट करने के लिए अपना स्वयं का कार्यान्वयन जोड़ सकता है,
उदाहरण के लिए: प्रिंटफ ("गलत पैरामीटर मान: फ़ाइल% s ऑन लाइन% d \ r \ n", फ़ाइल, लाइन) * /
/* उपयोगकर्ता कोड समाप्ति 6 */
}
#endif
/ **
*@}
*/
/ **
*@}
*/
/********** (सी) कॉपीराइट STMicroelectronics ***** फ़ाइल का अंत ****/
अंतिम परिणाम दिखाएँ
स्रोत: प्लेटो डेटा इंटेलिजेंस