회원가입 ID/PW 찾기
AA

안녕 하세요.

제가 STM32 칩으로 ADC 입력을 받아서 시리얼로 데이터를 보내고 싶은데 동작을 안 하네요,

고수님들 조언 좀 해 주세요.

 

초기 함수

/*------------------------------------------------------------------------------
  ADC_Init
 *------------------------------------------------------------------------------*/
void ADC_HardInit(void)
{
 // Clock signal for ADC1 unit have to be enables
 RCC->APB2ENR |= 0x0100;            // Port1 ADC1
 // Configure PA1 (ADC Channel 10) as analog input
 GPIOA->CRL &= 0xFFFFF00F;            
 // ADC1 Congiguration
 ADC1->CR1 &= 0xFFF0FFFF;           // Independent mode
 ADC1->CR1 &= 0xFFFFFEFF;           // Scan conversion mode disable
 ADC1->CR2 &= 0xFFFFFFFD;           // Continuous conversion mode disable
 ADC1->CR2 &= 0xFFEFFFFF;           // External triger conversion disable
 ADC1->CR2 &= 0xFFFFF7FF;           // Data alignment right
 ADC1->SQR1 &= 0xFF0FFFFF;           // # of channel = 1
 // ADC1 regular channel 14 configuration
 ADC1->SMPR1 |= 0x38000000;          // Sample time 239,5 cycles
 ADC1->SQR3 &= 0xFFFFFFE0;           // mask ans set 9th chanel as first
 ADC1->SQR3 |= 0x00000009;
 // Enable ADC1
 ADC1->CR2 |= 0x00000001;
 // Enable ADC1 reset calibaration register
 ADC1->CR2 |= 0x00000008;
 // Check the and of ADC1 reset calibration register
 while(ADC1->CR2 & 0x00000008);
 // Start ADC1 calibaration
 ADC1->CR2 |= 0x0000004;
 // Check the and of ADC1 calibration
 while(ADC1->CR2 & 0x00000004);
}

 

메인 함수

int main()

{

  unsigned char data; 

whlie(1)

  {

   ADC1->CR2 |= 0x00000001;              // Start ADC1
   while(!(ADC1->SR & 0x0002));           // wait until conversion is done
   data = ADC1->DR;                   // read result
   printf ("Mode 1 - Memory Save Only = '%x'", data);
   putchar('\n');
   putchar('\r');
   delay(1000000);

  }
}

 

문제는 메인 함수에 whlie 문을 넣으면 통신을 안하는 먹통이 되어 버리네요.

제가 할려고 하는것은

STM32F103R8T6 칩에 ADC0번 핀(PA0)의 값을 읽어서 그 값을 시리얼로 PC로 보내는 겁니다.

 

많은 조언 부탁 드립니다.

댓글 1
  • No Profile

    메인함수에 몬가 없군요...

    void ADC_HardInit(void).... 선언만 되 있고 실행은 안되게 되 있네요..

     // Start ADC1
    부분쯤에 스타트하기 위해서는 ..

    ADC1->CR2 |= 0x00000001;  같은 경우는 초기화에 넣어야 할 거 같은데요..

    ADC를 켜겠다는 의미 입니다..

     

    스타트는..

    ADC1->CR2 |=1 << 22;  입니다..

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

search
번호 분류 제목 글쓴이 조회 수 날짜
832 마이크로프로세서 HOT(avr stdio) 인터럽트로 led 좌,우 시프트 하기5 강희 3709 2011.01.11
831 마이크로프로세서 HOTATmega128 회로질문이요ㅠ5 rjmans 2939 2011.01.06
830 마이크로프로세서 HOT부트로드 관련 질문입니다.2 데닉시 1486 2011.01.04
829 마이크로프로세서 HOT이제 입문하게된 초보입니다. 어떤식으로 공부해야할까요?2 피어싱 1361 2011.01.04
828 마이크로프로세서 HOTatmega128 교육키트 사는 거 별로 비추천인가요?ㅠ7 rjmans 1588 2011.01.03
827 마이크로프로세서 HOTatmega128 교육키트를 살까하는데요,.. 추천좀 ㅠㅠ2 rjmans 2541 2011.01.02
826 펌웨어 & 코딩언어 HOTinline assembler 삽입 제한 피해가는 법 요청 쿨맨 1638 2011.01.01
825 마이크로프로세서 HOTat90can128관련질문입니다.2 레고 2529 2010.12.31
824 마이크로프로세서 HOTCC2430 만능기판에 꾸며 다운로드 하기 로미옹 1464 2010.12.28
823 마이크로프로세서 HOTRS232 를 이용한 ATmega128통신7 데닉시 2655 2010.12.27
마이크로프로세서 HOTSTM32F103R8T6 ADC 입력1 컴맹9506 3600 2010.12.27
821 마이크로프로세서 HOT노트북 전원에 따른 노이즈 발생 문제3 초당당 2489 2010.12.23
820 마이크로프로세서 HOTATmega128 전원공급에 관한 질문입니다.3 데닉시 2802 2010.12.22
819 펌웨어 & 코딩언어 HOTscanf 입력에 대해 질문이요~4 띵킹~ 1992 2010.12.21
818 마이크로프로세서 HOT마이크로마우스 관련 질문좀 드릴께요1 모범생 1094 2010.12.20
817 마이크로프로세서 HOTdot matrix 회로도인데요 ..문제점좀 찾아주세요 ㅠㅠ4 서울서비 2179 2010.12.17
816 펌웨어 & 코딩언어 HOTC 언어 기초중 다음 사항에 대하여 질문이여.2 hihihohaha 1629 2010.12.15
815 마이크로프로세서 HOTAVR Studio 용량 제한 문제좀 해결해주세요..ㅠㅠ2 에류시온 1294 2010.12.15
814 마이크로프로세서 HOTAVR 을 이용한 도트매트릭스,적외선, LCD 회로 설계..ㅜ5 따지긴 3575 2010.12.15
813 마이크로프로세서 HOTor cad 자료에 대해서3 서울서비 1155 2010.12.12
Prev 1 ... 12 13 14 15 16 17 18 19 20 21 ... 58 Next
  • 모두가 행복해질 때까지는 아무도 완전히 행복해질 수는 없다.
    - H.스펜서
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.