Гость jawa634 Опубликовано 5 Мая, 2011 в 19:16 Жалоба Поделиться Опубликовано 5 Мая, 2011 в 19:16 Уважаемые датагорцы, не раз вы меня выручали, спасибо вам за это! Надеюсь и сейчас поможете разобраться. Нужно организовать передачу по интерфейсу 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); } } Помогите разобраться, как передать корректно? Ссылка на комментарий Поделиться на другие сайты Поделиться
if33 Опубликовано 6 Мая, 2011 в 05:01 Жалоба Поделиться Опубликовано 6 Мая, 2011 в 05:01 Передается не число, о текст 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. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость jawa634 Опубликовано 6 Мая, 2011 в 16:47 Жалоба Поделиться Опубликовано 6 Мая, 2011 в 16:47 Спасибо, всё заработало!! Разобрался). Кому надо есть отлаженная библиотека работы с UART. Писал на MCC18. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти