Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Продукция MICROCHIP

Продукция MICROCHIP Технические вопросы по всей продукции Microchip

Ответ
 
Опции темы Опции просмотра
Старый 20.11.2007, 21:32   #1
MaxPIC
Senior Member
 
Регистрация: 02.05.2007
Возраст: 34
Сообщений: 148
Вес репутации: 387/52
MaxPIC is just really niceMaxPIC is just really niceMaxPIC is just really niceMaxPIC is just really nice
По умолчанию Проблема с USART

Использую фирменный отладчик ICD2, PIC18F4520 в TQFP корпусе, пишу в микрочиповском С18. Столкнулся с такой проблемой. Инициализирую USART. Останавливаюсь в точке A. Смотрю флаг PIR1bits.RCIF. Он равен нулю. Затем устанавливаю точку останова в Б - флаг равен 1, считываю из регистра USART'а одни нули. Никаких помех нет - смотрел осциллографом. В чём проблема, почему устанавливается флаг принятия данных?
Привожу код основной программы и модуля COM-порта (остальные хедеры здесь не нужны).
Код:
// Используемые в программе библиотеки.
#include "confbits.h"

#include "command_list.h"
#include "rs232.h"

#include <p18f4520.h>
#include <timers.h>
#include <delays.h>
#include <spi.h>

//////////////////////////////////////////////////////////////////////

////////////// Name of procedures wich use in programm //////////////
void InterruptHandlerHigh(void);
void InterruptHandlerLow(void);
void main (void);
void Initialization(void);
/////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////
////////////// Interrupts ////////////////////////////////////////////
#pragma code InterruptVectorHigh = 0x0008
void InterruptVectorHigh (void)
{
  _asm
    goto InterruptHandlerHigh //jump to interrupt routine
  _endasm
}

#pragma code InterruptVectorLow = 0x0018
void InterruptVectorLow (void)
{
  _asm
    goto InterruptHandlerLow //jump to interrupt routine
  _endasm
}


////////////// High priority interrupt routine ///////////////////////
#pragma code
#pragma interrupt InterruptHandlerHigh
// All Interrupt place in this page
void InterruptHandlerHigh ()
{    
    Nop();
}

////////////// Low priority interrupt routine ///////////////////////
#pragma interruptlow InterruptHandlerLow
void InterruptHandlerLow()
{
    Nop();
}

/////////// Procedures routine /////////////////////////////////
void Initialization(void)
{
    //////////////// Set configuration of I/O ports ////////////////
    ADCON1 = 0b00001111;        // Все выводы цифровые
    CMCON = 0b00000111;
    //////////////// Set interrupt configuration  ////////////////
    INTCONbits.PEIE     = 1;     // Разрешение всех периферийных прерываний.
    INTCON2bits.RBPU    = 0;     // Подтягивающие резисторы для PORTB включены.
    RCONbits.IPEN = 1;            // Приоритетная система прерываний включена.

    Rs232_Initialization();

    INTCONbits.GIEH = 1;        // Все прерывания высокого уровня включены.
    INTCONbits.GIEL = 1;        // Все прерывания низкого уровня включены.
}    
//////////// End procedures routine ////////////////////////////

/////////// Main routine ///////////////////////////////////////
void main (void)
{
    Initialization();
    Nop();
    Delay10KTCYx(200);
    Nop();
    while (1)
    {
        Nop();
    }
}
/////////// End Main routine ///////////////////////////////////
Теперь код rs232.c
Код:
#include "rs232.h"
#include "rs232.conf.h"
#include <p18f4520.h>
#include <usart.h>
#include <delays.h>

// Переменные для RS-232
unsigned char RS_232_Buffer[BUFFER_SIZE];    // Входной циклический буфер последовательного порта                
unsigned char Write_Pointer;                // Число, указывающее на номер байта, в который будет произведена следующая запись
unsigned char Read_Pointer;                    // Число, указывающее на номер байта, который начнёт обрабатываться (считываться)

void Rs232_Initialization(void)
{
    unsigned char i;
    Write_Pointer = 0;
    Read_Pointer = 0;
    for (i=0;i<=(BUFFER_SIZE-1);i++)
    {
        RS_232_Buffer[i]=1;                // Очистка буфера COM-порта
    }
    TRISCbits.TRISC7 = 1;
    TRISCbits.TRISC6 = 1;
    PIR1bits.RCIF = 0;
    IPR1bits.RCIP = 1;    // Прерывание от приёмника USART высокого уровня
    PIE1bits.RCIE = 1;    // Прерывние от приёмника USART разрешено.
    OpenUSART(USART_TX_INT_OFF&USART_RX_INT_ON&USART_BRGH_HIGH&USART_CONT_RX&USART_EIGHT_BIT&USART_ASYNCH_MODE,86);    // 86 - 115200
    TXSTAbits.BRGH = 1;
    baudUSART(BAUD_IDLE_CLK_LOW&BAUD_16_BIT_RATE&BAUD_WAKEUP_OFF&BAUD_AUTO_OFF);    // Для PIC18F4520
    Nop();       // Точка А
    Delay10KTCYx(200);
    Nop();       // Точка Б
    while (PIR1bits.RCIF == 1)
    {
        Nop();
        i = ReadUSART();
        Nop();
    }
    Nop();
}
И конфигурационные биты: (confbits.h)
Код:
//////////// Конфигурационные биты для PIC18F4520 /////////////////////
#pragma config OSC = HSPLL   // HS-PLL Enable
#pragma    config FCMEN = OFF     // Fail-Safe monitor disabled
#pragma config IESO    = ON     // Internal External Osc/ switch over
#pragma config PWRT = ON    // Power Up timer enable
#pragma config BOREN = SBORDIS      // Brown Out Reset enable, SBOREN Disabled
//#pragma config BORV = 42     // Brown Out Voltage is 2.8 V
#pragma config WDT = OFF     // Watchlog Timer is OFF
#pragma config WDTPS = 32768 // Watchlog Postscaler is 1:32768
#pragma config MCLRE = ON     // MCLR Enabled
#pragma config LPT1OSC = OFF // T1 Oscillator Disabled
#pragma config PBADEN = OFF  // PORTB<4:0> digital I/O after RESET
#pragma config CCP2MX = PORTC// CCP2 Mux (RC1 or RB3)
#pragma config STVREN = ON   // Stack Overflow Reset is Enable
#pragma config XINST = OFF     // Extended Mode
#pragma config LVP = OFF     // Low Voltage ICSP is disable (ICD2 is not support low voltage ISCP)
#pragma config DEBUG = ON     // Background Debugger Enable
#pragma config CP0 = OFF     // Code Protection Block 0 is disable
#pragma config CP1 = OFF     // Code Protection Block 1 is disable
#pragma config CP2 = OFF     // Code Protection Block 2 is disable
#pragma config CP3 = OFF     // Code Protection Block 3 is disable
#pragma config CPB = OFF     // Boot Block Code Protection is disable
#pragma config CPD = OFF     // Data EEPROM Code Protection is disable
#pragma config WRT0 = OFF     // Write Protection Block 0 is disable
#pragma config WRT1 = OFF     // Write Protection Block 1 is disable
#pragma config WRT2 = OFF     // Write Protection Block 2 is disable
#pragma config WRT3 = OFF     // Write Protection Block 3 is disable
#pragma config WRTB = OFF     // Boot Block Write Protection is disable
#pragma config WRTC = OFF     // Configuration Register Write Protection is disable
#pragma config WRTD    = OFF    // Data EEPROM Write Protection is disable
#pragma config EBTR0 = OFF   // Table Read Protection Block 0 is disable
#pragma config EBTR1 = OFF   // Table Read Protection Block 1 is disable
#pragma config EBTR2 = OFF   // Table Read Protection Block 2 is disable
#pragma config EBTR3 = OFF   // Table Read Protection Block 3 is disable
#pragma config EBTRB = OFF   // Boot Block Table Read Protection is disable
MaxPIC вне форума   Ответить с цитированием
Старый 20.11.2007, 22:01   #2
vitalka
Super Moderator
 
Аватар для vitalka
 
Регистрация: 19.03.2007
Адрес: Львов
Возраст: 45
Сообщений: 3,334
Вес репутации: 2341/104
vitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond repute
По умолчанию Re: Проблема с USART

а если останавливаться только в Б, то тоже RCIF в единице?
vitalka вне форума   Ответить с цитированием
Старый 20.11.2007, 22:32   #3
MaxPIC
Senior Member
 
Регистрация: 02.05.2007
Возраст: 34
Сообщений: 148
Вес репутации: 387/52
MaxPIC is just really niceMaxPIC is just really niceMaxPIC is just really niceMaxPIC is just really nice
По умолчанию Re: Проблема с USART

Да, тоже в единице.
MaxPIC вне форума   Ответить с цитированием
Старый 20.11.2007, 22:36   #4
MaxPIC
Senior Member
 
Регистрация: 02.05.2007
Возраст: 34
Сообщений: 148
Вес репутации: 387/52
MaxPIC is just really niceMaxPIC is just really niceMaxPIC is just really niceMaxPIC is just really nice
По умолчанию Re: Проблема с USART

Мало того, данные, которые приходят с ПК побитово инвертированы, а затем сдвинуты на 1 бит. Осциллографом смотрел сигнал прямо на ножке пика - всё в порядке: START-BIT+DATA(8 bit)+STOP-BIT. Где пик инвертирует и сдвигает - не ясно.
MaxPIC вне форума   Ответить с цитированием
Старый 20.11.2007, 22:44   #5
vitalka
Super Moderator
 
Аватар для vitalka
 
Регистрация: 19.03.2007
Адрес: Львов
Возраст: 45
Сообщений: 3,334
Вес репутации: 2341/104
vitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond repute
По умолчанию Re: Проблема с USART

в смысле, инвертированы?
с компа идут или откуда?

TXSTAbits.BRGH = 1; можешь выкинуть
vitalka вне форума   Ответить с цитированием
Старый 20.11.2007, 22:51   #6
MaxPIC
Senior Member
 
Регистрация: 02.05.2007
Возраст: 34
Сообщений: 148
Вес репутации: 387/52
MaxPIC is just really niceMaxPIC is just really niceMaxPIC is just really niceMaxPIC is just really nice
По умолчанию Re: Проблема с USART

Да, TXSTAbits.BRGH, надо выкинуть. С компа данные идут на микросхему преобразователя уровней, а затем через цифровой изолятор на пик. Осциллографом смотрел прямо ногу на пике. Сигнал электрически правильный. А вот пик идентифицирует его не правильно.
MaxPIC вне форума   Ответить с цитированием
Старый 20.11.2007, 23:03   #7
vitalka
Super Moderator
 
Аватар для vitalka
 
Регистрация: 19.03.2007
Адрес: Львов
Возраст: 45
Сообщений: 3,334
Вес репутации: 2341/104
vitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond repute
По умолчанию Re: Проблема с USART

если изолятор не инвертирует, то надо
Код:
baudUSART(BAUD_16_BIT_RATE&BAUD_WAKEUP_OFF&BAUD_AUTO_OFF);
если инвертирует, то
Код:
baudUSART(BAUD_IDLE_TX_PIN_STATE_LOW&BAUD_IDLE_RX_PIN_STATE_LOW&BAUD_16_BIT_RATE&BAUD_WAKEUP_OFF&BAUD_AUTO_OFF);
BAUD_IDLE_CLK_LOW = BAUD_IDLE_TX_PIN_STATE_HIGH (все исходя из usart.h)

посмотрел на твой изолятор, вроде не инвертирует, т.е. достаточно
Код:
baudUSART(BAUD_16_BIT_RATE&BAUD_WAKEUP_OFF&BAUD_AUTO_OFF);
проверь еще после установки RCIF флаги FERR и OERR
я так и не понял, потом он у тебя нормально с компа данные принимает или нет?

Последний раз редактировалось vitalka; 21.11.2007 в 13:33.
vitalka вне форума   Ответить с цитированием
Старый 20.11.2007, 23:21   #8
MaxPIC
Senior Member
 
Регистрация: 02.05.2007
Возраст: 34
Сообщений: 148
Вес репутации: 387/52
MaxPIC is just really niceMaxPIC is just really niceMaxPIC is just really niceMaxPIC is just really nice
По умолчанию Re: Проблема с USART

Потом так и принимает данные неверно. Завтра на работе попробую изменить процедуру установки регистра BAUDCON.
MaxPIC вне форума   Ответить с цитированием
Старый 20.11.2007, 23:24   #9
vitalka
Super Moderator
 
Аватар для vitalka
 
Регистрация: 19.03.2007
Адрес: Львов
Возраст: 45
Сообщений: 3,334
Вес репутации: 2341/104
vitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond repute
По умолчанию Re: Проблема с USART

ну BAUD_IDLE_CLK_LOW у тебя только на отсылку влияет,
а что там ты говорил про сдвиг на 1 бит - он откуда взялся?

сорри, тебя запутал и сам запутался
в 4520 нет битов полярности для асинхр. режима

Последний раз редактировалось vitalka; 20.11.2007 в 23:32.
vitalka вне форума   Ответить с цитированием
Старый 20.11.2007, 23:40   #10
MaxPIC
Senior Member
 
Регистрация: 02.05.2007
Возраст: 34
Сообщений: 148
Вес репутации: 387/52
MaxPIC is just really niceMaxPIC is just really niceMaxPIC is just really niceMaxPIC is just really nice
По умолчанию Re: Проблема с USART

Сдвигается на один бит. Вот к примеру, посылаю я с компа 0x0F, смотрю на осциллографе - сигнал электрически есть, причём такой, какой записан. В пике вместо 0x0F данные другие 0x78. Т.е. если взять исходное число, побитово проинвертировать исдвинуть на один бит вправо, получим значение, детектируемое пиком. Пробовал послать 0x55, естественно продетектировал пик тоже 0x55, посылал 0xB7 - регистрировал 0x24.
MaxPIC вне форума   Ответить с цитированием
Старый 20.11.2007, 23:46   #11
vitalka
Super Moderator
 
Аватар для vitalka
 
Регистрация: 19.03.2007
Адрес: Львов
Возраст: 45
Сообщений: 3,334
Вес репутации: 2341/104
vitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond repute
По умолчанию Re: Проблема с USART

кварц у тебя 10МГц?
vitalka вне форума   Ответить с цитированием
Старый 20.11.2007, 23:49   #12
MaxPIC
Senior Member
 
Регистрация: 02.05.2007
Возраст: 34
Сообщений: 148
Вес репутации: 387/52
MaxPIC is just really niceMaxPIC is just really niceMaxPIC is just really niceMaxPIC is just really nice
По умолчанию Re: Проблема с USART

Да, 10 МГц. Режим HSPLL
MaxPIC вне форума   Ответить с цитированием
Старый 20.11.2007, 23:54   #13
vitalka
Super Moderator
 
Аватар для vitalka
 
Регистрация: 19.03.2007
Адрес: Львов
Возраст: 45
Сообщений: 3,334
Вес репутации: 2341/104
vitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond repute
По умолчанию Re: Проблема с USART

и на RX торчит в idle единица, а когда старт бит начинается, то падает в ноль?
vitalka вне форума   Ответить с цитированием
Старый 20.11.2007, 23:55   #14
MaxPIC
Senior Member
 
Регистрация: 02.05.2007
Возраст: 34
Сообщений: 148
Вес репутации: 387/52
MaxPIC is just really niceMaxPIC is just really niceMaxPIC is just really niceMaxPIC is just really nice
По умолчанию Re: Проблема с USART

Абсолютно точно, к тому же нога RX ещё и подтянута резистором 4.7 к Ом на + 5.
MaxPIC вне форума   Ответить с цитированием
Старый 21.11.2007, 00:05   #15
vitalka
Super Moderator
 
Аватар для vitalka
 
Регистрация: 19.03.2007
Адрес: Львов
Возраст: 45
Сообщений: 3,334
Вес репутации: 2341/104
vitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond repute
По умолчанию Re: Проблема с USART

а как у тебя в проге вообще данные принимаются?
rs232_init в котором RCIF проверяется, только один раз проходит (как и while(RCIF))
лучше в main/while поставь
Код:
if (RCIF){
    Nop(); 
    i = ReadUSART();
    Nop(); тут точку останова
}
vitalka вне форума   Ответить с цитированием
Старый 21.11.2007, 00:10   #16
MaxPIC
Senior Member
 
Регистрация: 02.05.2007
Возраст: 34
Сообщений: 148
Вес репутации: 387/52
MaxPIC is just really niceMaxPIC is just really niceMaxPIC is just really niceMaxPIC is just really nice
По умолчанию Re: Проблема с USART

В поисках ошибки я прогу резко сократил. Конечно, у меня стоит прерывание по RCIF и из прерывания данные записываются в буфер, который я потом анализирую:
Код:
void Rs232_Interrupt_Handler(void)
{
    RS_232_Buffer[Write_Pointer]=ReadUSART();
    if (Write_Pointer == (BUFFER_SIZE-1)) {Write_Pointer=0;} else {Write_Pointer++;}
    PIR1bits.RCIF = 0;
}
А в Main'е:
Код:
    // Interrupt from USART
    if ((PIR1bits.RCIF==(unsigned char)1)&&(PIE1bits.RCIE == (unsigned char)1)&&(INTCONbits.PEIE == (unsigned char)1))
    {
        Rs232_Interrupt_Handler();
    }
MaxPIC вне форума   Ответить с цитированием
Старый 21.11.2007, 00:15   #17
vitalka
Super Moderator
 
Аватар для vitalka
 
Регистрация: 19.03.2007
Адрес: Львов
Возраст: 45
Сообщений: 3,334
Вес репутации: 2341/104
vitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond repute
По умолчанию Re: Проблема с USART

PIR1bits.RCIF = 0; - лишнее
прав был Greg когда говорил, что сие частое явление

и будь проще
Код:
if (PIR1bits.RCIF & PIE1bits.RCIE)
попробуй еще убрать изолятор и подключить напрямую
vitalka вне форума   Ответить с цитированием
Старый 21.11.2007, 00:21   #18
MaxPIC
Senior Member
 
Регистрация: 02.05.2007
Возраст: 34
Сообщений: 148
Вес репутации: 387/52
MaxPIC is just really niceMaxPIC is just really niceMaxPIC is just really niceMaxPIC is just really nice
По умолчанию Re: Проблема с USART

Старый добрый ассемблер не даёт покою.
Вот напрямую соединять не очень хочется - изолятор выпаивать...потом опять впаивать. Я осциллографом смотрел сигнал на входе и выходе изолятора: так на выходе фронты даже лучше, чем на входе. На изолятор грешить я не могу, сам сигналы видел. К тому же он до 10 Мбит тянет. Дело явно в пике.
MaxPIC вне форума   Ответить с цитированием
Старый 21.11.2007, 13:18   #19
MaxPIC
Senior Member
 
Регистрация: 02.05.2007
Возраст: 34
Сообщений: 148
Вес репутации: 387/52
MaxPIC is just really niceMaxPIC is just really niceMaxPIC is just really niceMaxPIC is just really nice
По умолчанию Re: Проблема с USART

Вы были правы. Устанавливается в единичку флаг ошибки фрэйма. Я посмотрел, что после процедуры baudUSART(...), которую Вы мне предложили использовать для неинвертирующего цифрового изолятора, происходит с регистром BAUDCON. В него записывается 0b1011100. Я же просто убрал процедуру и написал BAUDCON = 0b01001000 - и всё заработало как по маслу. Спасибо за совет по проверке флагов ошибок, из головы просто вылетело их посмотреть.
MaxPIC вне форума   Ответить с цитированием
Старый 21.11.2007, 13:32   #20
vitalka
Super Moderator
 
Аватар для vitalka
 
Регистрация: 19.03.2007
Адрес: Львов
Возраст: 45
Сообщений: 3,334
Вес репутации: 2341/104
vitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond repute
По умолчанию Re: Проблема с USART

для 4520, по идее, эти два значения BAUDCON одинаковы, mplab их просто так показывает (6 бит - только чтение, 5 бит не используется, 4 бит не используется в ас. режиме)
vitalka вне форума   Ответить с цитированием
Старый 21.11.2007, 21:13   #21
MaxPIC
Senior Member
 
Регистрация: 02.05.2007
Возраст: 34
Сообщений: 148
Вес репутации: 387/52
MaxPIC is just really niceMaxPIC is just really niceMaxPIC is just really niceMaxPIC is just really nice
По умолчанию Re: Проблема с USART

Пардон, в соответствии с Errat'ой версии B3 в регистре BAUDCON 5-ый бит является битом установки полярности принимаемого сигнала.
MaxPIC вне форума   Ответить с цитированием
Старый 21.11.2007, 22:11   #22
vitalka
Super Moderator
 
Аватар для vitalka
 
Регистрация: 19.03.2007
Адрес: Львов
Возраст: 45
Сообщений: 3,334
Вес репутации: 2341/104
vitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond repute
По умолчанию Re: Проблема с USART

да
тогда нужно все явно прописывать
Код:
baudUSART(BAUD_IDLE_TX_PIN_STATE_HIGH&BAUD_IDLE_RX_PIN_STATE_HIGH&BAUD_16_BIT_RATE&BAUD_WAKEUP_OFF&BAUD_AUTO_OFF);
vitalka вне форума   Ответить с цитированием
Старый 21.11.2007, 22:15   #23
MaxPIC
Senior Member
 
Регистрация: 02.05.2007
Возраст: 34
Сообщений: 148
Вес репутации: 387/52
MaxPIC is just really niceMaxPIC is just really niceMaxPIC is just really niceMaxPIC is just really nice
По умолчанию Re: Проблема с USART

Вот я на этом и накололся. К тому же в результате процедуры у меня устанавливался 7-ой бит в BAUDCON, а он должен быть равен нулю.
MaxPIC вне форума   Ответить с цитированием
Старый 21.11.2007, 22:22   #24
vitalka
Super Moderator
 
Аватар для vitalka
 
Регистрация: 19.03.2007
Адрес: Львов
Возраст: 45
Сообщений: 3,334
Вес репутации: 2341/104
vitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond repute
По умолчанию Re: Проблема с USART

у меня в 4580 тоже он установлен и ничего
он же только для autobaud, а ты его не используешь
(через baudUSART его и не достать)
vitalka вне форума   Ответить с цитированием
Старый 21.11.2007, 22:28   #25
MaxPIC
Senior Member
 
Регистрация: 02.05.2007
Возраст: 34
Сообщений: 148
Вес репутации: 387/52
MaxPIC is just really niceMaxPIC is just really niceMaxPIC is just really niceMaxPIC is just really nice
По умолчанию Re: Проблема с USART

В итоге, то значение BAUDCON, которое я указал выше оказалось на 100% рабочим, хотя я его не подбирал, а поставил то, что мне надо было от USART'а.
MaxPIC вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с PIC18F452 MaxPIC Продукция MICROCHIP 4 09.02.2008 21:47
PIC16F628A проблема с USART Билл Продукция MICROCHIP 13 26.07.2007 05:06
USART 16F877 VS USART 16F877A IgorV Продукция MICROCHIP 4 17.07.2007 23:45
USART и HyperTerminal manah Продукция MICROCHIP 3 21.05.2007 11:54
16F876: совместное использование USART и SPI Mihey Продукция MICROCHIP 7 23.03.2007 20:24


Часовой пояс GMT +3, время: 12:08.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot