Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
10.12.2011, 18:35
|
#41
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: USART на PIC18
Сообщение от george carpenter
|
Попробовал сделать прием информации на Windows XP, интерфейс ожил, но получаю странные вещи... Если тестером проверить во время цикла
PHP код:
|
for (int cyc = 1; cyc‹=3; cyc++)
{
int count = 0;
int val = 155;
srand(cyc);
for (int i = 0; i‹=SIZE; i++)
{
int rd = rand()% 256;
if ( val › rd)
{
//SETBIT(map,i);
USARTWriteString("1");
count++;
}
else
{
//CLEARBIT(map,i);
USARTWriteString("0");
}
}
USARTWriteString(" ");
USARTWriteInt(count,255);
USAR
|
выдается около 8V и в программе не видно чтобы что то приходило на COM, а когда цикл завершается то выдается 2,5V и на COM поступает, то что картинке).
Интересно почему на Windows 7 не работает.
|
Подключаем осциллограф и разум. По-отдельности будет трудно, как для начинающего. RS-232 - протокол старт-стопный. Любой симивол начинается со стартового имульса. По нему засинхронизировать сигнал и внимательно его рассмотреть. Сразу все будет видно.
__________________
С уважением,
Vic / ut1wpr
|
|
|
|
10.12.2011, 19:51
|
#42
|
Прописка
Регистрация: 16.11.2010
Сообщений: 196
Сказал спасибо: 20
Сказали Спасибо 42 раз(а) в 42 сообщении(ях)
|
Re: USART на PIC18
С удовольствием бы проверил, осцилографа нет у меня.
|
|
|
|
11.12.2011, 15:06
|
#43
|
Прописка
Регистрация: 25.08.2006
Сообщений: 247
Сказал спасибо: 73
Сказали Спасибо 11 раз(а) в 6 сообщении(ях)
|
Re: USART на PIC18
тогда только голым языком, будет пощипывать ))))))
|
|
|
|
11.12.2011, 15:41
|
#44
|
Прописка
Регистрация: 16.11.2010
Сообщений: 196
Сказал спасибо: 20
Сказали Спасибо 42 раз(а) в 42 сообщении(ях)
|
Re: USART на PIC18
Сообщение от granel
|
тогда только голым языком, будет пощипывать ))))))
|
Очень остроумно!
Какие соображения почему под 7кой не работает?
|
|
|
|
11.12.2011, 15:44
|
#45
|
Гражданин KAZUS.RU
Регистрация: 17.08.2008
Сообщений: 770
Сказал спасибо: 52
Сказали Спасибо 450 раз(а) в 202 сообщении(ях)
|
Re: USART на PIC18
Сообщение от ut1wpr
|
По нему засинхронизировать сигнал и внимательно его рассмотреть. Сразу все будет видно.
|
Нужно переделать программу- после приема байта вывести 1 в порт. И обратно отправить 1.
Последний раз редактировалось XoDoK11; 11.12.2011 в 15:51.
|
|
|
|
11.12.2011, 16:07
|
#46
|
Прописка
Регистрация: 16.11.2010
Сообщений: 196
Сказал спасибо: 20
Сказали Спасибо 42 раз(а) в 42 сообщении(ях)
|
Re: USART на PIC18
Сообщение от XoDoK11
|
Нужно переделать программу- после приема байта вывести 1 в порт. И обратно отправить 1.
|
После приема? Я же данные отсылаю. Может проблема в библиотеке usart.c??
PHP код:
|
void USARTInit()
{
//Baud Rate = 57600 Bits per Second
//*** Note: Valid On 20MHz Crystal ONLY ***
//For other crystal freq calculate new values for SPBRG
SPBRG=86;
//TXSTA REG
TXEN=1;
BRGH=1;
//RCSTA
SPEN=1;
CREN=1; //Enable Receiver (RX)
//BAUDCON
BRG16=1;
}
void USARTWriteString(const char *str)
{
while((*str)!='\0')
{
//Wait for TXREG Buffer to become available
while(!TXIF);
//Write data
TXREG=(*str);
//Next goto char
str++;
}
}
|
И странно на 7ке программатор через COM шьет все отлично а от платы COM данные не принимает, а на XP принимает.
|
|
|
|
11.12.2011, 16:34
|
#47
|
Прохожий
Регистрация: 18.03.2010
Сообщений: 8
Сказал спасибо: 3
Сказали Спасибо 1 раз в 1 сообщении
|
Re: USART на PIC18
никаких проблем на семерке нет, даже на x64. Просто внимательно надо читать даташит и правильно настроить делитель, а также порт на прием установить на такую же скорость
|
|
|
|
11.12.2011, 16:46
|
#48
|
Гражданин KAZUS.RU
Регистрация: 17.08.2008
Сообщений: 770
Сказал спасибо: 52
Сказали Спасибо 450 раз(а) в 202 сообщении(ях)
|
Re: USART на PIC18
Цитата:
|
Сообщение от george carpenter
Попробовал сделать прием информации на Windows XP, интерфейс ожил, но получаю странные вещи...
|
Поэтому и отправлять нужно известное число. Смотреть лучше в HEX, а не ASCII.
|
|
|
|
12.12.2011, 20:40
|
#49
|
Прописка
Регистрация: 16.11.2010
Сообщений: 196
Сказал спасибо: 20
Сказали Спасибо 42 раз(а) в 42 сообщении(ях)
|
Re: USART на PIC18
Сделал отправку известного числа, USARTWriteInt(99,255); в постоянном цикле, и еще после каждой отправки сделал так чтобы диод мигнул. Запускаю, диод мигает, данные не приходят. Чисто случайно не правильно подсоединил контроллер к max232 начал компьютер что-то принимать только не то что я отсылал.... Еще может проблема связна с тем что я использую конденсаторы по 1мкФ а микросхема ST232BN???
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Компилятор С Pic18
|
dosikus |
Микроконтроллеры, АЦП, память и т.д |
5 |
28.08.2010 01:33 |
C++ для PIC18
|
alberio |
Микроконтроллеры, АЦП, память и т.д |
5 |
07.07.2010 17:48 |
Программирование PIC18
|
genial |
Микроконтроллеры, АЦП, память и т.д |
1 |
03.04.2008 12:43 |
pic18.inc
|
EVGENIY1962 |
Микроконтроллеры, АЦП, память и т.д |
4 |
12.06.2007 07:49 |
SSE2 на PIC18
|
Гость |
Микроконтроллеры, АЦП, память и т.д |
0 |
05.12.2005 10:18 |
Часовой пояс GMT +4, время: 08:14.
|
|