Проблема з отриманням байт за раз (вкл / викл главі)

C

candy66

Guest
Гей, хлопці, я зіткнувся з проблемою прямо зараз ... мені потрібно, щоб вкл / викл привів, коли я отримав кілька btyes одночасно (наприклад, коли я отримав 3 байта, індикатор повинен стати "на вихідні та на" agn.Can будь ? Один допомогою Тепер я тільки встиг включити привів, коли я прийняв байт і від привела коли я отримав наступний byte.This мій код: uart_ready BTFSS PIR1, RCIF;, 5 перейти uart_ready, якщо не готовий, будь ласка .. . movf RCREG, W; одужання UART дані xorwf LATB; світ під керівництвом ЧФ INTCON, 7; повторно дозволити переривання спасибі
 
Ви повинні використовувати таймер, щоб не витрачати циклів. якщо ви дійсно не можете використовувати таймер - потрібно покласти деяку затримку між петлями зміна стану під керівництвом то ви повинні додати лічильник в UART ISR - вона буде збільшена тільки один раз з кожним символ. Потім в основній програмі ви повинні порівняти це з деякого буквального (тобто 3). Якщо значення збігаються, необхідно обнулити лічильник і почала: - процедура, яка робить речі мигає з затримкою - таймер, який буде обробляти цей миготливий для Вас (таймер ISR нічого не робить більше, ніж приріст інший лічильник, і переключення під керівництвом . якщо лічильник відповідає деяка константа, таймер вимикається - потрібно перемикати розділі 3 рази, так що знову порівняємо його з 3-0x41 0x56 GL 0x45.!
 

Welcome to EDABoard.com

Sponsor

Back
Top