BASIC4MCU | 질문게시판 | 답변 : 아트메가128 USART 통신
페이지 정보
작성자 master 작성일2018-12-15 19:54 조회31,543회 댓글7건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=6904
작성일
작성일
작성일
작성일
작성일
본문
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2018-12-15 오후 7:59:21// by Ok-Hyun Park//#define F_CPU 16000000UL#include <avr/io.h>#include <avr/interrupt.h>#include <util/delay.h>#include <stdio.h>#include <string.h>//volatile unsigned char rx0_flag=0,rx0_cnt=0;volatile unsigned char rx1_flag=0,rx1_cnt=0;volatile char rx0[100],buf0[100];volatile char rx1[100],buf1[100];////char RX0_char(void){ while(!(UCSR0A&0x80)); return UDR0; }//char RX1_char(void){ while(!(UCSR1A&0x80)); return UDR1; }void TX0_char(char c){ while(!(UCSR0A&0x20)); UDR0=c; }void TX1_char(char c){ while(!(UCSR1A&0x20)); UDR1=c; }void TX0_STR(char *s){ while(*s)TX0_char(*s++); }void TX1_STR(char *s){ while(*s)TX1_char(*s++); }//ISR(USART0_RX_vect){char r;r=UDR0;if(r=='\n'){rx0[rx0_cnt++]=0; // nullmemcpy((char*)buf0,(char*)rx0,rx0_cnt);rx0_cnt=0; rx0_flag=1;}else if((r>='0')&&(r<='9')){rx0[rx0_cnt++]=r;}}//ISR(USART1_RX_vect){char r;r=UDR1;if(r=='\n'){rx1[rx1_cnt++]=0; // nullmemcpy((char*)buf1,(char*)rx1,rx1_cnt);rx1_cnt=0; rx1_flag=1;}else if((r>='0')&&(r<='9')){rx1[rx1_cnt++]=r;}}//int main(void){DDRA=0xff;UCSR1B=0x98; UBRR1L=8;UCSR0B=0x98; UBRR0L=8;SREG=0x80;TX1_STR("\n\r start");while(1){if(rx0_flag){ rx0_flag=0;if(!memcmp((char*)buf0,"9788980003910",13)){ // 바코드값PORTA=0x01;}if(!memcmp((char*)buf0,"9788980003914",13)){ // 바코드값PORTA=0x02;}}//if(rx1_flag){ rx1_flag=0;if(!memcmp((char*)buf1,"9788980003910",13)){ // 바코드값PORTA=0x01;}if(!memcmp((char*)buf1,"9788980003914",13)){ // 바코드값PORTA=0x02;}}}}
실행시켜 본 것이 아니니 오류가 있을 수 있습니다.
댓글 7
조회수 31,543cjoer님의 댓글
cjoer 작성일하이퍼터미널에 9788980003914 값을 입력했는데 DC모터가 돌아가질않아요..
master님의 댓글
master
하이퍼터미널이 UART1에 연결되어 있나요?
master님의 댓글
master 작성일9788980003914 값을 입력하고 엔터키를 눌러야 합니다.
cjoer님의 댓글
cjoer
그렇게했는대 구동을 안하네요.. Start문구도 뜨질않아요
master님의 댓글
master
퓨즈비트 클럭 설정은 제대로 되어 있을까요?
클럭 설정이 다르면 보레이트가 맞지 않습니다.
cjoer님의 댓글
cjoer
네 115200으로 제대로 설정되어있습니다. start문구는 이제 뜹니당
master님의 댓글
master
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=6910
간단한 문장으로 먼저 테스트 해보세요