- I2C தொடர்பு நெறிமுறை என்றால் என்ன?
- I2C தொடர்பு எவ்வாறு செயல்படுகிறது?
- I2C தகவல்தொடர்பு எங்கே பயன்படுத்துவது?
- XC8 கம்பைலரைப் பயன்படுத்தி PIC16F877a உடன் I2C
- I2C தலைப்பு கோப்புகளைப் பயன்படுத்தி நிரலாக்க:
- புரோட்டஸ் சிமுலேஷன்:
பி.ஐ.சி மைக்ரோகண்ட்ரோலர்கள் உட்பொதிக்கப்பட்ட திட்டங்களுக்கு மைக்ரோசிப் வழங்கிய ஒரு சக்திவாய்ந்த தளமாகும், அதன் பல்துறை இயல்பு பல பயன்பாடுகளுக்கான வழிகளைக் கண்டறிய அதை உருவாக்கியுள்ளது மற்றும் கட்டம் இன்னும் நடந்து கொண்டிருக்கிறது. நீங்கள் எங்கள் பி.ஐ.சி பயிற்சிகளைப் பின்தொடர்ந்திருந்தால், பி.ஐ.சி மைக்ரோகண்ட்ரோலரில் பல அடிப்படைப் பயிற்சிகளை நாங்கள் ஏற்கனவே உள்ளடக்கியுள்ளதை நீங்கள் கவனித்திருப்பீர்கள். இப்போதிலிருந்து, தகவல்தொடர்பு போர்டல் போன்ற சுவாரஸ்யமான விஷயங்களில் நாம் பெறக்கூடிய அடிப்படைகளை நாங்கள் உள்ளடக்கியுள்ளோம்.
உட்பொதிக்கப்பட்ட பயன்பாடுகளின் பரந்த அமைப்பில், எந்த மைக்ரோகண்ட்ரோலரும் அனைத்து நடவடிக்கைகளையும் தானாகவே செய்ய முடியாது. சில கட்டங்களில் தகவல்களைப் பகிர மற்ற சாதனங்களுடன் தொடர்பு கொள்ள வேண்டும், இந்த தகவல்களைப் பகிர்ந்து கொள்ள பல்வேறு வகையான தகவல் தொடர்பு நெறிமுறைகள் உள்ளன, ஆனால் அதிகம் பயன்படுத்தப்பட்டவை USART, IIC, SPI மற்றும் CAN. ஒவ்வொரு தகவல்தொடர்பு நெறிமுறையும் அதன் சொந்த நன்மை மற்றும் தீமைகளைக் கொண்டுள்ளது. இப்போதே ஐ.ஐ.சி பகுதியில் கவனம் செலுத்துவோம், ஏனெனில் இந்த டுடோரியலில் நாம் கற்றுக்கொள்ளப் போகிறோம்.
I2C தொடர்பு நெறிமுறை என்றால் என்ன?
ஐ.ஐ.சி என்ற சொல் “ இன்டர் ஒருங்கிணைந்த சுற்றுகள் ” என்பதைக் குறிக்கிறது. இது பொதுவாக I2C அல்லது I ஸ்கொயர் சி அல்லது சில இடங்களில் 2-கம்பி இடைமுக நெறிமுறை (TWI) என குறிக்கப்படுகிறது, ஆனால் இவை அனைத்தும் ஒரே மாதிரியானவை. I2C என்பது ஒரு ஒத்திசைவான தகவல் தொடர்பு நெறிமுறை, தகவல்களைப் பகிரும் இரண்டு சாதனங்களும் பொதுவான கடிகார சமிக்ஞையைப் பகிர்ந்து கொள்ள வேண்டும். தகவல்களைப் பகிர இரண்டு கம்பிகள் மட்டுமே உள்ளன, அவற்றில் ஒன்று சேவல் சிக்னலுக்காகவும் மற்றொன்று தரவை அனுப்புவதற்கும் பெறுவதற்கும் பயன்படுத்தப்படுகிறது.
I2C தொடர்பு எவ்வாறு செயல்படுகிறது?
I2C தொடர்பு முதலில் பிலிப்ஸால் அறிமுகப்படுத்தப்பட்டது. முன்பு சொன்னது போல இரண்டு கம்பிகள் உள்ளன, இந்த இரண்டு கம்பிகளும் இரண்டு சாதனங்களில் இணைக்கப்படும். இங்கே ஒரு சாதனம் மாஸ்டர் என்றும் மற்ற சாதனம் அடிமை என்றும் அழைக்கப்படுகிறது. ஒரு மாஸ்டர் மற்றும் ஒரு அடிமை இருவருக்கும் இடையில் தொடர்பு இருக்க வேண்டும். I2C தகவல்தொடர்புகளின் நன்மை என்னவென்றால், ஒன்றுக்கு மேற்பட்ட அடிமைகளை ஒரு மாஸ்டருடன் இணைக்க முடியும்.

சீரியல் கடிகாரம் (எஸ்சிஎல்) மற்றும் சீரியல் டேட்டா (எஸ்.டி.ஏ) ஆகிய இரண்டு கம்பிகள் வழியாக முழுமையான தொடர்பு நடைபெறுகிறது.
சீரியல் கடிகாரம் (எஸ்சிஎல்): எஜமானரால் உருவாக்கப்பட்ட கடிகார சமிக்ஞையை அடிமையுடன் பகிர்ந்து கொள்கிறது
சீரியல் டேட்டா (எஸ்.டி.ஏ): மாஸ்டர் மற்றும் அடிமைக்கு இடையில் இருந்து தரவை அனுப்புகிறது.
எந்த நேரத்திலும் மாஸ்டர் மட்டுமே தகவல்தொடர்புகளைத் தொடங்க முடியும். பஸ்ஸில் ஒன்றுக்கு மேற்பட்ட அடிமைகள் இருப்பதால், மாஸ்டர் ஒவ்வொரு அடிமையையும் வேறு முகவரியைப் பயன்படுத்தி குறிப்பிட வேண்டும். அந்த குறிப்பிட்ட முகவரியுடன் கூடிய சால்வை மட்டுமே உரையாற்றும்போது, மற்றவர்கள் வெளியேறும்போது தகவலுடன் பதிலளிப்பார்கள். இந்த வழியில் பல சாதனங்களுடன் தொடர்பு கொள்ள ஒரே பஸ்ஸைப் பயன்படுத்தலாம்.
I2C தகவல்தொடர்பு எங்கே பயன்படுத்துவது?
I2C தொடர்பு குறுகிய தூர தொடர்புக்கு மட்டுமே பயன்படுத்தப்படுகிறது. இது ஸ்மார்ட் செய்ய ஒத்திசைக்கப்பட்ட கடிகார துடிப்பு இருப்பதால் இது நிச்சயமாக ஒரு அளவிற்கு நம்பகமானது. இந்த நெறிமுறை முக்கியமாக சென்சார் அல்லது பிற சாதனங்களுடன் தொடர்பு கொள்ள பயன்படுகிறது, இது ஒரு மாஸ்டருக்கு தகவலை அனுப்ப வேண்டும். ஒரு மைக்ரோகண்ட்ரோலர் குறைந்தபட்சம் பல கம்பிகளைப் பயன்படுத்தி பல அடிமை தொகுதிகளுடன் தொடர்பு கொள்ளும்போது இது மிகவும் எளிது. நீங்கள் ஒரு நீண்ட தூர தகவல்தொடர்பு தேடுகிறீர்களானால், நீங்கள் RS232 ஐ முயற்சிக்க வேண்டும், மேலும் நம்பகமான தகவல்தொடர்பு தேடுகிறீர்கள் என்றால் நீங்கள் SPI நெறிமுறையை முயற்சிக்க வேண்டும்.
XC8 கம்பைலரைப் பயன்படுத்தி PIC16F877a உடன் I2C
அறிமுகங்கள் போதும், அதில் நுழைந்து I2C தகவல்தொடர்பு செய்வதற்கு மைக்ரோகண்ட்ரோலரை எவ்வாறு பயன்படுத்தலாம் என்பதை அறியலாம். இந்த டுடோரியல் XC8 கம்பைலரைப் பயன்படுத்தி PIC16F877a இல் I2C ஐப் பற்றி மட்டுமே பேசுகிறது என்பதைத் தெளிவுபடுத்துவதற்கு முன்பு, இந்த செயல்முறை மற்ற மைக்ரோகண்ட்ரோலர்களுக்கும் ஒரே மாதிரியாக இருக்கும், ஆனால் சிறிய மாற்றங்கள் தேவைப்படலாம். PIC18F தொடர் போன்ற மேம்பட்ட மைக்ரோகண்ட்ரோலர்களுக்கு, கம்பைலரில் I2C அம்சங்களைப் பயன்படுத்த சில நூலகங்கள் கட்டமைக்கப்பட்டிருக்கலாம் என்பதையும் நினைவில் கொள்ளுங்கள், ஆனால் PIC16F877A க்கு இதுபோன்ற எதுவும் இல்லை, எனவே ஒன்றை நம் சொந்தமாக உருவாக்குவோம். இங்கே விளக்கப்பட்டுள்ள நூலகம் கீழே பதிவிறக்குவதற்கான தலைப்பு கோப்பாக வழங்கப்படும், இது மற்ற I2C சாதனங்களுடன் தொடர்பு கொள்ள PIC16F877A க்கு பயன்படுத்தப்படலாம்.
எப்போதும் போல எதையும் தொடங்க சிறந்த இடம் எங்கள் தரவுத்தாள். தரவுத்தாள் இல் I2C பற்றிய விவரங்களைத் தேடுங்கள் மற்றும் எந்த பதிவேடுகளை உள்ளமைக்க வேண்டும் என்பதை சரிபார்க்கவும். தரவுத்தாள் உங்களுக்காக ஏற்கனவே செய்துள்ளதால் நான் விவரங்களை விளக்கப் போவதில்லை. மேலும் கீழே நான் தலைப்பு கோப்பில் உள்ள வெவ்வேறு செயல்பாடுகளையும் நிரலில் அவற்றின் பொறுப்பையும் விளக்கப் போகிறேன்.
I2C_Initialize () ஐ வெற்றிடமாக்கு
I2C நெறிமுறையைப் பயன்படுத்தப் போகிறோம் என்று மைக்ரோகண்ட்ரோலரிடம் சொல்ல துவக்க செயல்பாடு பயன்படுத்தப்படுகிறது. SSPCON மற்றும் SSPCON2 பதிவேட்டில் தேவையான பிட்களை அமைப்பதன் மூலம் இதைச் செய்யலாம். முதல் கட்டமாக ஐ.ஐ.சி ஊசிகளை உள்ளீட்டு ஊசிகளாக அறிவிக்க வேண்டும், இங்கே ஊசிகளை ஆர்.சி 3 மற்றும் ஆர்.சி 4 ஐ 2 சி தகவல்தொடர்புக்கு பயன்படுத்த வேண்டும், எனவே அவற்றை உள்ளீட்டு ஊசிகளாக அறிவிக்கிறோம். அடுத்து நாம் ஒரு MSSP கட்டுப்பாட்டு பதிவேடுகளான SSPCON மற்றும் SSPCON2 ஐ அமைக்க வேண்டும். FOSC / (4 * (SSPADD + 1)) கடிகார அதிர்வெண் மூலம் IIC மாஸ்டர் பயன்முறையில் PIC ஐ இயக்குகிறோம். குறிப்பிட்ட பதிவேடு ஏன் அவ்வாறு அமைக்கப்பட்டுள்ளது என்பதைப் புரிந்துகொள்ள கீழேயுள்ள கருத்து வரிகளில் குறிப்பிடப்பட்டுள்ள தரவுத்தாள் பக்க எண்களைப் பார்க்கவும்.
எனவே அடுத்ததாக நாம் கடிகார அதிர்வெண்ணை அமைக்க வேண்டும், வெவ்வேறு பயன்பாடுகளுக்கான கடிகார அதிர்வெண் மாறுபடலாம், எனவே பயனரிடமிருந்து தேர்வை மாறி feq_k மூலம் பெற்று SSPADD பதிவேட்டை அமைக்க எங்கள் சூத்திரங்களில் பயன்படுத்துகிறோம்.
வெற்றிட I2C_Initialize (const unsigned long feq_K) // IIC ஐ மாஸ்டராகத் தொடங்குங்கள் { TRISC3 = 1; TRISC4 = 1; // எஸ்.டி.ஏ மற்றும் எஸ்.சி.எல் ஊசிகளை உள்ளீட்டு ஊசிகளாக அமைக்கவும் SSPCON = 0b00101000; // pg84 / 234 SSPCON2 = 0b00000000; // pg85 / 234 SSPADD = (_XTAL_FREQ / (4 * feq_K * 100%)) - 1; // கடிகார வேகத்தை அமைத்தல் pg99 / 234 SSPSTAT = 0b00000000; // pg83 / 234 }
I2C_Hold () ஐ ரத்துசெய்
அடுத்த முக்கியமான செயல்பாடு I2C_hold செயல்பாடு ஆகும், இது தற்போதைய I2C செயல்பாடு முடியும் வரை சாதனத்தின் செயல்பாட்டை வைத்திருக்க பயன்படுகிறது. ஏதேனும் புதிய செயல்பாட்டைத் தொடங்குவதற்கு முன் I2C செயல்பாடுகள் நடத்தப்பட வேண்டுமா என்பதை நாங்கள் சரிபார்க்க வேண்டும். SSPSTAT மற்றும் SSPCON2 பதிவேட்டை சரிபார்த்து இதைச் செய்யலாம். SSPSTAT இல் I2C பஸ்ஸின் நிலை குறித்த தகவல்கள் உள்ளன.
நிரல் ஒரு “மற்றும்” மற்றும் “அல்லது” ஆபரேட்டரை உள்ளடக்கியிருப்பதால் சற்று சிக்கலானதாகத் தோன்றலாம். நீங்கள் அதை உடைக்கும்போது
SSPSTAT & 0b00000100 SSPCON2 & 0b00011111
அது நாம் என்பதே இதன் அர்த்தமாகும் 2 என்பதை உறுதி செய்யும் வது 0 4 இருந்து SSPCON2 மீது பூஜ்யம் ஆகும் SSPSTAT மீது பிட் பூஜ்யம் மற்றும் இதேபோல் பிட்டுகள் ஆகும். இதன் விளைவாக பூஜ்ஜியம் என்பதை சரிபார்க்க இவை அனைத்தையும் இணைக்கிறோம். முடிவு பூஜ்ஜியமாக இருந்தால், நிரல் தொடரும், இல்லையெனில் அது பூஜ்ஜியமாக இருக்கும் வரை சிறிது நேரம் வளையத்தில் பயன்படுத்தப்படுகிறது.
I2C_Hold () { போது ((SSPCON2 & 0b00011111) - (SSPSTAT & 0b00000100)); // ஐ.ஐ.சி செயல்படவில்லை என்பதை உறுதிப்படுத்த இதை பதிவேட்டில் சரிபார்க்கவும் }
I2C_Begin () மற்றும் I2C_End () ஐ வெற்றிடமாக்கு
ஒவ்வொரு முறையும் I2C பஸ்ஸைப் பயன்படுத்தி எந்த தரவையும் எழுதும்போது அல்லது படிக்கும்போது நாம் தொடங்க வேண்டும் மற்றும் I2C இணைப்பை முடிக்க வேண்டும். ஒரு I2C தகவல்தொடர்பு தொடங்க நாம் SEN பிட்டை அமைக்க வேண்டும் மற்றும் தகவல்தொடர்புகளை முடிக்க நாம் PEN நிலை பிட்டை அமைக்க வேண்டும். இந்த பிட்களில் ஏதேனும் ஒன்றை மாற்றுவதற்கு முன், மேலே விவாதிக்கப்பட்டபடி I2C_Hold செயல்பாட்டைப் பயன்படுத்தி I2C பஸ் பிஸியாக இருக்கிறதா என்பதையும் சரிபார்க்க வேண்டும்.
வெற்றிட I2C_Begin () { I2C_Hold (); // நிரலை நிறுத்து I2C பிஸியாக உள்ளது SEN = 1; // IIC ஐத் தொடங்கு pg85 / 234 } வெற்றிட I2C_End () { I2C_Hold (); // நிரலை நிறுத்து I2C பிஸியாக உள்ளது PEN = 1; // முடிவு IIC pg85 / 234 }
I2C_Write () ஐ ரத்துசெய்
மாஸ்டர் தொகுதியிலிருந்து எந்தவொரு தரவையும் சால்வ் தொகுதிக்கு அனுப்ப எழுத்து செயல்பாடு பயன்படுத்தப்படுகிறது. இந்த செயல்பாடு பொதுவாக I2C தொடக்க செயல்பாட்டிற்குப் பிறகு பயன்படுத்தப்படுகிறது, அதைத் தொடர்ந்து I2C முடிவு செயல்பாடு உள்ளது. ஐ.ஐ.சி பஸ்ஸில் எழுதப்பட வேண்டிய தரவு மாறி தரவு வழியாக அனுப்பப்படுகிறது. இந்தத் தரவு பின்னர் I2C பஸ் வழியாக அனுப்ப SSPBUF இடையக பதிவேட்டில் ஏற்றப்படுகிறது.
பொதுவாக ஒரு தரவை எழுதுவதற்கு முன்பு ஒரு முகவரி எழுதப்படும், எனவே நீங்கள் இரண்டு முறை எழுதும் செயல்பாட்டைப் பயன்படுத்த வேண்டும், ஒரு முறை முகவரியை அமைப்பதற்கும் மற்ற நேரம் உண்மையான தரவை அனுப்புவதற்கும்.
வெற்றிட I2C_Write (கையொப்பமிடாத தரவு) { I2C_Hold (); // நிரலை நிறுத்து I2C பிஸியாக உள்ளது SSPBUF = தரவு; // pg82 / 234 }
கையொப்பமிடாத குறுகிய I2C_Read ()
நாம் தெரிந்து கொள்ள வேண்டிய இறுதி செயல்பாடு I2C_Read செயல்பாடு. இந்த செயல்பாடு தற்போது I2C பஸ்ஸில் உள்ள தரவைப் படிக்க பயன்படுகிறது. பஸ்ஸில் சில மதிப்பை எழுத ஒரு அடிமையைக் கேட்ட பிறகு இது பயன்படுத்தப்படுகிறது. பெறப்பட்ட மதிப்பு SSPBUF இல் இருக்கும், அந்த மதிப்பை எங்கள் செயல்பாட்டிற்கான எந்த மாறிக்கும் மாற்றலாம்.
ஒரு I2C தகவல்தொடர்புகளின் போது, மாஸ்டர் கோரிய தரவை அனுப்பிய பின் அடிமை மற்றொரு பிட்டை அனுப்பும், இது ஒப்புதல் பிட் ஆகும், இந்த பிட் மாஸ்டரால் சரிபார்க்கப்பட வேண்டும். ஒப்புதலுக்காக ACKDT பிட்டைச் சரிபார்த்த பிறகு, ACKEN பிட்டை அமைப்பதன் மூலம் அதை இயக்க வேண்டும்.
கையொப்பமிடாத குறுகிய I2C_Read (கையொப்பமிடாத குறுகிய அக்) { கையொப்பமிடாத குறுகிய உள்வரும்; I2C_ ஹோல்ட் (); ஆர்.சி.என் = 1; I2C_ ஹோல்ட் (); உள்வரும் = SSPBUF; // SSPBUF I2C_Hold () இல் சேமிக்கப்பட்ட தரவைப் பெறுங்கள்; ACKDT = (அக்)? 0: 1; // அக் பிட் ACKEN = 1 ஐப் பெற்றதா என சரிபார்க்கவும் ; // பக் 85/234 வருவாய் உள்வரும்; }
அதாவது, இந்த செயல்பாடுகள் ஒரு I2C தகவல்தொடர்பு அமைக்க மற்றும் ஒரு சாதனத்திலிருந்து தரவை எழுத அல்லது படிக்க போதுமானதாக இருக்க வேண்டும். I2C தகவல்தொடர்பு செய்யக்கூடிய பல செயல்பாடுகள் உள்ளன என்பதையும் கவனத்தில் கொள்க, ஆனால் எளிமைக்காக நாங்கள் அவற்றை இங்கு விவாதிக்கவில்லை. இன் முழுமையான செயல்பாட்டை அறிய நீங்கள் எப்போதும் தரவுத்தாள் ஒன்றைப் பார்க்கலாம்
PIC16F877A I2C தகவல்தொடர்புக்கான தலைப்பு கோப்பைக் கொண்ட முழுமையான குறியீட்டை இணைப்பிலிருந்து பதிவிறக்கம் செய்யலாம்.
I2C தலைப்பு கோப்புகளைப் பயன்படுத்தி நிரலாக்க:
இப்போது ஒரு I2C தகவல்தொடர்பு எவ்வாறு இயங்குகிறது என்பதையும், அதற்காக உருவாக்கப்பட்ட தலைப்பு கோப்பை எவ்வாறு பயன்படுத்தலாம் என்பதையும் கற்றுக் கொண்டோம், ஒரு எளிய நிரலை உருவாக்குவோம், அதில் நாம் தலைப்பு கோப்பைப் பயன்படுத்துவோம் மற்றும் I2C வரிகளுக்கு சில மதிப்புகளை எழுதுவோம். நாங்கள் இந்த நிரலை உருவகப்படுத்தி, இந்த மதிப்புகள் பஸ்ஸில் எழுதப்படுகிறதா என்று சரிபார்க்கிறோம்.
எப்போதும் போல நிரல் கட்டமைப்பு பிட்களை அமைப்பதன் மூலமும், கடிகார அதிர்வெண்ணை 20 மெகா ஹெர்ட்ஸாக அமைப்பதிலும் தொடங்குகிறது
#pragma config FOSC = HS // ஆஸிலேட்டர் தேர்வு பிட்கள் (HS ஆஸிலேட்டர்) # ப்ராக்மா கட்டமைப்பு WDTE = OFF // வாட்ச் டாக் டைமர் பிட் இயக்கு (WDT முடக்கப்பட்டது) #pragma config PWRTE = ON // பவர்-அப் டைமர் பிட் (PWRT இயக்கப்பட்டது) # Pragma கட்டமைப்பு Boren = மீது // பிரவுன்-அவுட் மீட்டமை பிட் இயக்கு (BOR செயல்படுத்தப்படும்) #pragma கட்டமைப்பு LVP = நிறுத்தவும் // குறைந்த மின்னழுத்த (ஒற்றை-சப்ளை) உள்-சுற்று சீரியல் புரோகிராமிங் பிட் இயக்கு (RB3 டிஜிட்டல் I / O, மீது HV உள்ளது MCLR நிரலாக்கத்திற்காக பயன்படுத்தப்பட வேண்டும்) #pragma கட்டமைப்பு CPD = நிறுத்தவும் // தரவு EEPROM நினைவகத்தின் குறியீடு பாதுகாப்பு (தரவு செய்யப்பட்ட EEPROM- குறியீட்டுப் பாதுகாப்பு ஆஃப்) கடித்தார் அனைத்து நிரல் நினைவகம்; #pragma கட்டமைப்பு wrt யை = நிறுத்தவும் // ஃப்ளாஷ் திட்டம் நினைவகம் எழுது ஆஃப் பிட்கள் (எழுது பாதுகாப்பை இயக்கு EECON கட்டுப்பாட்டால் எழுதப்படலாம்) #pragma config CP = OFF // ஃப்ளாஷ் நிரல் நினைவக குறியீடு பாதுகாப்பு பிட் (குறியீடு பாதுகாப்பு முடக்கப்பட்டுள்ளது) # _XTAL_FREQ 20000000 ஐ வரையறுக்கவும்
அடுத்த கட்டமாக நாம் இப்போது விவாதித்த தலைப்பு கோப்பைச் சேர்க்க வேண்டும். தலைப்பு கோப்பு PIC16F877a_I2C.h என பெயரிடப்பட்டுள்ளது, மேலும் நாம் மேலே விவாதித்த இணைப்பிலிருந்து பதிவிறக்கம் செய்யலாம். உங்கள் திட்ட பட்டியலின் தலைப்பு கோப்பில் தலைப்பு கோப்பு சேர்க்கப்பட்டுள்ளதா என்பதை உறுதிப்படுத்திக் கொள்ளுங்கள், உங்கள் திட்ட கோப்பு அமைப்பு இதுபோல் இருக்க வேண்டும்

உங்கள் திட்டக் கோப்பில் தலைப்பு கோப்பு சேர்க்கப்பட்டுள்ளதா என்பதை உறுதிசெய்த பிறகு, முக்கிய சி கோப்பில் தலைப்பு கோப்பை சேர்க்கவும்
#சேர்க்கிறது
உள்ளே போது வளைய நாங்கள் I2C தொடர்பு தொடங்கும் I2C பேருந்திற்கு எழுத சில சீரற்ற மதிப்புகள் பின்னர் I2C தொடர்பு End. நான் தேர்ந்தெடுத்த சீரற்ற மதிப்புகள் D0, 88 மற்றும் FF ஆகும். நீங்கள் விரும்பும் எந்த மதிப்புகளையும் உள்ளிடலாம். ஆனால் அந்த மதிப்புகளை நினைவில் வைத்துக் கொள்ளுங்கள், ஏனெனில் அவற்றை எங்கள் உருவகப்படுத்துதலில் சரிபார்க்கிறோம்.
(1) { I2C_Begin (); I2C_Write (0xD0); I2C_Write (0x88); I2C_Write (0xFF); I2C_End (); __ தாமத_எம்எஸ் (1000); }
முழுமையான நிரல் பக்கத்தின் கீழே காணலாம், நீங்கள் அந்த பயன்படுத்த அல்லது இங்கிருந்து திட்டத்தை முற்றிலும் zip கோப்பு பதிவிறக்கம் செய்து கொள்ளலாம். நிரலைப் பெற்ற பிறகு அதைத் தொகுத்து உருவகப்படுத்துதலுக்குத் தயாராகுங்கள்.
புரோட்டஸ் சிமுலேஷன்:
புரோட்டியஸில் I2C பிழைத்திருத்தம் என்று அழைக்கப்படும் ஒரு நல்ல கருவி உள்ளது, இது I2C பஸ்ஸில் தரவைப் படிக்க பயன்படுகிறது, எனவே அதைப் பயன்படுத்தி ஒரு சுற்று ஒன்றை உருவாக்கி தரவு வெற்றிகரமாக எழுதப்படுகிறதா என்று சரிபார்க்கலாம். முழுமையான சுற்று வரைபடம் கீழே காட்டப்பட்டுள்ளது

மைக்ரோகண்ட்ரோலரில் இருமுறை கிளிக் செய்வதன் மூலம் எங்கள் நிரலால் உருவாக்கப்பட்ட ஹெக்ஸ் கோப்பை ஏற்றவும். பின்னர் நிரலை உருவகப்படுத்துங்கள். I2C பஸ் பற்றிய அனைத்து தகவல்களையும் காண்பிக்கும் ஒரு சாளர பாப் அப் இருப்பதை நீங்கள் காண்பீர்கள். எங்கள் நிரலுக்கான சாளரம் கீழே காட்டப்பட்டுள்ளது.

எழுதப்பட்ட தரவை நீங்கள் கூர்ந்து கவனித்தால், அவை எங்கள் திட்டத்தில் நாங்கள் எழுதியவைதான் என்பதை நீங்கள் கவனிக்கலாம். மதிப்புகள் D0, 88 மற்றும் FF ஆகும். ஒவ்வொரு 1 வினாடிக்கும் மதிப்புகள் எழுதப்படுகின்றன, எனவே கீழே காட்டப்பட்டுள்ளபடி நேரமும் புதுப்பிக்கப்படுகிறது. நீல அம்பு இது எஜமானரிடமிருந்து அடிமைக்கு எழுதப்பட்டிருப்பதைக் குறிக்கிறது, இல்லையெனில் அது எதிர் திசையில் சுட்டிக்காட்டப்படும். அனுப்பப்படும் தரவின் நெருக்கமான பார்வை கீழே காட்டப்பட்டுள்ளது.

இது I2C என்ன செய்ய முடியும் என்பதற்கான ஒரு பார்வை மட்டுமே, இது பல சாதனங்களுக்கு தரவைப் படிக்கவும் எழுதவும் முடியும். I2C நெறிமுறையுடன் செயல்படும் பல்வேறு தொகுதிகளை இடைமுகப்படுத்துவதன் மூலம் எங்கள் வரவிருக்கும் பயிற்சிகளில் I2C பற்றி மேலும் விவரிப்போம்.
நீங்கள் திட்டத்தை புரிந்து கொண்டீர்கள், அதிலிருந்து பயனுள்ள ஒன்றைக் கற்றுக்கொண்டீர்கள் என்று நம்புகிறேன். உங்களுக்கு ஏதேனும் சந்தேகம் இருந்தால் அவற்றை கீழே உள்ள கருத்துப் பிரிவில் இடுங்கள் அல்லது தொழில்நுட்ப உதவிக்கு மன்றங்களைப் பயன்படுத்தவும்.
முழுமையான குறியீடு கீழே கொடுக்கப்பட்டுள்ளது; எல்லா குறியீடுகளையும் கொண்ட தலைப்பு கோப்புகளை இங்கிருந்து பதிவிறக்கம் செய்யலாம்.
