Перейти к содержанию

PIC18f2520. Передача по UART


Рекомендуемые сообщения

Уважаемые датагорцы, не раз вы меня выручали, спасибо вам за это!

Надеюсь и сейчас поможете разобраться. Нужно организовать передачу по интерфейсу RS-232. Передавать буду пакет данных (несколько цифр). Для этих целей сделал простенькую модель в протеусе, собственно контроллер и Virtual Terminal. Выдает только странный символ много раз.. Вот код программы на MCC18.

 

#include <p18f2520.h>

 

//Передача данных по USART

 

char data1;

 

void main(void)

{

TRISCbits.TRISC6 = 1;

TRISCbits.TRISC7 = 1;

RCSTAbits.SPEN = 1;

TXSTAbits.TXEN = 1;

 

while(1){

 

data1=12345678;

TXREG=data1;

//while(!TXSTAbits.TRMT);

while(!PIR1bits.TXIF);

}

}

 

Помогите разобраться, как передать корректно?

Ссылка на комментарий
Поделиться на другие сайты

Передается не число, о текст

data1=12345678 - data1="12345678"

 

Вот пример на mikroBasic PRO for PIC

 

' *

' * Project name:

' UART2 (Simple usage of UART2 module library sub functions)

' * Copyright:

' © Mikroelektronika, 2009.

' * Revision History:

' 20081218:

' - initial release

' * Description:

' This code demonstrates how to use UART2 library routines. Upon receiving

' data via RS232, MCU immediately sends it back to the sender.

' * Test configuration:

' MCU: P18F8520

' Dev.Board: BIGPIC5

' Oscillator: HS, 10.0 MHz

' Ext. Modules: -

' SW: mikroBasic PRO for PIC

' * NOTES:

' - Connect UART2 jumpers J14 and J15 (board specific).

' *

 

program UART2

dim uart_rd as byte

 

main:

CMCON = CMCON or 0x07 ' turn off comparators

ADCON1 = ADCON1 or 0x0F ' turn off analog inputs

 

UART2_Init(9600) ' Initialize UART module at 9600 bps

Delay_ms(100) ' Wait for UART module to stabilize

 

UART2_Write_Text("Start")

UART2_Write(10) ' Line feed

UART2_Write(13) ' Carriage return

 

while (TRUE) ' Endless loop

if (UART2_Data_Ready() <> 0) then ' If data is received,

uart_rd = UART2_Read() ' read the received data,

UART2_Write(uart_rd) ' and send data via UART

end if

wend

end.

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...