회원가입 ID/PW 찾기
AA

벌써 몇일째 헤매다가  여기로 다시 찾아 왔습니다.
B포트에서 0번과 1번 핀에 스위치로 on-off를 시켜서 신호를 주고
그 거에 따라서 D포트에서 정보를 uart통신으로 전송합니다.
그리고 E포트에서는 외부에서 오는 정보를 받아서 컴퓨터와 시리얼 통신을 하는 소스를
짜려고 시도 했습니다....

혹시나 해서 적습니다...
ATmega128 를 사용하였으며,
AVR Studio + WINAVR 를 사용하여 코딩  하였습니다.

증상으로는
B포트와는 상관없이 계속해서 D포트에서 정보와 상관없이 전압이 나오는데요..
스위치가 안먹는거 같기도 하고,,, B포트 0번 1번에서는 스위치에 따라 분명히 전압 5V가  들어가는것을 확인햇습니다만,,,되는걸 보면 전혀 프로그램 데로 되지 않습니다. 아예 B포트,D포트를  무시하네요...

주석으로 _
uart통신 0번 이나 1번 (E포트나  D포트)를 각 각 하나씩 사용하면 되는데
두개 를 동시에 쓰려고 하면 안되는것 같습니다.

고수님들 소스좀 봐주세요,,, 뭐가 문제 일까요?ㅠ


====================================================================================

#include <avr/io.h>

#include <avr/interrupt.h>

 

#include "delay.h"

 

char rx_data;

char tx_data;

 

 

volatile unsigned int count=0;

 

void USART_Transmit(unsigned char data)  //E1송신 RS-232 통신을 정보

{

            while((UCSR0A & 0x20) == 0x00);

            UDR0 = data;

}

void USART_TransmitD(unsigned char data)  //D3송신 LED 전송할 정보

{

            while((UCSR1A & 0x20) == 0x00);

            UDR1 = data;

}

 

 

SIGNAL(SIG_UART0_RECV)

{

 

 cli();

 rx_data = UDR0;

 tx_data = rx_data;

 

 USART_Transmit(tx_data);

 

 sei();

}

 

int main(void)

{

             DDRE=0x02;

             DDRD=0x08;

             DDRB=0x00;      //스위치와 연결하여 B포트 0번과 1번에 연결하여 사용

           
    UCSR0A = 0x00;  // asynchronous normal mode                           

    UCSR0B = 0x98;  // 송수신 완료 인터럽트 on  //0x98

    UCSR0C = 0x06;  // no parity, 1 stop, 8data

    UBRR0H = 0x00;

    UBRR0L = 0x67;  // Baudrate

            
    UCSR1A = 0x00;  // asynchronous normal mode

    UCSR1B = 0x98;  // 송수신 완료 인터럽트 on  //0x98

    UCSR1C = 0x06;  // no parity, 1 stop, 8data

    UBRR1H = 0x00;

    UBRR1L = 0x67;  // Baudrate

 

             sei();

 

 while(1){

 

             if(PINB == 0x01)

             {

                           USART_TransmitD('N');

             }

            

             if(PINB == 0x02)

             {

                           USART_TransmitD('P');

             }

             if(PINB == 0x03)

             {

                           USART_TransmitD('T');

             }

 

}

 

return 0; 

 

 

 

}

===================================================================================

고수님들,,,
뭐가 문제 일까요??ㅠ

 

댓글 5
  • No Profile

    16MHz 9600bps 인것 같네요.

    9600bps 테스터기로 확인하기 힘들것 같네요.

    스코프 등으로 ... 컴퓨터 시리얼 포트....

  • No Profile
    글쓴이 광주공돌이 10.07.28 13:58 댓글 좋아요 0 싫어요 0
    ;;; 무슨 말씀이신지;;;
    좀더 자세히 이야기 해주시면 안될까요?ㅋ
  • No Profile
    UART0의 통신 라인을 RX는 외부기기와 TX는 PC와 연결한다는 말씀인 듯.
    소스상으로도 그렇게 되어 있는데, 이렇게는 UART0 통신 초기화에 문제가 생길 듯합니다.
  • No Profile
    UART 포트로 사용시 RX,TX와 상관 없이 포트 초기화는 모두 input으로 해야 됩니다.
    위의 소스상으로 보면 DDRE,DDRD의 포트를 모두 Output으로 설정되어 있습니다.

    DDRE = 0x00;DDRD = 0x00; 하시고 이후 UART 관련 초기화를 진행하시면 됩니다.
  • No Profile

    UART Data 송출 후 Delay를 주셔야 할  듯 합니다.
    UART 전송 속도보다 포트 Check 속도가 빨라서 충돌이 있거나
    한번 스위칭 동작에 송출이 계속 반복될 듯..

하드웨어 설계 및 개발에 대하여 개발자들이 자유롭게 토론하는 공간입니다.
- Q&A, 자유주재 토론, 관련 정보 공유
- 분야 : 마이크로프로세서 응용, 전기/전자(아날로그/디지털) 회로 설계, C/C++ 프로그래밍, 펌웨어,
         PCB Artwork, 트러블슈팅 등 하드웨어 설계에 관한 전반인 내용
※ 게시글에 맞는 분류를 선택하여 글을 작성해 주시면 쾌적한 사이트 운영에 많은 도움이 됩니다.
※ 하드웨어 인사이트는 회원들간의 거래정보를 게재할 뿐이지, 그 어떤 책임과 의무도 가지지 않습니다.

search
번호 분류 제목 글쓴이 조회 수 날짜
356 드론/로봇/라인트레이서 HOTCLCD구동에 관해 질문있습니다. Mirel 1209 2010.08.09
355 전기전자 아무거나 HOTorcad 서적관련 추천부탁드립니다.5 머하노 1494 2010.08.05
354 전기전자 아무거나 HOT인버터설계관련해서 질문드립니다.1 김풍력 1005 2010.08.04
353 Analog & Mixed-Signal 설계 HOTEMI 방사 노이즈 대책 경험 있으신분.. 부탁 드립니다.4 빗찌 2223 2010.08.03
352 전기전자 아무거나 HOT혹시 active tag 쪽으로 관심 있으신 분 없으십니까? 콩이 767 2010.07.29
351 전기전자 아무거나 HOT측정관련 원리를 알려면 어떤 책이 좋을까요?2 의야~♡ 885 2010.07.28
350 전기전자 아무거나 HOT햐~~이런곳이 있었군요6 할게많네 786 2010.07.27
349 전기전자 아무거나 HOT포워드 컨버터와 플라이백 컨버터의 트랜스에 대해서 질문있습니다.2 종무니 1731 2010.07.22
348 전기전자 아무거나 HOT트렌스출력과 부하의 관계가 궁금해요.6 toad 1146 2010.07.20
347 전기전자 아무거나 HOT포토 커플러에 대해서....3 종무니 2211 2010.07.15
346 드론/로봇/라인트레이서 HOT라인트레이서 구동부(모터부) 질문입니다.3 vorcot 2211 2010.07.14
345 전기전자 아무거나 HOT포워드 컨버터나 플라이백 컨버터에 대해...2 종무니 1419 2010.07.14
344 전기전자 아무거나 HOT법랑저항을 만들어볼라고하는데요1 런닝머신 937 2010.07.13
343 전기전자 아무거나 HOT이런 질문하기 죄송합니다만...생초보 질문입니다ㅠㅠ3 JuPeter 1197 2010.07.10
342 전기전자 아무거나 HOT2상 스텝 모터 노이즈는 어떻게 제거 할 수 있나요?2 디지랜드 2416 2010.07.06
341 전기전자 아무거나 HOTPADS 시작부터 레이아웃거버파일까지 초간단 정리25 툴매니아 2436 2010.07.06
340 전기전자 아무거나 HOT속도측정방법2 불하마 862 2010.07.04
339 드론/로봇/라인트레이서 HOTatmega128 공부방법에 대해서..5 k_minsuda 1782 2010.07.01
338 전기전자 아무거나 HOT8051쪽 개발툴은 정확하게 무슨 진로인가요?1 날아라신동 823 2010.06.29
337 드론/로봇/라인트레이서 HOTc언어 공부 방법 문제요 ㅠ2 날아라신동 1382 2010.06.29
Prev 1 ... 17 18 19 20 21 22 23 24 25 26 ... 39 Next
  • 일을 할 때는 반드시 미리 계획을 짜야하고, 말을 할 때는 반드시 실천할 수 있는 것인지 생각해야 한다.
    - 소학
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.