질문게시판 > 수동부저와 uart통신 알수없는 오류때매 미치겟습니다

인기검색어 > 아두이노 센서 ATMEGA128

최신글 질문게시판 동영상강좌 가입하기

▼ BASIC4MCU 후원업체 신제품 정보 ▼

▲ BASIC4MCU 후원업체 신제품 정보 ▲

BASIC4MCU > 질문게시판

수동부저와 uart통신 알수없는 오류때매 미치겟습니다

페이지 정보

작성자 안녕요들 작성일19-12-27 19:53 조회4,413회 댓글0건

본문

/*
센서는 ATmega에서 나오는 VCC와 GND핀과 연결해야함
센서 한개 고장...
*/
#define F_CPU 16000000UL
#include <avr/interrupt.h>
#include <avr/io.h>
#include <util/delay.h>
#define SIG0 PINA2
#define SIG1 PINA4
#define SIG2 PINA6
// 부저 SIG = PB4 //
#define DO 0
#define RE 1
#define MI 2
#define FA 3
#define SOL 4
#define RA 5
#define SI 6
#define DDO 7
#define EOS -1    // End Of Song  표시
#define ON 0
#define OFF 1
volatile unsigned char flag;
// for bluetooth
volatile int state, tone;
volatile int i=0;
char f_table[8] = {
 17, 43, 66, 77, 97, 114, 117, 137
}
;
// 도레미파솔라시도 에 해당하는 TCNT0 값을 미리 계산해 놓은 값
int song[] = {
 SOL, MI, MI, SOL, MI, DO, RE, MI, RE, DO, MI, SOL, DDO, SOL, DDO, SOL, DDO, SOL, MI, SOL, RE, FA, MI, RE, DO, EOS
}
;
// 산토끼
ISR(TIMER0_OVF_vect)   // Timer/Counter0 오버플루우 인터럽트
 {
 TCNT0 = f_table[tone];
 if (state == OFF) {
  PORTB |= 1 << 4;
  // 버저 포트 ON
  state = ON;
  } else {
  PORTB &= ~(1 << 4);
  // 버저 포트 OFF
  state = OFF;
 }
}
void san_to_ki() {
   DDRB = 0x10;
   // 버저 연결 포트(Port B의 4번 비트) 출력으로 설정
   TCCR0 = 0x03;
   // 프리스케일러 32분주
   TIMSK = 0x01;
   // 오버플로우 인터럽트 활성화, 즉, TOIE0 비트 세트
  sei();
  // 전역인터럽트 활성화 
  TCNT0 = f_table[song[i]];
  // TCNT0 초기화
 do {
  tone = song[i++];
  // 노래 음계
  _delay_ms(300);
  // 한 계명당 지속 시간
 }
 while(tone != EOS);
 // 노래 마지막 음인지 검사
}
void uart_init() {
 UCSR0A=0x00;
 // ...
 UCSR0B=0x18;
 // RXEN, TXEN
 UCSR0C=0x06;
 // 8Bit
 UBRR0H=0;
 // 9600
 UBRR0L=103;
 // 9600
 sei();
}
void uart_send(char data) {
 while(!(UCSR0A & (1<<UDRE0)));
 UDR0 = data;
}
char uart_receive(void) {
 while(!(UCSR0A & 0x80));
 //수신완료 flag 비트가 1되면 정지
 return UDR0;
 //UART0번 사용
}
int main(void) {
 
 uart_init();
 DDRA = 0<<SIG0 | 0<<SIG1 | 0<<SIG2;  // 센서 IN
 PORTA = 0<<SIG0 | 0<<SIG1 | 0<<SIG2;  // 센서 IN
 char sensor;
 while (1)
 {
  sensor = (PINA & 0b01010100);
  switch(sensor)
  {
   case 0b01010100:
    _delay_ms(2000);
    //san_to_ki();
    uart_send('d');
    break;
   case 0b00010100:
    _delay_ms(2000);
    uart_send('c');
    break;
   case 0b00000100:
    _delay_ms(2000);
    uart_send('b');
    break;
   case 0b00000000:
    _delay_ms(2000);
   
    uart_send('a');
    break;
   default:
    _delay_ms(2000);
    uart_send('e');
  }
 }
}

 

 

센서를 감지해서 의도한대로 a b c d 를 hc-05 블루투스로 휴대폰울 받는거는 성공하였습니다.

그런데 부저로 계이름 출력해서 함수로 만들어서 넣고 실행하면 계이름 출력하고 멈추고 거기서 더 이상 진행이 되지않습니다.

   case 0b00000100:
    _delay_ms(2000);
    여기에 san_to_ki(); 를 넣으면 b 를 안보냅니다 ㅠㅠ

uart_send('b');
    break;

san_to_ki 함수를 정의를 해놓고 사용은 안하면 정상 작동은 합니다.

 

도대체 뭐가 문제인지 모르겠습니다,,,

  • BASIC4MCU 작성글 SNS에 공유하기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기
  • 카카오톡으로 보내기

댓글 : 0

조회수 : 4,413

등록된 댓글이 없습니다.

게시물 검색

BASIC4MCU > 질문게시판 목록

제목 날짜
공지 MCU, AVR, 아두이노 등 전자공학에 관련된 질문은… 스태프  19-01-15
공지 사이트 이용 안내 댓글[28] master  17-10-29
질문 stm32f767 스텝모터 속도 질문있습니다 123132 새글 23-05-27
답변 답변 : stm32f767 스텝모터 속도 질문있습니다 master 새글 13:34
질문 아트메가 128 코딩 오류 질문입니다. 댓글[1] 태태킴 새글 23-05-27
질문 스텝모터 제어하는 소스파일인데 질문있습니다. Bs드리프터 새글 23-05-27
답변 답변 : 스텝모터 제어하는 소스파일인데 질문있습니다. master 새글 23-05-27
질문 모터 컨트롤러와 웜기어 모터 연결 문의 드립니다 댓글[2] 오후에 새글 23-05-27
답변 답변 : 모터 컨트롤러와 웜기어 모터 연결 문의 드립니… 댓글[1] 첨부파일오후에 새글 23-05-27
질문 아두이노 스텝모터 초음파 결합 댓글[2] 결합기원 새글 23-05-26
답변 답변 : 아두이노 스텝모터 초음파 결합 master 새글 23-05-27
질문 piezo부저 연결 방법 댓글[2] 첨부파일djwb 새글 23-05-26
질문 Atmega128과 도트매트릭스을 이용해 16x16미로… JJEE 새글 23-05-26
답변 답변 : Atmega128과 도트매트릭스을 이용해 16… master 새글 23-05-26
질문 아두이노 mq3 센서 여러개 댓글[5] keyest  23-05-26
질문 아두이노 이어폰모듈 elb080306 댓글[1] 크라퀴  23-05-25
질문 어제 아두이노 핀 문제 댓글[2] 미ㅏㄴㅇ  23-05-25
질문 스텝 모터, 모터 드라이버 관련 질문입니다 댓글[2] 스튜와트  23-05-24
답변 답변 : 스텝 모터, 모터 드라이버 관련 질문입니다 master  23-05-24
질문 아두이노 디지털 핀 문제 미ㅏㄴㅇ  23-05-24
답변 답변 : 아두이노 디지털 핀 문제 댓글[1] master  23-05-24
질문 아두이노 코드 합치기 댓글[1] 아두초보이노  23-05-24
질문 마그네틱 도어센서 관련 질문드립니다. 엉아  23-05-23
답변 답변 : 마그네틱 도어센서 관련 질문드립니다. 댓글[1] master  23-05-24
답변 답변 : 답변 : 마그네틱 도어센서 관련 질문드립니다. master  23-05-24
질문 토양습도센서 이용시LCD 오류 댓글[5] 윤던  23-05-23
질문 ATMEGA 광센서 부저 댓글[2] 코딩  23-05-23
질문 ATMEGA J-KIT 128 스위치 부저 댓글[1] 첨부파일코딩  23-05-22
질문 장애물 회피 게임 댓글[1] 첨부파일헬창  23-05-20
질문 회로도 관련 질문 댓글[1] 첨부파일dnjs  23-05-20
게시물 검색


Privacy Policy
MCU BASIC ⓒ 2017
PC버전