컨트롤러"RS232

A

asic1984

Guest
안녕

난 프로 테우스이 예에서는 작동 해봤지만, 어디에 문제가 didnot
코드 :# 포함 <p18f452.h>

# 포함 <usart.h>ICD2와 함께 사용 / * 세트 구성 비트 / PICDEM2 플러스 데모 보드 :

* - HS 오실레이터 설정

* - 해제 워치독 타이머

* - 해제 낮은 전압 프로그래밍

* - 배경 디버깅 활성화

* /

에서 Pragma OSC = HS # 설정

에서 Pragma WDT = OFF로 # 설정

에서 Pragma # LVP = OFF로 설정

에서 Pragma DEBUG = 켜기 # 설정무효 rx_handler (무효);BUF_SIZE 25 정의 #

#에서 Pragma 코드 = 0x8 rx_interrupt

무효 rx_int (무효)

(

_asm 고토 rx_handler _endasm

)

#에서 Pragma 코드#에서 Pragma rx_handler 인터럽트

무효 rx_handler (무효)

(

서명 숯불 C;/ USART *에서받은 문자를 타 * /

C = ReadUSART ();

(C "= '0 '& & C는"= '9')하는 경우

(

/ / c를 -= '0 ';

/ * 디스플레이 LED를받은 값 * /

PORTB와 C;/ *

* 표시 문자열 배열에있는 오프셋

문자를 받았습니다 *의

* /

putsUSART (C);

PORTB와 C;

)

그 밖의

(

/ *

* USART에서 잘못된 문자를 받았습니다.

* 표시 오류 문자열입니다.

* /

putsUSART (C);/ * 디스플레이 LED를받은 값 * /

PORTB와 C;

)/ * 클리어 인터럽트 플래그 * /

= 0 PIR1bits.RCIF;

)무효의 main (무효)

(

/ * 구성하는 모든 PORTB 핀을 출력 * 용 /

TRISB = 0;/ * 열기 USART 8N1로서, 2400 보오 구성, 응답자 모드 *에서 /

OpenUSART (USART_TX_INT_OFF &

USART_RX_INT_ON &

USART_ASYNCH_MODE &

USART_EIGHT_BIT &

USART_CONT_RX &

USART_BRGH_LOW, 31);/ * 디스플레이 USART 프롬프트 * /

putrsUSART (() "멀리 ROM과 숯불 * const \ n \ 자리 0-9 대여자! \ n \ r에");/ * 인터럽트 우선순위 * 사용 /

RCONbits.IPEN = 1;/ * 만들기 * 우선순위가 높은 인터럽트가 나타날 /

IPR1bits.RCIP = 1;/ * 사용의 모든 우선순위가 높은 인터럽트 * /

INTCONbits.GIEH = 1;/ * 루프 영원히 * /

(1) 동안

;

)
 
난 크리스탈 주파수 문제라고 생각합니다.때문에 코드 picdem2 더하기 데모 보드를 위해 작성된 것입니다 생각 5MHz로 (그것이) 그것을 설정해야합니다<img src="http://img126.echo.cx/img126/564/13bf.jpg" border="0" alt="rs232 and c18?" title="RS232 및 C18?"/>당신의 노력 및 '터미널 rb0에서 '6 보여주 - rb3 (0110) 참조

2400 가상 터미널의 전송 속도를 설정하는 것을 잊지 마세요

추신 : 나는 당신의 아바타 메시지에 동의

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="미소" border="0" />
 

Welcome to EDABoard.com

Sponsor

Back
Top