Чтение данных из RCREG на pic18f4525 с устройства bluetooth

У меня есть проект, в котором я пытаюсь отправить данные с телефона Android на pic18f4525 через устройство Bluetooth. В настоящее время я просто пытаюсь заставить картинку распознавать простые буквы, такие как «А».

Насколько я понимаю, когда рис получает данные через PORTC.7 (вывод RX), он сохраняет 8-битную информацию в регистре RCREG, а затем мне все, что нужно сделать, это прочитать данные. Я знаю, что картинка получает данные, когда устанавливается флаг приема. Кроме того, я подключил прицел к контакту приема на картинке, и он принимает правильные последовательности 01.

У меня вопрос, как мне прочитать регистр RCREG, чтобы получить доступ к информации? Насколько я могу судить, я могу просто использовать ReadUSART из usart.h, однако этот файл заголовка не будет компилироваться для меня, поэтому я пытаюсь получить доступ к этим данным без этого файла заголовка. Есть ли способ сделать это? Я попытался просто сохранить данные напрямую (т.е. значение = RCREG), и я могу «прочитать» регистр (флаг приема сбрасывается, поэтому я знаю, что читаю его), но рис всегда думает, что значение равно 0xFF, независимо от того, что я Отправить.

Я использую MPLAB версии 8.85 с ICD2 и компилятором CC8E. Любая помощь относительно того, как читать данные, будет принята с благодарностью. Я также полностью прочитал лист данных для использования usart на картинке, прочитал руководство по компилятору и провел много поисков по этой теме, но безрезультатно.

Спасибо за вашу помощь.

Обновлять:

СДЕЛАНО!!! После еще нескольких часов возни с этим я наконец заставил его работать. На самом деле это была проблема со скоростью передачи данных. Спасибо за твою помощь!


person anonymous    schedule 05.06.2012    source источник
comment
Размещение фрагмента кода о том, как вы пытаетесь прочитать данные, поможет диагностировать вашу проблему.   -  person user957902    schedule 06.06.2012
comment
Также опубликуйте, как вы настроили картинку для использования PORTC.7 в качестве вывода UART RX. Контакты PIC имеют много общих функций, и иногда бывает сложно правильно настроить все регистры конфигурации.   -  person user957902    schedule 06.06.2012


Ответы (1)


То, что вы делаете, должно работать. Это звучит как несоответствие скорости передачи (возможно, вы каким-то образом не установили регистр BRG или неправильно рассчитали значение, которое в нем записано). Я бы попытался записать в TXREG, запустив запись на вывод TX, которую вы можете поймать на осциллографе и убедитесь, что фактическая скорость передачи данных такая же, как и у RX.

person Nathan Wiebe    schedule 06.06.2012