Giunsa ug ngano nga basahon ang mga datasheet kung ang mga microcontroller ang imong kalingawan

Giunsa ug ngano nga basahon ang mga datasheet kung ang mga microcontroller ang imong kalingawan

Ang Microelectronics usa ka uso nga kalingawan sa bag-ohay nga mga tuig salamat sa mahika nga Arduino. Apan ania ang problema: nga adunay igo nga interes, mahimo nimo nga dali nga madugangan ang DigitalWrite (), apan kung unsa ang sunod nga buhaton dili hingpit nga klaro. Ang mga nag-develop sa Arduino nagbutang og daghang paningkamot sa pagpaubos sa babag sa pagsulod sa ilang ekosistema, apan sa gawas niini aduna gihapoy usa ka mangitngit nga lasang sa mapintas nga circuitry nga dili maabot sa amateur.

Pananglitan, ang mga datasheet. Morag naa nila ang tanan, kuhaa ug gamita. Apan ang ilang mga tagsulat tin-aw nga wala magbutang sa ilang kaugalingon sa tahas sa pagpopular sa mga microcontroller; Usahay dawnga sila tinuyo nga nag-abuso sa dili masabtan nga mga termino ug mga pinamubo sa dihang naghulagway sa yano nga mga butang aron sa paglibog sa wala mahibal-an kutob sa mahimo. Apan dili tanan daotan kaayo; kung gusto, ablihan ang lungon.

Sa kini nga artikulo akong ipaambit ang kasinatian sa usa ka espesyalista sa humanities nga nakigsulti sa mga datasheet alang sa mga katuyoan sa kalingawan. Ang teksto gituyo alang sa mga amateur nga nagdako gikan sa Arduino nga karsones; kini adunay pipila nga pagsabut sa mga prinsipyo sa operasyon sa mga microcontroller.

Magsugod ko sa tradisyonal

Pag-flash sa LED sa Arduino

Ug dayon ang code:

void setup() {
DDRB |= (1<<5);
}

void loop() {
PINB = (1<<5);
for (volatile uint32_t k=0; k<100000; k++);
}

"Unsa man ni? – Ang usa ka sopistikado nga magbabasa mangutana. – Nganong nagsulat ka ug usa ka butang sa PINB input register? Para lang kini sa pagbasa!” tinuod, Arduino nga dokumentasyon, sama sa kadaghanang mga artikulo sa edukasyon sa Internet, nag-ingon nga kini nga rehistro kay read-only. Naghunahuna ko sa akong kaugalingon hangtod nga gibasa nako kini pag-usab datasheet sa Atmega328p, pag-andam niini nga artikulo. Ug didto:

Giunsa ug ngano nga basahon ang mga datasheet kung ang mga microcontroller ang imong kalingawan

Kini usa ka bag-o nga pag-andar, wala kini sa Atmega8, dili tanan nahibal-an bahin niini o wala hisgoti tungod sa mga hinungdan sa atrasado nga pagpahiangay. Apan kini angay alang sa pagpakita sa ideya nga ang mga datasheet angayan nga basahon aron magamit ang tanan nga mga kapabilidad sa chip, lakip ang mga gamay nga nahibal-an. Ug dili lang kini ang hinungdan.

Nganong basahon pa ang mga datasheet?

Kasagaran, ang mga inhenyero sa Arduino, nga igo na nga nagdula sa mga LED ug AnalogWrites, nagsugod sa pagkonektar sa tanan nga mga matang sa mga module ug chips sa board, diin adunay nasulat nga mga librarya. Sa madugay o sa madali, ang usa ka librarya makita nga dili molihok ingon nga kini kinahanglan. Unya ang amateur magsugod sa pagpili niini aron ayohon kini, ug unya...

Ug adunay usa ka butang nga dili masabtan nga mahitabo didto, mao nga kinahanglan ka nga moadto sa Google, magbasa daghang mga panudlo, kuhaa ang mga bahin sa angay nga code sa usa ka tawo ug sa katapusan makab-ot ang imong katuyoan. Naghatag kini usa ka kusgan nga pagbati sa kalampusan, apan sa tinuud ang proseso sama sa pag-imbento pag-usab sa ligid pinaagi sa pag-reverse engineering sa usa ka motorsiklo. Dugang pa, ang pagsabut kung giunsa kini nga bisikleta wala modako. Nahibal-an ko, tungod kay gibuhat ko kini sa akong kaugalingon sa dugay nga panahon.

Kung imbis niining makapahinam nga kalihokan migugol ako og pipila ka mga adlaw sa pagtuon sa dokumentasyon sa Atmega328, makadaginot unta ko og dakong panahon. Pagkahuman, kini usa ka yano nga microcontroller.

Busa, kinahanglan nimo nga basahon ang mga datasheet sa labing menos aron mahanduraw kung giunsa ang microcontroller sa kasagaran molihok ug kung unsa ang mahimo niini. Ug dugang pa:

  • aron masusi ug ma-optimize ang mga librarya sa ubang mga tawo. Kanunay silang gisulat sa parehas nga mga amateur nga nag-imbento pag-usab sa ligid; o, sa kasukwahi, ang mga tagsulat tinuyo nga naghimo kanila nga sobra ka walay pulos. Himoa nga kini mahimong tulo ka pilo nga mas dako ug mas hinay, apan kini siguradong molihok;

  • nga makahimo sa paggamit sa mga chips sa usa ka proyekto nga walay usa nga nagsulat sa usa ka librarya;

  • aron mas sayon ​​​​alang sa imong kaugalingon ang paglalin gikan sa usa ka linya sa MK ngadto sa lain;

  • aron sa katapusan ma-optimize ang imong daan nga code, nga dili mohaum sa Arduino;

  • aron makat-on unsaon pagkontrolar sa bisan unsa nga chip direkta pinaagi sa mga rehistro niini, nga walay pagsamok sa pagtuon sa istruktura sa mga librarya niini, kon aduna man.

Ngano nga magsulat sa mga rehistro direkta kung adunay HAL ug LL?

Diksiyonaryo
HAL, Taas nga Abstraction Layer - usa ka librarya alang sa pagkontrol sa usa ka microcontroller nga adunay taas nga lebel sa abstraction. Kung kinahanglan nimo nga gamiton ang interface sa SPI1, imong i-configure ug i-enable ang SPI1 nga wala maghunahuna kung unsang mga rehistro ang responsable sa kung unsa.
LL, Ubos nga Level API - usa ka librarya nga adunay mga macro o istruktura nga adunay mga adres sa pagrehistro, nga gitugotan ka nga ma-access kini pinaagi sa ngalan. Ang DDRx, PORTx, PINx sa Atmega kay LL.

Ang mga panaglalis sa hilisgutan nga "HAL, LL o mga rehistro" kanunay nga mahitabo sa mga komento sa Habré. Kung wala’y pag-angkon nga adunay access sa kahibalo sa astral, ipaambit ra nako ang akong kasinatian ug hunahuna sa amateur.

Ang labi pa o dili kaayo nahibal-an ang Atmega ug nabasa ang mga artikulo bahin sa kaanindot sa STM32, gipalit nako ang tunga sa dosena nga lainlaing mga tabla - Discovery, ug Blue Pills, ug bisan mga chips alang sa akong mga produkto sa balay. Silang tanan nangolekta og abog sa usa ka kahon sulod sa duha ka tuig. Usahay makaingon ko sa akong kaugalingon: "mao na, sugod karong hinapos sa semana ako nag-master sa STM," gilusad ang CubeMX, nakamugna og setup para sa SPI, mitan-aw sa resulta nga bungbong sa teksto, madagayaon nga gipalami sa mga copyright sa STM, ug nakahukom nga kini usa usab ka paagi. daghan.

Giunsa ug ngano nga basahon ang mga datasheet kung ang mga microcontroller ang imong kalingawan

Siyempre, mahibal-an nimo kung unsa ang gisulat ni CubeMX dinhi. Apan sa samang higayon tin-aw nga ang paghinumdom sa tanang pulong ug dayon pagsulat niini pinaagig kamot dili realistiko. Ug aron ma-debug kini, kung wala ko tuyoa nga nakalimot sa pagsusi sa usa ka kahon sa Cube, maayo ra kana.

Nilabay ang duha ka tuig, gitilapan pa nako akong lips ST MCU Finder alang sa tanan nga mga matang sa tasty, apan sa unahan sa akong pagsabot, chips, ug aksidenteng nakit-an nindot nga artikulo, bisan sa mga STM8. UG kalit Akong naamgohan nga niining tanan nga panahon nanuktok ko sa usa ka bukas nga pultahan: ang mga rehistro sa STM gihan-ay sa samang paagi sama niadtong sa bisan unsa nga MK, ug ang Cube dili kinahanglan nga magtrabaho uban kanila. Posible pa nga ba?..

Ang HAL ug ilabi na ang STM32CubeMX usa ka himan alang sa mga propesyonal nga mga inhenyero nga nagtrabaho pag-ayo sa STM32 chips. Ang nag-unang bahin mao ang usa ka taas nga lebel sa abstraction, ang abilidad sa dali nga pagbalhin gikan sa usa ka MCU ngadto sa lain ug bisan gikan sa usa ka kinauyokan ngadto sa lain, samtang nagpabilin sulod sa linya sa STM32. Panagsa ra nga masugatan sa mga hobbyist ang ingon nga mga problema - ang among pagpili sa mga microcontroller, ingon usa ka lagda, limitado sa lahi sa AliExpress, ug kanunay kami nga molalin tali sa lainlaing lahi nga mga chips - mibalhin kami gikan sa Atmega hangtod sa STM, gikan sa STM hangtod sa ESP, o bisan unsang bag-ong butang sa among mga higala nga Intsik. ilabay kanamo. Dili makatabang ang HAL dinhi, ug ang pagtuon niini mokaon ug daghang oras.

Nagpabilin ang LL - apan gikan niini hangtod sa mga rehistro adunay tunga nga lakang. Sa personal, nakit-an nako nga ang pagsulat sa akong mga macro nga adunay mga adres sa rehistro mapuslanon: Gitun-an nako ang datasheet nga labi ka maayo, gihunahuna nako kung unsa ang kinahanglan nako sa umaabot ug kung unsa ang siguradong dili nako buhaton, mas maayo ang istruktura sa akong mga programa, ug sa kinatibuk-an, ang pagbuntog makatabang sa pagsag-ulo. .

Dugang pa, adunay usa ka nuance sa sikat nga STM32F103 - adunay duha ka dili magkatugma nga bersyon sa LL alang niini, usa ka opisyal gikan sa STM, ang ikaduha gikan sa Leaf Labs, nga gigamit sa proyekto sa STM32duino. Kung nagsulat ka usa ka bukas nga gigikanan nga librarya (ug ako adunay eksakto maong buluhaton), kinahanglang maghimo ka ug duha ka bersiyon, o direktang ma-access ang mga rehistro.

Sa katapusan, ang pagwagtang sa LL, sa akong opinyon, nagpadali sa paglalin, labi na kung nagplano ka niini gikan sa sinugdanan sa proyekto. Gipasobrahan nga pananglitan: isulat nato ang Arduino blink sa Atmel Studio nga walay LL:

#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++);
    } 
}

Aron kini nga code mag-blink sa LED sa usa ka Chinese board nga adunay STM8 (gikan sa ST Visual Desktop), igo na nga usbon ang duha ka adres niini:

#define DDR_B 0x5007
#define OUT_B 0x5005

Oo, naggamit ako usa ka bahin sa pagkonektar sa LED sa usa ka piho nga board, kini mokidlap sa hinay, apan kini mahitabo!

Unsa nga mga matang sa mga datasheet ang anaa?

Sa mga artikulo ug sa mga forum, parehong Ruso ug English, ang "datasheet" nagpasabut sa bisan unsang teknikal nga dokumentasyon alang sa mga chips, ug gibuhat ko ang parehas sa kini nga teksto. Sa pormal, sila usa lamang ka matang sa maong dokumentasyon:

Datasheet - Mga kinaiya sa pasundayag, taktikal ug teknikal nga mga kinaiya. Mandatory alang sa bisan unsang elektronik nga sangkap. Ang kasayuran sa background mapuslanon nga ipadayon, apan wala’y daghang mabasa niini nga mahunahunaon. Bisan pa, ang mas simple nga mga chips sagad limitado sa usa ka datasheet aron dili makagama ug wala kinahanglana nga mga dokumento; sa niini nga kaso Sumbanan nga Manwal gilakip dinhi.

Sumbanan nga Manwal – ang mga panudlo sa ilang kaugalingon, usa ka himsog nga libro sa 1000+ nga mga panid. Ang buhat sa tanan nga gisulod sa chip gihulagway sa detalye. Ang nag-unang dokumento alang sa pag-master sa microcontroller. Dili sama datasheet, ang mga instruksyon gisulat alang sa usa ka halapad nga han-ay sa mga MK; kini adunay daghang impormasyon mahitungod sa mga peripheral nga dili anaa sa imong piho nga modelo.

Manwal sa Programming o Manwal nga Set sa Instruksyon - mga panudlo alang sa talagsaon nga mga mando sa microcontroller. Gidisenyo alang niadtong nagprograma sa pinulongang Assembly. Ang mga tagsulat sa compiler aktibong naggamit niini aron ma-optimize ang code, mao nga sa kinatibuk-an nga kaso dili nato kini kinahanglan. Apan ang pagtan-aw dinhi mapuslanon alang sa usa ka kinatibuk-ang pagsabot, alang sa pipila ka mga piho nga mga sugo sama sa paggawas sa usa ka interrupt, ingon man alang sa aktibong paggamit sa debugger.

Application Mubo nga sulat - mapuslanon nga mga tip sa pagsulbad sa piho nga mga problema, kasagaran adunay mga pananglitan sa code.

Errata Sheet – paghulagway sa mga kaso sa dili standard nga kinaiya sa chip nga adunay mga opsyon sa workaround, kon aduna man.

Unsa ang naa sa mga datasheet

Direkta sa Datasheet tingali kinahanglan nato ang mosunod nga mga seksyon:

Summary sa Device – ang unang panid sa datasheet sa mubo nga paghulagway sa device. Mapuslanon kaayo sa mga sitwasyon nga nakit-an nimo ang usa ka chip sa usa ka lugar (nakita kini sa usa ka tindahan, gibaligya kini, nakit-an ang usa ka paghisgot) ug gusto nimong masabtan kung unsa kini.

Kinatibuk-ang Description - usa ka mas detalyado nga paghulagway sa mga kapabilidad sa mga chips gikan sa linya.

Mga Pinout – Pinout diagrams para sa tanang posibleng chip packages (unsa nga pin ang naa sa unsa nga bitiis).

Paglaraw sa Pin - paghulagway sa katuyoan ug kapabilidad sa matag pin.

Mapa sa Panumduman – dili tingali kita magkinahanglan ug adres nga mapa sa memorya, apan usahay naglakip usab kini ug lamesa sa mga adres sa rehistro nga block.

Register Mapa – ang lamesa sa mga adres sa mga bloke sa rehistro, ingon nga usa ka lagda, nahimutang sa datasheet, ug sa Ref Manual - mga pagbalhin lamang (address offsets).

Mga Kinaiyang Elektrikal – sa niini nga seksyon kita sa panguna interesado sa hingpit nga maximum nga mga rating, naglista sa pinakataas nga load kada chip. Dili sama sa dili malaglag nga Atmega328p, kadaghanan sa mga MKs wala magtugot kanimo sa pagkonektar sa seryoso nga mga load sa mga pin, nga nahimong dili maayo nga katingala alang sa mga Arduinist.

Impormasyon sa Package - mga drowing sa magamit nga mga kaso, mapuslanon sa pagdesinyo sa imong mga tabla.

Sumbanan nga Manwal structurally naglangkob sa mga seksyon nga gigahin alang sa piho nga mga peripheral nga gipakita sa ilang titulo. Ang matag kapitulo mahimong bahinon sa tulo ka bahin:

Kinatibuk-ang Pagpasabut, Pasiuna, Features - overview sa peripheral nga mga kapabilidad;

Paglaraw sa katukma, Giya sa Paggamit o yano nga panguna nga bloke sa seksyon - usa ka detalyado nga paghulagway sa teksto sa mga prinsipyo sa peripheral device ug kung giunsa kini gamiton;

Mga rehistro - paghulagway sa mga rehistro sa pagkontrol. Sa yano nga mga kaso sama sa GPIO o SPI, mahimo’g igo na kini aron magsugod sa paggamit sa mga peripheral, apan kanunay kinahanglan nimo nga basahon ang miaging mga bahin.

Giunsa pagbasa ang mga datasheet

Ang mga datasheet, tungod sa batasan, nahadlok kanimo sa ilang gidaghanon ug kadaghan sa dili masabtan nga mga pulong. Sa tinuud, ang tanan dili kaayo makahadlok kung nahibal-an nimo ang pipila ka mga hack sa kinabuhi.

Pagpahimutang maayo nga PDF reader. Ang mga panid sa datos gisulat sa mahimayaon nga tradisyon sa mga panudlo sa papel; maayo kini nga i-print, isulud gamit ang mga plastik nga bookmark ug pagtahi. Ang hypertext sa kanila naobserbahan sa daghang gidaghanon. Maayo na lang, labing menos ang istruktura sa dokumento gidisenyo nga adunay mga bookmark, busa ang usa ka angay nga magbabasa nga adunay dali nga pag-navigate kinahanglanon kaayo.

Ang datasheet dili libro ni Stroustrup; kini naglangkob dili kinahanglan nga basahon ang tanan. Kung gigamit nimo ang miaging tambag, pangitaa lang ang gusto nga seksyon sa bookmarks bar.

Mga Datasheet, labi na Mga Reperensya nga Manwal, makahulagway sa mga kapabilidad sa dili usa ka piho nga chip, apan tibuok linya. Kini nagpasabot nga ang katunga, o bisan ang dos-tersiya sa impormasyon walay kalabotan sa imong chip. Sa dili pa magtuon sa mga rehistro sa TIM7, pag-check in Kinatibuk-ang Description, naa ba nimo?

Nahibal-an english igo alang sa sukaranan nga lebel. Ang mga datasheet naglangkob sa katunga sa mga termino nga dili pamilyar sa kasagaran nga lumad nga mamumulong, ug katunga sa yano nga nagkonektar nga mga istruktura. Adunay usab maayo kaayo nga mga datasheet sa Intsik sa Intsik nga English, diin ang katunga mga termino usab, ug ang ikaduha nga katunga usa ka random nga hugpong sa mga pulong.

Kung magkita mo dili pamilyar nga pulong, ayaw pagsulay sa paghubad niini gamit ang English-Russian nga diksyonaryo. Kung naglibog ka hysteresis, unya ang hubad nga "hysteresis" dili makapainit kanimo. Gamita ang Google, Stack Overflow, Wikipedia, mga forum, kung asa ang gikinahanglan nga konsepto gipatin-aw sa yano nga mga pulong nga adunay mga pananglitan.

Ang labing maayong paagi aron masabtan ang imong gibasa mao check sa aksyon. Busa, ipadayon ang debug board nga imong nahibal-an sa imong kaugalingon, o mas maayo pa nga duha, kung wala ka pa nakasabut sa usa ka butang ug nakakita usa ka magic nga aso.

Kini usa ka maayo nga batasan sa pagtipig sa imong datasheet nga magamit kung ikaw nagbasa sa tutorial sa usa ka tawo o pagtuon sa librarya sa uban. Posible nga makit-an nimo ang usa ka mas maayo nga solusyon sa imong problema niini. Ug vice versa - kung dili nimo masabtan gikan sa datasheet kung giunsa ang paglihok sa rehistro, i-google kini: lagmit, adunay usa nga naghulagway sa tanan sa yano nga mga pulong o nagbilin sa tin-aw nga code sa GitHub.

Diksiyonaryo

Pipila ka mapuslanon nga mga pulong ug simbolo aron matabangan ka nga dali nga maanad sa mga datasheet. Ang akong nahinumduman sa miaging duha ka adlaw, ang mga pagdugang ug pagkorihir kay giabi-abi.

Kuryente
VDC, Tinuod – “plus”, pagkaon
vs, Vee – “minus”, yuta
kasamtangan nga – kasamtangan
boltahe - boltahe
sa pag-unlod sa kasamtangan – pagtrabaho ingon nga "yuta" alang sa gawas nga load
sa tinubdan sa kasamtangan – gahum sa gawas nga load
taas nga lababo / tinubdan pin - pin nga adunay dugang nga "tolerance" sa pagkarga

IO
H, Taas – sa Vcc pin
L, Ubos – sa Vss pin
Taas nga Impedance, Hi-Z, naglutaw – walay bisan unsa sa pin, “taas nga pagsukol”, kini mao ang halos dili makita sa gawas sa kalibutan.
huyang nga pagbitad, huyang nga pagbira paubos – built-in nga pull-up/pull-down resistor, halos katumbas sa 50 kOhm (tan-awa ang datasheet). Gigamit kini, pananglitan, aron mapugngan ang input pin gikan sa pagbitay sa hangin, hinungdan sa mga sayup nga positibo. Huyang - tungod kay sayon ​​​​ang "pagbalda" kaniya.
iduso pagbira - mode sa output sa pin, diin kini nagbalhin sa taliwala Hataas и ubos – regular nga OUTPUT gikan sa Arduino.
bukas nga kanal – pagtudlo sa output mode diin ang pin mahimong bisan hain ubos, o Taas nga Impedance/Paglutaw. Dugang pa, halos kanunay kini dili usa ka "tinuod" nga bukas nga kanal; adunay mga protective diode, resistors, ug unsa pa. Kini usa lamang ka ngalan alang sa ground/none mode.
tinuod nga open drain - apan kini usa ka tinuod nga bukas nga kanal: ang lagdok direkta nga motultol sa yuta kung kini bukas, o magpabilin sa limbo kung kini sirado. Kini nagpasabot nga, kon gikinahanglan, ang usa ka boltahe nga mas dako pa kay sa Vcc mahimong maagian niini, apan ang maximum gipiho gihapon sa datasheet sa seksyon. Hingpit nga Kinatas-an nga Ranggo/Boltahe.

Mga interface
sa serye - konektado sa serye
sa kadena - pagpundok sa mga chips sa usa ka kadena gamit ang usa ka serial nga koneksyon, pagdugang sa gidaghanon sa mga output.
pagbalhin – pagbalhin, kasagaran nagpasabot ug gamay nga pagbalhin. Sa ingon, sa pagbalhin sa и sa pagbalhin sa gawas - makadawat ug magpadala sa data sa hinay-hinay.
trangka - usa ka trangka nga nagtabon sa buffer samtang ang mga piraso gibalhin pinaagi niini. Sa diha nga ang pagbalhin makompleto, ang balbula moabli ug ang mga piraso magsugod sa pagtrabaho.
sa orasan sa – paghimo sa usa ka bit-by-bit nga pagbalhin, pagbalhin sa tanan nga mga bit ngadto sa husto nga mga dapit.
doble nga buffer, rehistro sa anino, preload nga rehistro - mga ngalan sa kasaysayan, kung ang rehistro kinahanglan nga makadawat sa bag-ong datos, apan huptan kini hangtod sa pila ka punto. Pananglitan, alang sa PWM sa pagtrabaho sa husto, ang mga parameter niini (duty cycle, frequency) kinahanglan nga dili mausab hangtud nga ang kasamtangan nga cycle matapos, apan bag-o nga mga parameter mahimo na nga ibalhin. Tungod niini, ang mga kasamtangan gitipigan sa rehistro sa anino, ug ang mga bag-o nahulog sa preload nga rehistro, nga gisulat sa katugbang nga rehistro sa chip.

Tanan nga mga butang
prescaler - frequency prescaler
para mag set gamay - ibutang ang bit sa 1
para ma clear/reset gamay - i-reset ang gamay sa 0 (i-reset - STM datasheet nga bahin)

Unsa ang sunod

Sa kinatibuk-an, usa ka praktikal nga bahin ang giplano dinhi nga adunay usa ka demonstrasyon sa tulo ka mga proyekto sa STM32 ug STM8, nga espesipikong gihimo alang niini nga artikulo gamit ang mga datasheet, nga adunay mga bombilya, SPI, timer, PWM ug mga interrupts:

Giunsa ug ngano nga basahon ang mga datasheet kung ang mga microcontroller ang imong kalingawan

Apan adunay daghang teksto, mao nga ang mga proyekto gipadala sa ikaduhang bahin.

Ang kahanas sa pagbasa sa mga datasheet makatabang kanimo sa imong kalingawan, apan dili tingali mapulihan ang live nga komunikasyon sa mga kauban nga hobbyist sa mga forum ug chat. Alang niini nga katuyoan, kinahanglan nimo nga pauswagon ang imong English una sa tanan. Busa, kadtong nakahuman sa pagbasa makadawat og espesyal nga premyo: duha ka libre nga mga leksyon sa Skyeng nga adunay unang bayad gamit ang code HABR2.

Source: www.habr.com

Idugang sa usa ka comment