реклама на сайте
подробности

 
 
> Симуляция UART, Как передавать/получать данные UART при отладке в МПЛАБ
asp
сообщение Feb 11 2008, 13:53
Сообщение #1


Частый гость
**

Группа: Validating
Сообщений: 103
Регистрация: 4-07-05
Пользователь №: 6 490



Подскажите пожалуйста!

Вопрос в том что вывести в окно символ получается, а ввести пишет

UART-W0002: Read attempted from an Empty RCREG SFR, invalid data

Примеры в Хелпе для PIC18, а у меня PIC16F877A

Подскажите что я делаю не так?

Создао специально простой пример для теста:

#include <pic.h>
__CONFIG(0x03F72);

unsigned char indata;
unsigned char outdata;

void main(void)
{
// Инициализация USART
SPBRG = 25; // Установка скорости обмена данными 2400 при 4 МГц
BRGH = 0; // Низкоскоростной режим генератора частоты обмена
SYNC = 0; // Асинхронный режим передачи данных
SPEN = 1; // Включаем модуль USART
CREN = 1; // Разрешаем прием данных
TXEN = 1; // Разрешаем передачу данных


while(1)
{
if(RCIF)
{
indata = RCREG;
if(indata==100)
{
TXREG=indata;
}
}
}
}

Оздаю файл indata.txt

//single-packet example
wait 20 ms
10 20 34

Подключаю его Debugger>Settings, UART IO tab.

# Устанавливаю "Enable UART1 I/O".
# Выбираю indata.txt as the "Input" file. Check "Rewind Input" so the program will read the input file again once it has reached the end-of-file.
# Выбираю "Window" under "Output" to display USART output on the SIM UART1 tab of the Output window

Компилирую.

Прохожу МПЛАБ СИМ:

1. Флаг RCIF не устанавливается, соответственно не попаем на фрагмент считывания из RCREG.

2. Изменяю if(RCIF) на if(!RCIF) получаю sad.gif

UART-W0002: Read attempted from an Empty RCREG SFR, invalid data

Подскажите пожалуйста где копать.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 12:26
Рейтинг@Mail.ru


Страница сгенерированна за 0.01356 секунд с 7
ELECTRONIX ©2004-2016