USART hodiny vysielača spínacích

M

M3GAPL3X

Guest
Ahoj chalani, som v súčasnej dobe používajú LFINTOS (Low Frequency Interný oscilátor) stanovené na 31 kHz ako môj hlavný zdroj hodín. Nakoniec v mojom programe, budem treba odovzdávať niektoré údaje prostredníctvom USART. Z toho, čo som čítal, by som nemal byť schopný používať 31 kHz na dosiahnutie tohto cieľa - väčšinou kvôli prenosové rýchlosti generáciu. Existuje spôsob, ako môžem prejsť hodiny, keď chcem prenášať dáta a vrátiť sa k 31 kHz? Akékoľvek rady alebo pokyny chcel by som byť ocenil.
 
Budem používať PIC18F14K50 s prenosovou rýchlosťou 115.2k Vďaka
 
Áno, môžete prepínať (hlavný) hodiny v reálnom čase. Prečítajte si bit OSCCON
 
Vďaka modrej. Moja otázka je, že budem mať to vypnúť LFINTOSC (31 kHz), čo je hlavne pre moje strážny časovač pred zapnutím vyšší 8 MHz alebo bude automaticky vypne? Vďaka!
 
Strážny pes má svoj vlastný RC OSC. Stačí zmeniť OSCCON register.
 
Vďaka modrej. V mojom USART bežné, len som mohla 8 Mhz HFINTOSC pre prenosové rýchlosti generáciu.
 
Má USART pracovať v režime spánku? V mojom návrhu, budem musieť čakať, až sa dostávať niektoré údaje z HOST a keď som dostávať, že niektoré údaje, budem musieť poslať dáta späť. Moja otázka je, čo keď HOST Posiela mi dát, zatiaľ čo ja spím? [Size = 2] [color = # 999999] Pridané po 1 hodina 20 minút: [/color] [/size] Ďalšia otázka. Povedzme, že vyšle niektoré údaje na môj pin RX. Aby ma získať to, všetko, čo potrebujete, je RCSTAbits.SPEN = 1; / / sériový port povolený bit vysokej správny? Je môj hodiny musí byť v rovnakom pomere pre prenosové rýchlosti? Chcem vedieť, či môžem dostávať informácie len s mojím Watchdog Timer povolené ... Vďaka vopred! [Size = 2] [color = # 999999] Pridané po 15 minútach: [/color] [/size] Ďalšia otázka. Povedzme, že vyšle niektoré údaje na môj pin RX. Aby ma získať to, všetko, čo potrebujete, je RCSTAbits.SPEN = 1; / / sériový port povolený bit vysokej správny? Je môj hodiny musí byť v rovnakom pomere pre prenosové rýchlosti? Chcem vedieť, či môžem dostávať informácie len s mojím Watchdog Timer povolené ... Vďaka vopred!
 
dobre, v pravej spánkovej prevádzke, sú všetky hodiny zastavený, takže USART nebude fungovať ... Ale niektoré fotky, môže (sorry, nemohol som skontrolovať pic) zastaviť hlavné hodiny, ale bude aj naďalej hodiny periférií (vrátane vás USART), ktorá sa nazýva kľudový stav (PRI_RUN keby som remmber) ... vaše hodiny sadzba by mohla byť oveľa vyššia, pre USART zasielanie, skutočná prenosová rýchlosť, sa nastavuje prenosovú registrov sadzieb generátora, a potrebujú aspoň hlavné hodiny 16 krát vyššia ... (Ak si dobre spomínam) Skontrolujte tiež list, ale myslím, že je potrebné nastaviť jednu additioanl bit, CREN (trvalý príjem) .. tiež ako BlueRoom povedal, Watchdog má vlastný časovač, môže to fungovať, kým zasielanie dát .. Vybiehať Little otázku ... Prečo váš hlavný aplikácia pracuje na 31kHz? je príliš nízka pre prácu s USART ...
 
Ahoj Kurenai_ryu, pozriem, že v dátovom liste dnes. Mojím hlavným hodiny beží, že 31 kHz, pretože môj program má spať a prebudiť každý 8 ms pre kontrolu vstupov. To je hlavne pre úsporu energie. Mal som k tomu, aby watchdog časovač to a zase, watchdog timer používa 31 kHz hodiny. Takže to je dôvod, prečo moja 31 kHz je môj hlavný hodiny. V 8 ms, bude môj program neustále kontrolovať vstupy, ADC a USART prijímač (RX) pre určité bit a ísť spať po 8 ms a prebudiť opäť po 8 ms. Funkcia USART umožní 8 MHz zakaždým (každých 8 ms) pre prenosové rýchlosti generovanie a kontrolu vstupov a ako prepnúť späť na 31 kHz hodiny. Ak to určité bit je dostali, bude USART posielať veci späť do HOST. To všetko bude vykonané v 8 časovača watchdog ms. Je to najlepší spôsob, ako ísť o to?? Budem písať nejaký kód neskôr ukázať, čo robím. Vďaka! [Size = 2] [color = # 999999] Pridané po 3 hodinách 38 minút: [/color] [/size] Myslíte si chlapci myslia, že by som mala bežať môj PIC na 8 MHz pre moje hlavné frekvenciu? Bolo by to trvať veľa energie?
 

Welcome to EDABoard.com

Sponsor

Back
Top