2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Inscriptiones blog ab aliis CSDN scriptae satis bonae sunt. Si vis scire de 51 microcontroller UART Vide portum, preme in et vide:
Asynchronous communicationSignificat tempus intervallum inter duas personas (8 bits) in communicatione non fixum, sed temporis intervallum inter frenos intra unam indolem est.stabulum。
UART communicatio serialis communio technologia communio pro microcontrolers.
Communicatio dividi potest in genera fundamentaliaCommunicatio paralleletVide Communicationem; In communicatione parallela, unaquaeque pars notitiarum simul transmittitur, et communicatio perfici potest in bytes. Exempli gratia, P0 = 0xFF ante adhibitis, valores 8 IO portuum P0 assignatis uno tempore et signis simul output, similes 8 vicos qui simul 8 currus transire possunt. Forma haec est parallela. Solet P0, P1, P2, P3 vocare quatuor parallelas machinarum 51 microcontroller.
Serial communicatio est sicut lane, una tantum raeda ad tempus transire potest.Si byte notitiarum instar 0xFF tradenda est, si currus 1-bit notitias trahit, plus quam 8 currus requiret.simul spatiumTransire idem lane rursus.
Discrimen communicationis synchronae et asynchronae communicationis;
1. Communicatio synchrona postulat ut horologii frequentia recipiendi finem consentaneum sit cum horologii frequentia ad finem mittentis, et missio finis continuum emittit rivum; . Finem misso byte misso, potest per aliquod tempus longum transire antequam proximum byte mittat.
2. Communicatio synchrona maximam efficaciam habet, dum asynchrona communicatio humilem efficientiam habet.
3. Communicatio synchrona magis perplexa est, et licitus error horologiorum utriusque partis est simplex;
4. Communicatio synchrona solum puncto-ad-multipuncto apta est, et asynchrona communicatio ad punctum-ad punctum adhiberi potest.
STC89C52 microcontroller, duas fibulas in UART Vide communicationis specie adhibitas habet, unum est P3^0, alterum P3^1. Vide interface dicitur. Ut patet in imagine;
Communicatio inter microcontroller et microcontroller;
In figura, GND significat referentem locum copiarum instrumentorum microcontrollerorum. Videatur TXD transmittere paxillus dicitur, et RXD est Vide clavum recipere.
Ut inter duos microcontrolers communicare, primum omnium, eadem potestas copiarum referendi sit, GNDs ergo duorum microcontrolers inter se coniungi debent.Tum TXD paxillus MCU 1 cum RXD acu MCU coniungitur 2. Munus est quod MCU 1 informationes mittit ad MCU 2. (Hic processus in duas partes dividitur. MCU 1 estmittere signumProcessus cum Microcontroller II "accipere signumProcessu) Eodem modo, TXD paxillus microcontroller 2 cum RXD clavo microcontrolli.
Hoc schematicum schematismus refertur processum duorum microcontrollorum ad invicem nuntios mittentes et recipiendos.
Cum microcontroller 1 notitias mittere vult microcontroller 2, exempli gratia, 1 0xE4 data, forma binaria expressa;
0b110 0100, microcontroller 1 varias difficultates ante translationem incipit;
Puta me primum infimum partis 0 transmittere, tum opus mihi est ut 1 ad humilem gradum in TXD portum microcontrollorum constituendum.
Microcontrolers plerumque sunt TTL vel CMOS campi.
Quidquid majus quam 2.0 volts alta est, minus quam 0.0 voltarum est humile, et medium nec altum nec imum est altam, etiam ut iaces. Ergo in hac provincia conare non operari ambitum. Esse in hac zona potest facere tuum productum hit vel deesset. Cum igitur fructus enucleandi, notitias schedae de machinis et intentione in operatione elaborationis inhibere debes, ut sit apto intentione.
1. ttl gradu;
Output high level >2.4V, output low level <0.4V. Ad locus temperatus, generalis output altae gradus est 3.5V et output humilis gradu est 0.2V. Minimum input altum gradum et humilem: input altam >=2.0V, input low level <=0.8V, margine strepitus est 0.4V.
2. CMOS planities;
1logice gradu Intentio prope copiam voltage, et 0 logica est prope 0V. Habetque magnam tolerantiam strepitus.
Hic igitur quaestio subit:
Cum notitia non traducitur vel recipitur, portus transmissio microcontrollerorum 1 in gradu altiori vel humili gradu erit, vel intentione portus inter haec erit. Portus intentionis acceptio (RXD) MCU 2 sequitur intentione transmissionis portus MCU 1 . Quomodo signum quod MCU 1 initurus est informationes transmittendi, id est quomodo MCU 2 scit MCU 1 informationem transmisisse? Ergo oportet signa communicationis signare.
Gradus 1: statutum est, cum communicatio non occurrit, intentione portuum TXD et RXD microcontrollorum altae manere.
Gradus II: Standardize notitia tradendi modum ut infra
Potes videre quod definit 1 initium frenum, 1 paulum desistere, plus 1 byte notitiarum transmitti, quod est summa 8 frumentorum.Decem digiti data。
Praedicta transmissio notitiarum 0xE4 actu transmittit 0 1110 0100 1. Transmissio 1 byte notitiarum ab MCU 1 ad MCU 2 actu tradit 10-bit notitia.
Cum in initio frenum et frenum desinis, microcontroller 2 RXD portum ad notitias recipiendas incipit cum humili gradu detegit. Eodem modo, si microcontroller 1 e notitiarum byte 1 mittere volet, necesse est ut primum initium frenum 0 mittat (dicte microcontroller 2 praeparandi ad recipiendum), et deinde sistendam particulam 1 mittat (dic microcontroller 2 a Bytes of. notitia translationis perficitur).Et cum data transmittendi, estPrimum humilis, deinde summusOrdo
Gradus 3: Opus uniformiter constitue tempus quod ad transmittendum 1 aliquid de notitia. Haudquaquam rate of 1 significat tradendi unam partem datarum 1 secundae, et baud 9600 modo tradendi 9600 particulas notitiarum in secunda 1 .
Inde consequitur transmittendi I bittempus = I / baud., tunc tempus transmittendi 1 integrae notitiae frameae inveniri possunt10/baud,Tempus inter tabulas datas arbitrarium est.
Cum MCU 1 et MCU 2 significationibus transmittunt, eorum baud rates constituendae sunt ut ad rectam communicationem perficiendam consentiant.
Primis annis computatorum escriticorum, solitum erat 9-pinum serial interface. itaque Communicatio cum microcontrolersorum moderatoribus magis magisque USB virtualis Vide portibus uti tendit.
Plana logica, qua RS232 usus est, logica negativa est, quae ab TTL/CMOS gradibus logice differt.
Propterea ad portum RS232 9-pinum computatoris cum microcontrollero directe cohaerere non potest.
RS232 pin descriptio:
1. Portitorem palam DCD (Indicium Portitorem palam) 2. Accipite data RXD 3. Mitte notitia TXD
4. DTR data terminatio parata est (Data Terminatio Promptus) 5. Signum humus 6. Data parata DSR (Data parate)
7. Request mittere RTS (Request mittere) 8. Serena et mitte CTS (Patet mittere) 9. Ringing promptum RI (.Ringing)
Ut in figura supra demonstratum est, in seriale portu wiring RS232, communicatio perfici potest quamdiu fibulae 2, 3 et 5 cum fibulis MAX232 respondentibus coniunguntur.
Cum technologiarum evolutione, RS-232 Vide communicatio portus late in industria usus est. Tamen in applicatione technologiae commercialis, USB ad technologiam UART lente portum Vide RS232 substituit.
Quomodo igitur intellegendum est communicationem inter microcontrollorem et computatorium ut in figura demonstratum est
Haec est tabula evolutionis in hoc casu quae USB ad portum Vide CH340T ad hoc munus assequendum utitur.
Portus microcontroller TXD pileo laneo utitur ad coniungere cum USB-TX et eodem tempore cum ch340 acu 4 RXD coniungitur
Portus microcontroller RXD pileo laneo utitur ad coniungere cum USB-RX et cum 3 paxillo TXD CH340.
Potes videre esse 4148 diodum in serie inter USB-RX et tertium clavum TXD ipsius CH340, quia STC89C52 microcontroller principium frigidum cum programmate deprimendo indiget. Just click download first and then power on.
dictusFrigus initium Agitur de processu satus microcontroller ab potentia ad potentiam in; Discrimen inter initium frigidum et initium calidum est: in frigido initio, valores in RAM interni microcontroller sunt quantitates temere, dum in initio calidi, valores in RAM interni microcontrolleris non mutabuntur et. eadem quae prius satus.
In momento potentiae, microcontroller primum deprehendet num programmata detrahenda sit. Etsi VCC microcontroller per transitum refrenat, quia paxillus 3 CH340T clavum output est, si talis non est. diode, transibit sequens microcontroller cum potentia abeunte deficiente , Pin 3 CH340T cum P3.0 (RXD) clavum microcontrolli conexum influet Scaena sequens, ex quadam intentione in postea. Diode addita, ex altera parte, communicationem non afficit, alia ex parte potest hunc adversarium effectum tollere.
Didici ex manuali microcontrollo qui P3.0 quasi-bidirectionalem IO portum esse.
Capsulae rubrae pars est quasi bidirectionalis IO port , cum frenum internum humile planum est, per portam NOT; basis transistoris est in altam, transistor in volvitur (intenta ad utrumque fines CE eadem fere in saturitate conductionis) et IO. portus microcontrollerum outputs humilis gradu, cuiuscumque externi Utrum switch clavis pressa est vel papaver sursum, IO portus humilis manet. Hoc est, non exterioribus signis regitur.
Cum internus output est altus gradus, post portam NOT transiens, basis transistoris est valde humilis, et transistor non agit (resistentia ad utrumque finem CE maxima est, et resistentia R insensibilis comparatur cum. Hoc tempore, output of the IO port is high level. Cum puga pressa est, IO portus innititur, IO portus in plano iaceo.
Ex quo videri potest quod solum quandoIO portum output est altamquando,Output of the IO Port is controled by the external circuit。
Scimus ergo internum output of P3.0 semper altum esse cum utitur portu RXD.Portus P3.1TXD est transfusor et eiusInternum output graduMutari potest sursum vel deorsum ut opus fuerit.
Et: nam gradus TTL
Output terminal: high level >=2.4V, low level <=0.4V;
Accepto fine: gradu alto >=2.0V, planities <=0.8V.
Nam gradu COMS
Terminatio output: altus campester = Vcc, humilis gradu = GND (Vcc est potestas copia intentione);
Sumens finem: gradum excelsum >=0.7Vcc, planum <=0.2Vcc.
Est adhuc aliqua differentia intentionis inter gradum logicae recipientis finem et gradum rationis extra finem. causa est.
Utere IO portum simulare UART Vide communicationis
Progressio superior:
- # include<reg52.h>
-
- sbit PIN_RXD = P3^0; //接受引脚定义
- sbit PIN_TXD = P3^1; //发送引脚定义
-
- bit RxdorTxd = 0; //指示当前状态为接受还是发送
- bit RxdEnd = 0; //接受结束标志
- bit TxdEnd = 0; //发送结束标志
- unsigned char RxdBuf = 0; //接收缓冲区
- unsigned char TxdBuf = 0; //发送缓冲器
-
- void ConfigUART(unsigned int baud);
- void StartTXD(unsigned char dat);
- void StartRXD();
-
-
- void main()
- {
- EA = 1; //打开总中断
- ConfigUART(9600); //配置波特率为9600
-
- while(1)
- {
- while(PIN_RXD); //等待接收引脚出现低电平,即起始位
- StartRXD(); //启动接收
- while(!RxdEnd); //等待接受完成
- StartTXD(RxdBuf +1);//接受到的整数+1后,发送回去
- while(!TxdEnd); //等待发送结束
- }
- }
-
- /* 串口配置函数,baud-通信波特率 */
- void ConfigUART(unsigned int baud)
- {
- TMOD &= 0xF0; //清零T0的控制位
- TMOD |= 0x02; //配置T0为模式2
- TH0 = 256 - (11059200/12)/baud; //计数T0的重载值
- }
-
- /* 启动串行接受 */
- void StartRXD()
- {
- TL0 = 256 - ((256-TH0) >> 1);//接受启动时T0定时为半个波特率周期
- ET0 = 1; //使能T0中断
- TR0 = 1; //启动T0
- RxdEnd = 0; //清零接受结束标志
- RxdorTxd = 0; //设置当前状态为接受 1位发送
-
- }
-
- /* 启动串行发送,dat-待发送字节数据 */
- void StartTXD(unsigned char dat)
- {
- TxdBuf = dat; //待发送数据保存到发送缓冲器
- TL0 = TH0; //T0计算初值为重载值
- ET0 = 1; //使能T0中断
- TR0 = 1; //启动T0
- PIN_TXD = 0; //发送起始位
- TxdEnd = 0; //清零发送结束标志
- RxdorTxd = 1; //设置当前状态为发送
- }
-
- /*T0中断服务函数,处理串行发送和接收 */
- void interruptTimer0() interrupt 1
- {
- static unsigned char cnt = 0;
-
- if(RxdorTxd)
- {
- cnt++;
- if(cnt <= 8) //低位在先一次发送8bit数据位
- {
- PIN_TXD = TxdBuf & 0x01;
- TxdBuf >>= 1;
- }
- else if(cnt == 9) //发送停止位
- {
- PIN_TXD = 1;
- }
- else //发送结束
- {
- cnt = 0; //复位bit计数器
- TR0 = 0; //关闭T0
- TxdEnd = 1; //置发送结束标志
- }
- }
-
- else //串行接收处理
- {
- if(cnt == 0) // 处理起始位
- {
- if(!PIN_RXD) //起始位为0时,清零接收缓冲器,准备接受数据位
- {
- RxdBuf = 0;
- cnt++;
- }
- else //起始位为1(不为0)时,中止接收
- {
- TR0 = 0; //关闭T0
- }
- }
- else if(cnt <= 8) //处理8位数据位
- {
- RxdBuf >>= 1; //低位在先,所以将之前接收的位向右移
- if(PIN_RXD) //接收脚为1时,缓冲器最高位置1
- { //而为0时不处理即仍保持位移后的0
- RxdBuf |= 0x80;
- }
- cnt++;
- }
- else //停止位处理
- {
- cnt = 0; //复位bit计数器
- TR0 = 0; //关闭T0
- if(PIN_RXD) //停止位为1时,方认为数据有效
- {
- RxdEnd = 1; //置接收结束标志
- }
- }
- }
-
- }
Logica Opus map
Haec programma timer 0 utitur ad UART Vide communicationem simulandiProgramma simulatio. Haec programma communicationis instrumentorum inter computatorium et microcontroll. Eius communicationis effectus est ut notitias a computatro ad microcontrollero transmissas transmittat, et microcontroller 1 ad notitias addit et ad computatorium remittit. Utere ad portum serialem debugging adiutorem qui cum STC-ISP venit ad hunc exitum demonstrandum.
Primum, fac portus idem esse. Supra imagines omnes COM3, baud rate est 9600, frenum perscriptio est NO, notitia frenum est 8, et frenum sistendum est 1. (Quod positum est hic est scriptor computatrum' Vide parametri portum)
Vide exitum: communicatio normalis fieri potestTimor 0 simulat Vide communication_bilibili_bilibili
Breviter exponere logicam huius programmatis operationem: namMitte modulusExempli gratia: mitte 0xAA=1010 1010 ab infimis partibus incipiens
Id est TxdBuf = 1010 1010Aspice in programmatis
- if(RxdorTxd)
- {
- cnt++;
- if(cnt <= 8) //低位在先一次发送8bit数据位
- {
- PIN_TXD = TxdBuf & 0x01;
- TxdBuf >>= 1;
- }
- else if(cnt == 9) //发送停止位
- {
- PIN_TXD = 1;
- }
- else //发送结束
- {
- cnt = 0; //复位bit计数器
- TR0 = 0; //关闭T0
- TxdEnd = 1; //置发送结束标志
- }
- }
primisIntra interrumpere cnt = 1
PIN_TXD = TxdBuf & 0x01, id est, effectus ET ex 1010 1010 0000 0001, assignare frenum infimum 0xAA ad portum mittens ut gradu respondenti. Videri potest intentionem intrantem portum TXD interruptum primum esse humilem, et hic processus usque dum secundus fiat interruptio.
Deinde TxdBuff transfertur unum frenum in dextram, id est TxdBuf = 0101 0101.
deindesecundointerrumpere
cnt = 2
PIN_TXD = 1 Hoc tempore planities ad portum mittens alta est
TxdBuf = 0010 1010
Tum tertio et quarto usque ad8 tempus
cnt = 8
Planum ab PIN_TXD = 1 statutum est alta planities, quae altissima pars 1 notitiarum transmissarum est.
Hoc tempore TxdBuf = 0x00
deinde9th tempusIngredientes interrumpere. 9th intrans interrumpere significat notitias minutas iam missas esse et tempus est parare frenum mittendi sistendi.
Ergo PIN_TXD = 1, Portus mittens directe ad altam assignatur.
Ultima decima interregem repraesentat, sistendum etiam missum esse.Ergo, cnt reset assignatur valor ipsius 0, TR0 assignatur valor 0, timer 0 submovetur, TXDEnd = 1, transmissio finis vexilli ad I ponitur, et transmissio integrae notae tabulae perficitur.
deindeaccepto moduli: 0xAA antea misimus. Ad hoc munus, eius valor effectus est 1 ad datam receptam addere, sic data recepta est: 0xA9 = 1010 MI.
- void StartRXD()
- {
- TL0 = 256 - ((256-TH0) >> 1);//接受启动时T0定时为半个波特率周期
- ET0 = 1; //使能T0中断
- TR0 = 1; //启动T0
- RxdEnd = 0; //清零接受结束标志
- RxdorTxd = 0; //设置当前状态为0接收 1为发送
-
- }
- else //串行接收处理
- {
- if(cnt == 0) // 处理起始位
- {
- if(!PIN_RXD) //起始位为0时,清零接收缓冲器,准备接受数据位
- {
- RxdBuf = 0;
- cnt++;
- }
- else //起始位为1(不为0)时,中止接收
- {
- TR0 = 0; //关闭T0
- }
- }
- else if(cnt <= 8) //处理8位数据位
- {
- RxdBuf >>= 1; //低位在先,所以将之前接收的位向右移
- if(PIN_RXD) //接收脚为1时,缓冲器最高位置1
- { //而为0时不处理即仍保持位移后的0
- RxdBuf |= 0x80;
- }
- cnt++;
- }
- else //停止位处理
- {
- cnt = 0; //复位bit计数器
- TR0 = 0; //关闭T0
- if(PIN_RXD) //停止位为1时,方认为数据有效
- {
- RxdEnd = 1; //置接收结束标志
- }
- }
- }
Videri potest processus mittendi et recipiendi similes actu. Ad data recipienda, notavi primum interrumpere incipiendo ab 0 tempore maxime ad cooperandum cum intellectu facili.
Ut in figura ostenditur, videre potes tempus quod ingrediendi interpellandi tempus 0th est dimidium temporis interrumpendi. Hoc est quia cum confirmans utrum signum aequale sit 0 vel 1, si gradu primo tempus sampling fieri potest error vel impedimentum, ideo punctum sampling generaliter ponitur in medio temporis signo transmissionis, et signum planum habetur pro signo temporis temporis transmisso. Modulus ergo adsumptio solum debet suum tempus interrumpere ad dimidium originalis, cum primum initium recipit, ita ut omnia puncta in puncto centri signo sequentis sint.
Videamus quomodo institutum sit: TL0 = 256 - ((256-TH0) >> 1);
256-TH0 tempus est tempus interrumpere of 8. Versio ad dextram per 1 est 0000 0100 = 4. Videri potest operationem mobilis recti per 1 partem mutare numerum ad dimidium pretii originalis. Eodem modo effectus mutationis per 1 partem relictus est 0001 0000=16, quod significat multiplicationem primigenii numeri in 2
Initium progressio processus analysis
Cum RxdorTxd est 0, intra munus aliud, id est0th tempore Ingredientes interrumpere, initium acceptionis moduli in tempore dominico est medium exordii frenum. Primum determinare utrum portus intentione sit humilis, et si non, interrumpendum averte. Cur hoc?
Quia hic modulus recipiendi est, intentione RXD a microcontroller non regitur. In hoc casu, a computatro in intentione terminalis CH340T TXD moderatur. Intentio RXD microcontrollis est CH340TXD finem sequitur.
Si sic, cnt + +, ergo cnt=1. RxdBuf = 0;
deinde1st(Actu secundo)Secundus-rate Intra cnt = 1 interrumpere et aliud inire si munus () notitias ad quiddam gradatim transferre. Processus sequens non singillatim describit. Si lectores intersunt, per se secundum logicam rationem procedunt. Vide an notitiae re vera recondi possint in quiddam variabile in parvo primo et deinde in alto paulum modo. Quia in priore blog stipes, munus sinistrae trabeae methodo utitur ut primum altas frustularum notitiarum reponat. Aditus hic alius modus operandi satis complementum est.
Hoc in loco, programmata timer 0 utitur ad UART Vide communicationem simulare.
Tria genera communicationis
Communicatio simplicis: Una tantum pars informationes alteri parti transmittere licet, et altera pars informationes remittere non potest, ut TV controllata remota, radiophonicas radiophonicas, etc.
Communicatio dimidia duplex: Data inter duas partes transmitti potest, et una tantum pars alteram partem simul mittere potest. Progressio simulationis porti supra Vide etiam intellegi potest tamquam communicationis dimidium duplex
Communicatio plena duplicata: notitia mitti potest cum data etiam accipienda, et duo simul fiunt, sicut communicatio telephonica nostri.
IO Portus simulationis communicatio serial basically ostendit essentiam communicationis serialis, sed programmata microcontroller constanter deprehendere et lustrare notitias receptas ab IO portu microcontroller, quae multum temporis microcontrollers currit. Ideo modulus UART intra 51 microcontroller est, qui automatice datam recipere potest. Just notifica, accepto illo.
SCON Vide imperium registri
Hic casus solum modum inducit 1, id est, ponendi SM1 = 1 et SM0 = 0 modus est 1. Hic modus est formarum formarum quae in priore simulata communicationis serial adhibita sunt: 1 initium frenum, 8 notitia frena et 1 frenum desinunt.
Analog Vide communicatio timer 0 utitur ut baud rate exprimat
Cum timer T2 utens, additae configurationis registrae requiruntur.
Programma signum:
- # include<reg52.h>
-
- void ConfigUART(unsigned int baud);
-
- void main()
- {
- EA = 1;
- ConfigUART(9600); //配置波特率为9600
- while(1);
-
- }
- /* 串口配置函数,baud-通信波特率 */
- void ConfigUART(unsigned int baud)
- {
- SCON = 0x50; //0x50= 0101 0000 配置串口为模式1
- TMOD &= 0x0F; //清零T1的控制位
- TMOD |= 0x20; //0x20 = 0010 0000 配置T1的为模式2自动重载模式
- TH1 = 256 - (11059200/12/32)/baud; //计算T1的重载值
- TL1 = TH1; //设置初值
- ET1 = 0; //禁止T1中断
- ES = 1; //启动串口中断
- TR1 = 1; //启动T1定时器
- }
-
- /*UART中断服务函数 */
- void interruptUART() interrupt 4
- {
- if(RI) //接收到字节
- {
- RI = 0; //软件清0接收中断标志
- SBUF = SBUF+1;//接收的数据+1,左边是发送SBUF,右边是接收SBUF
-
- }
- if(TI)
- {
- TI = 0; //软件清0发送中断标志位
- }
-
- }
Vide inspice eventus:Venit cum modulo serial communication_bilibili_bilibili
Videri potest communem communicationem sine ullo problemate perfici posse, ac deinde brevis explicatio contentorum quae in programmatis pertinentibus afferuntur;
Formula calculi pro reload valorem timoris T1 est:
TH1 = TL1 = 256 - crystallus oscillator pretii/12/2/16/ haud rate tunc eius
Intervallum intervallum = crystallum oscillator value/12/2/16/baud rate = crystal oscillator value/12*(1/baud rate)*(1/32)
Crystal oscillator pretii/12 significat numerum cyclorum machinae in secundo secundo, (1/baud rate) tempus postulatum transmittere 1 frenum of notitia.
Crystal oscillator pretii / 12* (1/ baud rate) significat quot machina processors opus est ut transmittat I frenum of notitia
Eodem modo, oscillator cristallinus valor/12*(1/baud rate)*(1/32) tempus interrumpere = 1/32 temporis, ut partem unam datam transmittat.
Hoc est, transferre aliquid notitiae in 32 temporis intervalla.
Proventus computatus est 3, id est, intervallum intermedium = 3 cyclos apparatus.
Quia signum sampling modus videndi moduli portus est unum signum XVI temporum colligere et signum gradus VII, VIII, VIIII, IX et IX capere Si planum est 0 bis, hoc frenum censetur 0. Hoc modo, si enunciata perperam legantur ex inopinato impedimento, rectitudo notitiarum finalium adhuc praestari potest.
Pictura infra est e blog stipis suadeo maxime ad explicandum commodum.: Calculation formula baud rate
SMOD potestate registri PCON refrenatur. Defalta, SMOD est 0. Substituens in superiori formula, est prior valor initialis formulae solutionis.
TH1 = TL1 = 256 - crystallum oscillatorium pretii/12/2/16/baud rate
Ubi summa valoris scripti ad 1 PCON ponitur |= 0x80; hoc est, SMO ad 1, duplicari potest, ut in formula supra ostendetur.
Hoc tempore, valor initialis T1 fit: TH1 = TL1 = 256 - valorem oscillatoris crystallini / 12/16/ baud rate
Unum notandum hic est: Si vis tabulario PCON uti ad ratem undam refrenare ad duplum, cuius valor initialis formula adhuc scribenda est.
TH1 = TL1 = 256 - cristallina oscillator pretii/12/2/16/ navis baud iusta
Praesens reload valor TH1=256 - (11059200/12/32)/baud=256-(11059200/12/16)/(2*buad) baud* 2=4800*2=9600, 9600 valor ipsius current progressio baud rate
Si valorem initialem reloading societas tua scribit TH1 = TL1 = 256 - cristallum oscillatorium valorem/12/16/ baud rate, tunc currens eius baud rate adhuc 4800, non 9600 est.Software communicationis serialis uteris ut communicationem socialem ad 9600 mittat et transmittatEffectus est iniuriam。
Vide vide:Baud rate related_bilibili_bilibili
Videmus tempus intervallum pro baud 9600 cyclis machinarum tantum esse 3 cyclos machinarum, et tempus intervallum 14400 cyclos apparatus 2 esse. Perspici potest quod, si ejus rate baud altior est, temporis intervallum sit minor quam 1 machina cycli. Est ergo alius modus operandi, id est, ConfigUART (9600) post summum PCON ad 1 positum; Machinae circuitus III.
Animadvertendum est adhuc plures differentias in opere timentis 0 simulatae communicationis serialis et moduli communicationis serialis. Vide communicationis moduli unum initus et output complet, et solum duas interpellationes communicationis seriales intrat. Semel in responsione ad RI ad 1, semel in responsione ad TI ad 1, tum per programmatum sedatur. Iam non attende processum transmissionis, tantum intendunt num transmissio compleatur et signum mittat cum transmissio perficitur.
Circuitus communicationis serialis mittens et recipiens duos regesta identica SBUF habet, eorumque inscriptiones sunt etiam 0x99, sed una ad quiddam mittens et altera ad quiddam accipiendum adhibetur. Hoc significat quod duae mansiones sunt, et domus numerorum duarum cubiculorum idem est. Hoc modo plena duplex communicatio UART sine impedimento inter se fieri potest. Sed logice, solum SBUF omni tempore operatur, et microcontroller se sponte eligat utrum SBUF recipere vel SBUF mittere nitatur sive operationem "legare" sive "scribere" in ea exerceat.
Basic gradus programmatis communicationis vide:
Vide portum ad modum 1 1. configurare.
2. Configure timer T1 ad modum 2, qui est modus reinstallation latae sententiae.
3. Adice valores initiales TH1 et TL1 in baud rate innixos.
4. Aperire regimen timoris TR1 et currendum timer.Nota: Cum portum Vide utens interpellare, timor 1 interpellare iam non potest, nisi timer 2 Vide portum interpellare.