UART | MCU Space

UART

uartОсновным протоколом обмена можно считать UART, на основе которого организованна передача данных интерфейсов RS-232, RS-485, IrDA и им подобных.
uart_prot

Процедуры обмена моей библиотеки просты, и оптимизированны. Ниже привожу листинг файлов библиотеки, а так же архив с проектом MPLAB X и файлом Proteus.

Файл usart.c

Файл usart.h

 

Вложения

usart
Заголовок: usart (202 clicks)
Подпись:
Filename: usart-2.zip
Размер: 137 KB

Уважайте авторский труд - в случае копирования информации или ее части, обязательно указывайте источник в виде ссылки на http://mcus.ru

Протоколы обмена , , , , 6 686  

(Голосов: 1, средняя: 5,00 из 5)
Загрузка...

  1. djon777
    12 августа 2014 в 02:32 | #1

    А для pic16f877a подходит?

  2. 12 августа 2014 в 06:30 | #2

    @djon777
    Нет, этот код для 18 серии, у 16 немного другие регистры — при большом желании можешь переделать под 16 серию.

  3. djon777
    14 августа 2014 в 02:24 | #3

    void USARTInit()
    {
    TRISC7=1;
    TRISC6=1;
    BRGH = 1; /* high baud rate */
    SPBRG = 25; /* set the baud rate */ //9600
    SYNC = 0; /* asynchronous */
    SPEN = 1; /* enable serial port pins */
    CREN = 1; /* enable reception */
    SREN = 0; /* no effect */
    TXIE = 0; /* disable tx interrupts */
    RCIE = 0; /* disable rx interrupts*/
    TX9 = 0; /* 8- or 9-bit transmission */
    RX9 = 0; /* 8- or 9-bit reception */
    TXEN = 1; /* enable the transmitter */
    // PIE1=0x020; /* enable rx interrupts*/
    // INTCON=0x080; /* прерывания разрешены*/
    // PEIE=1; /* разрешаем прерывания от переферийных модулей */
    // GIE=1; /* глобальное разрешение прерываний*/
    if (OERR) {CREN=0; CREN=1;} // проверка на переполнение буфера и восстановление приёма
    }

    Правильно или нет ?

  4. 14 августа 2014 в 09:59 | #4

    @djon777
    Не совсем — советовал бы по 16 серии глянуть у нашего камрада http://diymicro.ru/pic-mk-eksperiment-14-modul-usart.html

Необходимо войти на сайт, чтобы написать комментарий.