USART перериває допомогти ...

P

piscaroy

Guest
привіт, Ммм в моєму проекті мені потрібно отримати дані від послідовного порту COM і зберігати в EEPROM .. і їм думати, що якщо перші дані в процесі зберігання, а другий надіслати дані через послідовний порт даних буде отримувати?і я роблю слід допомогою PC направити до рис .. а Runing перших даних я натискаю відправити другу дані і моя мета борту повісили ... їм цікаво чи USART перериває допоможе або опитування (але їм не дуже впевнений у цих 2 функції) ... або є якісь any1 зразка кодекси USART переривання на мові C для pic18f452 (C18 компілятор бажано, але якщо не АНМ або інші C також може) просто дати мені посилання ...?Прохання допомогти thankz

найкращими побажаннями ..

 
Привіт,

Найкраще місце, щоб отримати серійний приклад управління та управління EEPROM-сайті Microchip.Вони мають повне шельфу заявок зазначає з цього приводу:

ч ** P: / / www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2048

* = Т

 
Я отримати те ж питання кілька місяців тому.Я повинен отримати дані модуля GPS в USART0 кожну секунду.І це швидкість передачі 4800bps.But я закінчу отримати перші дані.Я повинен відправити його в інший порт USART.Коли я його відправити, 2-я відправити дані форми GPS module.So Я буду сумувати за другим data.But я сподіваюся, може вирішення цього питання.Не пропустіть жодної даних.Так що я
використовувати два MPU.Вони названі MPU1 і MPU2.When MPU1 отримувати Модуль GPS даних через USART на 4800bps.MPU2 використовувати 8 ліній шини даних і 3-х ліній шини керування отримати дані форми MPU1 fastly.So MPU1 тільки отримувати дані, і MPU2 тільки посилати дані.^ ^

 
Може бути, ви повені буфера Rx, у зв'язку з EEPROM доступ повільніше, ніж швидкість UART, тому ви повинні код FIFO-буфер для тимчасового зберігання отриманих даних.
З повагою
Останній раз редагувався Regnum по 27 вересня 2004 8:30; редагувалось 1 раз в загальній складності

 
<img src="http://www.edaboard.com/images/smiles/icon_razz.gif" alt="Дражнити" border="0" />Він, легко!
Ви зчитувати дані з USART і зберегти його в пам'яті буфера (збільшення індексу письмово і порівняти її з довжиною буфера, якщо надлишок повинен скинути лист індекс).Після Втеча з переривання служби Rountine (ISR), ви пишете в EEPROM даних, які прочитаних з пам'яті буфера, а також збільшення індексу читати, можна порівняти його з довжиною буфера і відновити його, якщо повністю.
Два процеси майже те ж саме час.
У ISR, запис буфера RAM тільки письмово індекс, рівний індексу читанні.Якщо, навпаки, вона сповнена буфера і залежить ваш м'який.
В основній програмі, якщо писати індекс не той же індекс читанні -> у (а) нові дані, які потрібно писати EEPROM.Після запису кінця, пам'ятаю читанні збільшення індексу.

 
conkhicon пише:...
Після запису кінця, пам'ятаю читанні збільшення індексу.
 
PIC18F452 специфікації запису даних у EEPROM використовувати
4 мс для запису циклу.
Якщо ви використовуєте C Langauge Я думаю, ви повинні
використання написати цикл час = 5 мс.
Таким чином, ви можете написати потоку даних 200 байт / секунду
# Дизайн гарний потиснути руку для програмування.

 
Regnum пише:conkhicon пише:...
Після запису кінця, пам'ятаю читанні збільшення індексу.
 

Welcome to EDABoard.com

Sponsor

Back
Top