
جادوئي آرڊينو جي مهرباني، مائڪرو اليڪٽرانڪس تازن سالن ۾ هڪ فيشنيبل شوق بڻجي چڪو آهي. پر هتي مسئلو آهي: ڪافي دلچسپي سان، ڊجيٽل رائٽ () کي اڳتي وڌائڻ آسان آهي، ۽ اڳتي ڇا ڪجي اهو مڪمل طور تي واضح ناهي. آرڊينو ڊولپرز پنهنجي ماحولياتي نظام ۾ داخل ٿيڻ جي رڪاوٽ کي گهٽائڻ لاءِ ڪافي ڪوششون ڪيون آهن، پر ان جي سرحدن کان ٻاهر، سخت سرڪٽ ڊيزائن جو هڪ اونداهو ٻيلو اڃا تائين جهولندو آهي، جيڪو شوقين لاءِ ناقابل رسائي آهي.
مثال طور، ڊيٽا شيٽ. انهن وٽ سڀ ڪجهه آهي، بس ان کي پڪڙيو ۽ استعمال ڪريو. پر انهن جا ليکڪ واضح طور تي مائڪرو ڪنٽرولرز کي مشهور ڪرڻ جو مقصد نٿا رکن؛ ڪڏهن ڪڏهن اهو لڳي ٿواهي سادو شين کي بيان ڪرڻ وقت جان بوجھ ڪري غير واضح اصطلاحن ۽ مخففن جو گهڻو استعمال ڪندا آهن، ته جيئن ممڪن حد تائين اڻ ڄاڻ ماڻهن کي پريشان ڪري سگهجي. پر اهو سڀ ڪجهه خراب ناهي؛ جيڪڏهن توهان واقعي چاهيو ٿا، ته راز ڳولي سگهجي ٿو.
هن آرٽيڪل ۾، مان هڪ هيومنٽيز ميجر جي حيثيت سان پنهنجو تجربو شيئر ڪندس جڏهن مان شوق جي مقصدن لاءِ ڊيٽا شيٽ استعمال ڪري رهيو آهيان. هي آرٽيڪل آرڊينو جي شوقينن لاءِ آهي جن پنهنجي آرڊينو صلاحيتن کي اڳتي وڌايو آهي ۽ مائڪرو ڪنٽرولر آپريٽنگ اصولن جي ڪجهه سمجھ کي فرض ڪيو آهي.
مان روايتي سان شروع ڪندس.
آرڊينو تي ايل اي ڊي چمڪائڻ
۽ فوري طور تي ڪوڊ:
void setup() {
DDRB |= (1<<5);
}
void loop() {
PINB = (1<<5);
for (volatile uint32_t k=0; k<100000; k++);
}"هي ڇا آهي؟" هڪ نفيس پڙهندڙ پڇندو. "توهان PINB ان پٽ رجسٽر ۾ ڪجهه ڇو لکي رهيا آهيو؟ اهو صرف پڙهڻ لاءِ آهي!" يقيناً، ، گھڻن آن لائن سبقن وانگر، دعويٰ ڪري ٿو ته هي رجسٽر صرف پڙهڻ لاءِ آهي. مون پاڻ به اهو ئي سوچيو جيستائين مون ان کي ٻيهر نه پڙهيو. هن مضمون کي تيار ڪرڻ وقت Atmega328p ڏانهن. ۽ اتي:

هي هڪ نسبتاً نئين خاصيت آهي؛ اهو Atmega8 تي دستياب نه هو، ۽ جڏهن ته اهو پسمانده مطابقت جي سببن جي ڪري وڏي پيماني تي مشهور يا ذڪر ٿيل نه آهي، اهو ان خيال جو هڪ سٺو مظاهرو آهي ته ڊيٽا شيٽ پڙهڻ جي لائق آهن ته جيئن چپ جي صلاحيتن جو پورو فائدو وٺي سگهجي، جنهن ۾ گهٽ سڃاتل شامل آهن. ۽ اهو واحد سبب ناهي.
ٻيو ڇو توهان کي ڊيٽا شيٽ پڙهڻ گهرجن؟
عام طور تي، آرڊينو جا شوقين، ايل اي ڊي ۽ اينالاگ رائٽس سان کيڏڻ کان پوءِ، مختلف ماڊلز ۽ چپس کي بورڊ سان ڳنڍڻ شروع ڪندا آهن، جن لاءِ اڳ ۾ ئي لکيل لائبريريون موجود آهن. جلد يا دير سان، هڪ لائبريري پاپ اپ ٿيندي آهي جيڪا اميد مطابق ڪم نه ڪندي آهي. پوءِ شوقين ان کي درست ڪرڻ لاءِ ان سان ڇڪتاڻ شروع ڪندو آهي، ۽ پوءِ...
اتي ڪجهه مڪمل طور تي سمجهڻ کان ٻاهر ٿئي ٿو، تنهنڪري توهان کي ان کي گوگل ڪرڻو پوندو، بيشمار سبق پڙهڻا پوندا، ڪنهن ٻئي جي ڪوڊ کي ڦاڙي ڇڏڻو پوندو، ۽ آخرڪار ان کي درست ڪرڻو پوندو. اهو توهان کي ڪاميابي جو هڪ طاقتور احساس ڏئي ٿو، پر حقيقت ۾، اهو عمل موٽرسائيڪل کي ريورس انجنيئرنگ ذريعي ڦيٿي کي ٻيهر ايجاد ڪرڻ جهڙو آهي. ۽ توهان کي سائيڪل ڪيئن ڪم ڪري ٿي ان بابت ڪا به بصيرت حاصل نه ٿيندي. مون کي خبر آهي، ڇاڪاڻ ته مون اهو پاڻ ڪافي وقت تائين ڪيو.
جيڪڏهن مان هن دلچسپ سرگرمي جي بدران Atmega328 دستاويزن جي مطالعي ۾ ڪجهه ڏينهن گذاريان ها، ته مان تمام گهڻو وقت بچائي سگهان ها. آخرڪار، اهو هڪ بلڪل سادو مائڪرو ڪنٽرولر آهي.
تنهن ڪري، گهٽ ۾ گهٽ ڊيٽا شيٽ پڙهڻ ضروري آهي ته جيئن اهو سمجهي سگهجي ته مائڪرو ڪنٽرولر ڪيئن ڪم ڪري ٿو ۽ اهو ڇا ڪري سگهي ٿو. ۽ پڻ:
ٻين ماڻهن جي لائبريرين کي جانچڻ ۽ بهتر ڪرڻ لاءِ. اهي اڪثر ساٿي شوقينن پاران لکيل آهن، ڦيٿي کي ٻيهر ايجاد ڪندي؛ يا، ان جي برعڪس، ليکڪن پاران جيڪي جان بوجھ ڪري انهن کي وڌيڪ تحفظ ڏين ٿا. اهو ٽي ڀيرا وڏو ۽ سست ٿي سگهي ٿو، پر اهو ضرور ڪم ڪندو.
ڪنهن اهڙي منصوبي ۾ چپس استعمال ڪرڻ جي قابل ٿيڻ جنهن لاءِ ڪنهن به لائبريري نه لکي هجي؛
هڪ MK لائن کان ٻئي ڏانهن منتقل ٿيڻ آسان بڻائڻ لاءِ؛
آخرڪار منهنجي پراڻي ڪوڊ کي بهتر ڪرڻ لاءِ، جيڪو صرف Arduino ۾ فٽ نه ٿيو هو؛
ڪنهن به چپ کي سڌو سنئون ان جي رجسٽرن ذريعي ڪنٽرول ڪرڻ سکڻ لاءِ، ان جي لائبريرين جي جوڙجڪ جو مطالعو ڪرڻ جي زحمت ڪرڻ کان سواءِ، جيڪڏهن ڪا موجود آهي.
جڏهن توهان وٽ HAL ۽ LL آهن ته رجسٽرن کي سڌو ڇو لکو؟
ڊڪشنري
ايڇ اي ايل، هاءِ ايبسٽرڪشن ليئر - مائڪرو ڪنٽرولر ڪنٽرول لاءِ هڪ لائبريري جنهن ۾ اعليٰ سطح جي تجريد آهي. جيڪڏهن توهان کي SPI1 انٽرفيس استعمال ڪرڻ جي ضرورت آهي، ته پوءِ صرف SPI1 کي ترتيب ڏيو ۽ فعال ڪريو بغير ڪنهن پريشاني جي ته ڪهڙا رجسٽر ڪهڙي لاءِ ذميوار آهن.
ايل ايل، گهٽ سطح API - هڪ لائبريري جنهن ۾ ميڪرو يا رجسٽر ايڊريس سان ڍانچي شامل آهن، انهن کي نالي سان رسائي جي اجازت ڏئي ٿي. ATMEGA تي DDRx، PORTx، PINx LL آهن.
"HAL، LL، يا رجسٽر" تي بحث باقاعدگي سان Habr تي تبصرن ۾ ٿيندا آهن. نجومي علم تائين رسائي جي دعويٰ ڪرڻ کان سواءِ، مان صرف پنهنجو شوقين تجربو ۽ خيال شيئر ڪندس.
گهٽ ۾ گهٽ ايٽميگا کي سمجهڻ ۽ STM32 جي عجائبات بابت ڪيترائي مضمون پڙهڻ کان پوءِ، مون اڌ درجن مختلف بورڊ خريد ڪيا - ڊسڪوري، بليو پِلز، ۽ ايستائين جو صرف چپس منهنجي DIY منصوبن لاءِ. اهي سڀ ٻن سالن تائين مٽي گڏ ڪندي هڪ دٻي ۾ ويٺا هئا. ڪڏهن ڪڏهن مان پاڻ کي چوندو هوس، "بس، مان هن هفتي جي آخر کان STM ۾ مهارت حاصل ڪري رهيو آهيان،" CubeMX کي فائر ڪريو، هڪ SPI سيٽ اپ ٺاهيو، نتيجي ۾ ٽيڪسٽ جي ڀت کي ڏسو، آزادانه طور تي STM ڪاپي رائيٽ سان ڀريل، ۽ فيصلو ڪيو ته اهو ٿورو گهڻو هو.

اهو يقيني طور تي ممڪن آهي ته هتي ڇا لکيو ويو آهي اهو معلوم ڪيو وڃي. پر اهو پڻ واضح آهي ته سڀني لفظن کي ياد ڪرڻ ۽ پوءِ ان کي هٿ سان لکڻ غير حقيقي آهي. ۽ جيڪڏهن مان غلطي سان ڪيوب ۾ هڪ باڪس چيڪ ڪرڻ وساري ڇڏيان ته ان کي ڊيبگ ڪرڻ هڪ حقيقي تڪليف آهي.
ٻه سال گذري ويا، مان اڃا تائين پنهنجا چپ چاٽي رهيو هوس. هر قسم جي لذيذ چپس تي، پر منهنجي سمجهه ۾ نه ايندڙ، ۽ اتفاقي طور تي ٺوڪر کائي ويو ، جيتوڻيڪ اهو STM8 بابت هجي. ۽ اوچتو مون کي احساس ٿيو ته هن سڄي عرصي دوران مان هڪ کليل دروازي تي دستڪ ڏئي رهيو هوس: STM ۾ رجسٽر ڪنهن ٻئي MC وانگر ترتيب ڏنل آهن، ۽ ڪيوب انهن سان ڪم ڪرڻ لاءِ ضروري ناهي. ڇا اهو ممڪن هو؟
HAL، ۽ خاص طور تي STM32CubeMX، STM32 چپس سان ويجهي ڪم ڪندڙ پيشيور انجنيئرن لاءِ هڪ اوزار آهي. ان جي مکيه خاصيت ان جي تجريدي سطح آهي، جيڪا هڪ MCU کان ٻئي ڏانهن، ۽ هڪ ڪور کان ٻئي ڏانهن به تيز منتقلي جي اجازت ڏئي ٿي، جڏهن ته STM32 خاندان ۾ رهي ٿي. شوقينن کي گهٽ ئي اهڙن ڪمن جو سامنا ٿئي ٿو - اسان جو MCU چونڊ عام طور تي AliExpress تي موجود شين تائين محدود آهي، ۽ اسان اڪثر ڪري مڪمل طور تي مختلف چپس جي وچ ۾ منتقلي ڪندا آهيون - ATMEGA کان STM تائين، STM کان ESP تائين، يا اسان جا چيني دوست اسان تي ڪا به نئين شيءِ اڇلائيندا آهن. HAL هتي مدد نه ڪندو، ۽ ان کي سکڻ گهڻو وقت کائي ويندو.
ايل ايل باقي آهي - پر اتان کان، رجسٽر ڪرڻ لاءِ صرف اڌ قدم آهي. ذاتي طور تي، مون کي رجسٽر ايڊريس سان پنهنجا ميڪرو لکڻ مفيد لڳندو آهي: مان ڊيٽا شيٽ کي وڌيڪ احتياط سان پڙهندو آهيان، غور ڪندو آهيان ته مون کي مستقبل ۾ ڪهڙين شين جي ضرورت پوندي ۽ ڪهڙين شين جي ضرورت نه پوندي، پنهنجن پروگرامن کي بهتر ترتيب ڏيندو آهيان، ۽، عام طور تي، انهن تي قابو پائڻ انهن کي ياد ڪرڻ ۾ مدد ڪندو آهي.
مشهور STM32F103 سان گڏ هڪ احتياط پڻ آهي: ان لاءِ ٻه غير مطابقت رکندڙ LL ورجن آهن، هڪ سرڪاري STM مان، ۽ ٻيو ليف ليبز مان، جيڪو STM32duino پروجيڪٽ ۾ استعمال ٿيندو آهي. جيڪڏهن توهان هڪ اوپن سورس لائبريري لکي رهيا آهيو (۽ مون بلڪل اهو ئي ڪيو) )، توهان کي يا ته ٻه نسخا ٺاهڻا پوندا، يا سڌو سنئون رجسٽرن تائين رسائي حاصل ڪرڻي پوندي.
آخرڪار، منهنجي خيال ۾، LL کي ڇڏڻ سان، لڏپلاڻ آسان ٿي ويندي آهي، خاص طور تي جيڪڏهن توهان منصوبي جي شروعات کان ئي ان تي منصوبابندي ڪري رهيا آهيو. هتي هڪ مبالغہ آميز مثال آهي: اچو ته Atmel اسٽوڊيو ۾ LL کان سواءِ Arduino blink module لکون:
#include <stdint.h>
#define _REG(addr) (*(volatile uint8_t*)(addr))
#define DDR_B 0x24
#define OUT_B 0x25
int main(void)
{
volatile uint32_t k;
_REG(DDR_B) |= (1<<5);
while(1)
{
_REG(OUT_B) |= (1<<5);
for (k=0; k<50000; k++);
_REG(OUT_B) &= ~(1<<5);
for (k=0; k<50000; k++);
}
}هن ڪوڊ کي STM8 (ST Visual Desktop تان) سان چيني بورڊ تي LED کي بلينڪ ڪرڻ لاءِ، توهان کي صرف ٻه پتا تبديل ڪرڻ جي ضرورت آهي:
#define DDR_B 0x5007
#define OUT_B 0x5005ها، مان هڪ مخصوص بورڊ تي هڪ مخصوص LED ڪنيڪشن فيچر استعمال ڪري رهيو آهيان، اهو تمام آهستي چمڪيندو، پر اهو اڃا تائين ڪم ڪندو!
ڪهڙي قسم جا ڊيٽا شيٽ موجود آهن؟
مضمونن ۽ فورمن ۾، روسي ۽ انگريزي ٻنهي ۾، "ڊيٽا شيٽ" چپس لاءِ ڪنهن به ٽيڪنيڪل دستاويز جي حوالي سان استعمال ڪيا ويندا آهن، ۽ مان هن متن ۾ ساڳيو ئي ڪري رهيو آهيان. رسمي طور تي، اهي صرف هڪ قسم جا دستاويز آهن:
ڊيٽا شيٽ - ڪارڪردگي جون خاصيتون، حڪمت عملي ۽ ٽيڪنيڪل خاصيتون. اهي ڪنهن به اليڪٽرانڪ جزو لاءِ لازمي آهن. اهي هٿ ۾ رکڻ لاءِ مفيد حوالن جي معلومات آهن، پر اهي خاص طور تي پڙهڻ جي لائق نه آهن. جڏهن ته، سادو چپس اڪثر ڪري غير ضروري دستاويزن کان بچڻ لاءِ پاڻ کي ڊيٽا شيٽ تائين محدود رکن ٿا؛ هن صورت ۾، حوالو دستي هتي شامل آهي.
حوالو دستي - دستورالعمل پاڻ، 1000 کان وڌيڪ صفحن جو هڪ وڏو ڪتاب. اهو چپ ۾ ڀريل هر شيءِ جي آپريشن کي تفصيل سان بيان ڪري ٿو. اهو مائڪرو ڪنٽرولر ۾ مهارت حاصل ڪرڻ لاءِ اهم دستاويز آهي. برعڪس datasheet، هدايتون MK جي وسيع رينج لاءِ لکيل آهن، انهن ۾ پردي جي باري ۾ تمام گهڻي معلومات آهي جيڪا توهان جي مخصوص ماڊل ۾ غائب آهي.
پروگرامنگ دستور يا هدايتون سيٽ دستياب - منفرد مائڪرو ڪنٽرولر ڪمانڊ لاءِ هدايتون. هي انهن لاءِ آهي جيڪي اسيمبلي ۾ پروگرام ڪندا آهن. ڪمپائلر ليکڪ ان کي ڪوڊ آپٽمائيزيشن لاءِ فعال طور تي استعمال ڪندا آهن، تنهنڪري اسان کي عام طور تي ان جي ضرورت نه پوندي. بهرحال، اهو عام سمجھ لاءِ مفيد آهي، ڪجهه مخصوص ڪمانڊ لاءِ، جهڙوڪ هڪ مداخلت مان نڪرڻ، ۽ جڏهن فعال طور تي ڊيبگر استعمال ڪندي.
درخواست جو ياداشت - مخصوص مسئلن کي حل ڪرڻ لاءِ مفيد صلاحون، اڪثر ڪوڊ مثالن سان.
غلطي جي چادر - جيڪڏهن ڪو هجي ته بائي پاس آپشن سان غير معياري چپ رويي جي ڪيسن جي وضاحت.
ڊيٽا شيٽس ۾ ڇا آهي؟
سڌو سنئون اندر ڊيٽا شيٽ اسان کي شايد اهڙن حصن جي ضرورت هجي:
ڊوائيس جو خلاصو - ڊيٽا شيٽ جو پهريون صفحو مختصر طور تي ڊوائيس کي بيان ڪري ٿو. اهو تمام ڪارآمد آهي جڏهن توهان ڪٿي به چپ ڳولي لڌي هجي (ان کي ڪنهن دڪان ۾ ڏٺو هجي، ان کي ڊيسولڊر ڪيو هجي، يا ان جو ذڪر ڏٺو هجي) ۽ سمجهڻ چاهيو ٿا ته اهو ڇا آهي.
عام بيان - لائن ۾ چپس جي صلاحيتن جو وڌيڪ تفصيلي بيان.
پنن - سڀني ممڪن چپ پيڪيجز لاءِ پن آئوٽ ڊاگرام (ڪهڙو پن ڪهڙي ٽنگ تي آهي).
پن وضاحت - هر پن جي مقصد ۽ صلاحيتن جو بيان.
ميموري نقشو - اسان کي ميموري ايڊريس ميپ جي ضرورت نه پوندي، پر ڪڏهن ڪڏهن ان ۾ رجسٽر بلاڪ ايڊريس جي ٽيبل پڻ شامل هوندي آهي.
رجسٽر نقشو - رجسٽر بلاڪ ايڊريس جي ٽيبل عام طور تي ڊيٽا شيٽ ۾ واقع هوندي آهي، ۽ ان ۾ حوالو دستي - صرف شفٽون (ايڊريس آف سيٽس).
بجلي جا خاصيتون - هن حصي ۾ اسان بنيادي طور تي دلچسپي رکون ٿا مطلق وڌ ۾ وڌ درجه بندي، چپ تي وڌ ۾ وڌ لوڊ لسٽ ڪندي. ناقابلِ تباهي Atmega328p جي برعڪس، گھڻا مائڪرو ڪنٽرولر ڳري لوڊ کي پنن سان ڳنڍڻ جي اجازت نه ڏيندا آهن، جيڪو Arduino جي شوقينن لاءِ هڪ ناخوشگوار تعجب جي طور تي اچي ٿو.
پئڪيج جي Informationاڻ - دستياب ڪيسن جون ڊرائنگون، توهان جي پنهنجي بورڊن کي ڊزائين ڪرڻ وقت ڪارآمد.
حوالو دستي ساخت جي لحاظ کان هڪ مخصوص دائري لاءِ وقف ڪيل حصن تي مشتمل آهي، جيڪي انهن جي عنوان ۾ ظاهر ڪيا ويا آهن. هر باب کي تقريباً ٽن حصن ۾ ورهائي سگهجي ٿو:
خلاصو, تعارف, مضمونن جي - پردي جي صلاحيتن جو جائزو؛
فنڪشنل تفصيل, استعمال جي گائيٽ يا صرف سيڪشن جو مکيه بلاڪ - پردي جي ڊوائس جي اصولن ۽ ان کي ڪيئن استعمال ڪجي جي تفصيلي متن جي وضاحت؛
رجسٽر - ڪنٽرول رجسٽرن جي وضاحت. GPIO يا SPI جهڙن سادي ڪيسن ۾، اهو پردي جي استعمال شروع ڪرڻ لاءِ ڪافي ٿي سگهي ٿو، پر اڪثر توهان کي اڃا تائين پوئين سيڪشن پڙهڻ جي ضرورت پوندي آهي.
ڊيٽا شيٽ ڪيئن پڙهجن
ڊيٽا شيٽ انهن لاءِ ڊيڄاريندڙ ٿي سگهن ٿيون جيڪي انهن جي سائيز ۽ غير واضح لفظن جي ڪثرت کان ناواقف آهن. حقيقت ۾، جيڪڏهن توهان ڪجهه لائف هيڪس ڄاڻو ٿا ته اهو ايترو خوفناڪ نه آهي.
سيٽ هڪ سٺو PDF پڙهندڙڊيٽا شيٽ ڪاغذ جي هدايتن جي شاندار روايت ۾ لکيل آهن؛ اهي پرنٽ ڪرڻ، پلاسٽڪ بُڪ مارڪ ۽ اسٽيپل سان الڳ ڪرڻ لاءِ بهترين آهن. هائپر ٽيڪسٽ ٽريس مقدار ۾ موجود آهي. خوشقسمتيءَ سان، گهٽ ۾ گهٽ دستاويز جي جوڙجڪ بُڪ مارڪ سان بيان ڪئي وئي آهي، تنهنڪري آسان نيويگيشن سان هڪ سٺو پڙهندڙ ضروري آهي.
ڊيٽا شيٽ اسٽروسٽروپ جي درسي ڪتاب نه آهي، ان ۾ شامل آهي هر شيءِ کي هڪ قطار ۾ پڙهڻ جي ضرورت ناهي.جيڪڏهن توهان پوئين صلاح تي عمل ڪيو آهي، ته بس بُڪ مارڪ بار ۾ گهربل سيڪشن ڳوليو.
ڊيٽا شيٽ، خاص طور تي حوالا دستورالعمل، شايد ڪنهن مخصوص چپ جي صلاحيتن کي بيان نه ڪري، پر پوري لائنان جو مطلب آهي ته معلومات جو اڌ، يا ٻه ٽيون حصو به توهان جي چپ سان غير لاڳاپيل آهي. TIM7 رجسٽرن جو مطالعو ڪرڻ کان اڳ، چيڪ ڪريو عام بيان، ڇا توهان وٽ آهي؟
اڻو انگريزي ڪافي لاءِ بنيادي سطحڊيٽا شيٽ اڌ اهڙن اصطلاحن تي مشتمل آهن جيڪي عام مقامي ڳالهائيندڙ لاءِ ناواقف آهن، ۽ اڌ سادي ڳنڍڻ واري جوڙجڪ تي مشتمل آهن. چيني انگريزي ۾ ڪجهه بهترين چيني ڊيٽا شيٽ پڻ آهن، جتي اڌ اصطلاحن تي مشتمل آهن ۽ ٻيو اڌ لفظن جو بي ترتيب مجموعو آهي.
جيڪڏهن توهان ملو ٿا اڻ ڄاتل لفظ، انگريزي-روسي ڊڪشنري استعمال ڪندي ان جو ترجمو ڪرڻ جي ڪوشش نه ڪريو. جيڪڏهن توهان پريشان آهيو hysteresis، پوءِ ترجمو "هائيسٽريسس" توهان کي بهتر محسوس نه ڪرائيندو. گوگل، اسٽيڪ اوور فلو، وڪيپيڊيا، يا فورم استعمال ڪريو جتي گهربل تصور هوندو .
جيڪو توهان پڙهو ٿا ان کي سمجهڻ جو بهترين طريقو اهو آهي ته عملي طور تي چيڪ ڪريوتنهن ڪري، ڊيبگ بورڊ جيڪو توهان ڄاڻو ٿا، هٿ ۾ رکو، يا اڃا به بهتر، ٻه - صرف ان صورت ۾ جڏهن توهان ڪجهه غلط سمجهو ٿا ۽ جادو جو دونھون ڏسو.
جڏهن توهان ڊيٽا شيٽ کي هٿ ۾ رکڻ هڪ سٺي عادت آهي ڪنهن جو سبق پڙهڻ يا توهان ڪنهن ٻئي جي لائبريري جو مطالعو ڪري رهيا آهيو. اهو بلڪل ممڪن آهي ته توهان کي اتي پنهنجي مسئلي جو وڌيڪ بهترين حل ملندو. ان جي برعڪس، جيڪڏهن توهان ڊيٽا شيٽ مان اهو نه سمجهي سگهو ته رجسٽر ڪيئن ڪم ڪري ٿو، ته گوگل ڪريو: امڪان آهي ته، ڪو ماڻهو اڳ ۾ ئي ان کي سادي لفظن ۾ بيان ڪري چڪو آهي يا GitHub تي صاف ڪوڊ ڇڏي چڪو آهي.
ڊڪشنري
ڊيٽا شيٽ سان شروع ڪرڻ ۾ مدد لاءِ ڪجھ مفيد لفظ ۽ علامتون. گذريل ڪجهه ڏينهن ۾ ذهن ۾ ايندڙ ڪا به شيءِ، ۽ ڪا به اضافا يا اصلاح ڀليڪار آهي.
بجلي
وي سي, وي ڊي ڊي - "پلس"، غذائيت
وي ايس, Vee - "مائنس"، زمين
موجوده - موجوده
voltage - وولٽيج
ڪرنٽ کي ٻوڙڻ - ٻاهرين لوڊ لاءِ "زمين" طور ڪم ڪريو
موجوده ذريعو ڏانهن - ٻاهرين لوڊ کي طاقت ڏيو
هاءِ سنڪ/ سورس پن - وڌايل لوڊ برداشت سان پن
IO
ايڇ، هاءِ - وي سي سي پن تي
ايل، گهٽ - وي ايس ايس پن تي
وڏي تڪڙ, هاءِ-Z, سچل - پن تي ڪجھ به ناهي، "اعلي مزاحمت"، اهو عملي طور تي ٻاهرين دنيا کان پوشيده آهي.
ڪمزور ڇڪڻ, ڪمزور ڇڪڻ - هڪ بلٽ ان پل-اپ/پل-ڊائون ريزسٽر، تقريبن 50 kOhm جي برابر (ڊيٽا شيٽ ڏسو). اهو استعمال ڪيو ويندو آهي، مثال طور، ان پٽ پن کي فلوٽ ٿيڻ کان روڪڻ لاءِ، غلط ٽرگرنگ جو سبب بڻجندو. ماڻ - ڇاڪاڻ ته ان کي "مداخلت" ڪرڻ آسان آهي.
ڌڪ هڻڻ - پن جو آئوٽ پُٽ موڊ، جنهن ۾ اهو وچ ۾ سوئچ ڪري ٿو هاء и گھٽ - Arduino مان باقاعده آئوٽ پُٽ.
کليل پاڻي - آئوٽ پُٽ موڊ جو تعين جنهن ۾ پن يا ته ٿي سگهي ٿو گھٽ، يا هاءِ امپيڊنس / فلوٽنگجڏهن ته، هي تقريبن هميشه "سچو" کليل ڊرين ناهي؛ حفاظتي ڊائيوڊس، مزاحمت ڪندڙ، ۽ ٻيون شيون آهن. هي صرف گرائونڊ/نٿنگ موڊ لاءِ هڪ عهدو آهي.
سچو کليل ڊرين - ۽ هي هڪ سچو کليل ڊرين آهي: جيڪڏهن کليل هجي ته پن سڌو سنئون زمين تي ويندو آهي، يا بند هجڻ تي معطل رهندو آهي. ان جو مطلب آهي ته اهو ضروري هجي ته Vcc کان وڌيڪ وولٽيج کي سنڀالي سگهي ٿو، پر وڌ ۾ وڌ اڃا تائين ڊيٽا شيٽ سيڪشن ۾ بيان ڪيو ويو آهي. مطلق وڌ ۾ وڌ درجه بندي / وولٽيج.
انٽرنيٽ
سيريز ۾ - سيريز ۾ ڳنڍيل
زنجير ۾ ڳنڍڻ - چپس کي هڪ زنجير ۾ گڏ ڪريو انهن کي سيريز ۾ ڳنڍي، آئوٽ پُٽ جو تعداد وڌائي.
شفٽ - شفٽ، عام طور تي مطلب آهي بٽ شفٽ. مطابق، منتقل ٿيڻ и ٻاهر منتقل ٿيڻ - ڊيٽا بِٽ بِٽ وصول ڪرڻ ۽ منتقل ڪرڻ.
سينچ - هڪ لچ جيڪو بفر کي بند ڪري ٿو جڏهن بٽس ان ذريعي منتقل ڪيا وڃن ٿا. جڏهن ٽرانسميشن مڪمل ٿئي ٿي، لچ کلي ٿي، ۽ بٽس ڪم ڪرڻ شروع ڪن ٿا.
ڪلاڪ ۾ رکڻ - ٿوري ٿوري ٽرانسميشن ڪريو، سڀني بٽس کي گهربل هنڌن تي منتقل ڪريو.
ٻٽي بفر, شيڊو رجسٽر, اڳ لوڊ رجسٽر - تاريخ جي عهدن، جڏهن هڪ رجسٽر کي نئين ڊيٽا قبول ڪرڻ جي قابل هجڻ گهرجي پر ان کي هڪ خاص نقطي تائين رکڻ گهرجي. مثال طور، PWM کي صحيح طريقي سان ڪم ڪرڻ لاءِ، ان جا پيرا ميٽر (ڊيوٽي چڪر، فريڪوئنسي) موجوده چڪر ختم ٿيڻ تائين تبديل نه ٿيڻ گهرجن، پر نوان پيرا ميٽر اڳ ۾ ئي منتقل ٿي سگهن ٿا. مطابق، موجوده پيرا ميٽرز ۾ رکيل آهن شيڊو رجسٽر، ۽ نوان ان ۾ اچي وڃن ٿا اڳ لوڊ رجسٽر، چپ جي لاڳاپيل رجسٽر ۾ لکيل آهي.
هر قسم جون شيون
پري اسڪيلر - فريڪوئنسي پري اسڪيلر
ٿورو مقرر ڪرڻ لاءِ - بِٽ کي 1 تي سيٽ ڪريو
ٿورو صاف ڪرڻ/ري سيٽ ڪرڻ لاءِ - بِٽ کي 0 تي ري سيٽ ڪريو (ٻيھر مقرر ڪريو - ايس ٽي ايم ڊيٽا شيٽس جي هڪ خاصيت)
ايندڙ ڇا آهي
حقيقت ۾، هتي منصوبابندي ڪيل عملي حصو STM32 ۽ STM8 تي ٽن منصوبن جو مظاهرو پيش ڪندو، خاص طور تي هن آرٽيڪل لاءِ ڊيٽا شيٽ استعمال ڪندي، ليمپ، SPI، ٽائمرز، PWM، ۽ مداخلتن سان ٺاهيا ويا آهن:

پر متن تمام گهڻو آهي، تنهنڪري منصوبا ٻئي حصي ڏانهن موڪليا ويا آهن.
ڊيٽا شيٽ پڙهڻ سان توهان جي شوق ۾ مدد ملندي، پر اهو فورمن ۽ چيٽس ۾ ساٿي شوقينن سان حقيقي زندگي ۾ رابطي جو متبادل ناهي. اهو ڪرڻ لاءِ، توهان کي پهريان پنهنجي انگريزي تي برش ڪرڻ جي ضرورت پوندي. اهو ئي سبب آهي ته انهن لاءِ هڪ خاص انعام آهي جيڪي آخر تائين پڙهندا آهن: ڪوڊ استعمال ڪندي توهان جي پهرين ادائيگي سان ٻه مفت اسڪائينگ سبق. HABR2.
جو ذريعو: www.habr.com
