Opět zdravím,
jsem tu zase s dalším dotazem. Mám problém s vysíláním více bytů za sebou z USARTu. U řady PIC16 jsem používal :
void Uart1SendChr() {
while(!PIR1bits.TX1IF);
TX1REG = (110);
while(!PIR1bits.TX1IF);
TX1REG = (120);
while(!PIR1bits.TX1IF);
TX1REG = (130);
while(!PIR1bits.TX1IF);
TX1REG = (140);
while(!PIR1bits.TX1IF);
TX1REG = (150);
while(!PIR1bits.TX1IF);
TX1REG = (160);
}
a odeslal se mi každý byte. Teď kdy to zkouším u řady PIC18 a vždy se mi odešle jen “160”. No vlasně někdy tam skočí i třeba “120” a “160”. Jen když po while dám třeba DelayMs(500) tak to odečle všechny. Ale to je moc velké zpoždění.
Neměl by někdo funkčí knihovnu s USARTem pro MCC18?
Já jsem našel moc pěknou ale je psaná pro kompilátor HI-tech a nepodařilo se mi ji upravit pro MCC18. Posílám ji v příloze, třeba by měl někdo jiný větší úspěch. Obsahuje dvě složky. Jedna je originál pro HI-Tech a druhá je mnou upravená pro MCC18 - ale nefunkční.
Jinak ještě bych rád požádal o nějaké příkaldy komunikace USART se vstupní i výstupním bufferem.
Dík…
USART tutorial.zip (44.6 KB)