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) 동안
;
)
난 프로 테우스이 예에서는 작동 해봤지만, 어디에 문제가 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) 동안
;
)