회원가입 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
번호 분류 제목 글쓴이 조회 수 날짜
86 개발용역 HOTRF PCB 설계 및 제작 의뢰 받습니다. 아침해 12295 2011.05.24
85 개발용역 HOT프로그램 알르바이트 해 주실분... 개여울 6248 2011.05.11
84 개발용역 HOT평생파트너가 되겠습니다. 수내아트원 6319 2011.05.03
83 개발용역 HOT부품 무료 분양 powers 5813 2011.04.24
82 개발용역 HOT로드셀 이용한 전자저울 개발의뢰합니다. 이지스윈 8656 2011.04.21
81 개발용역 HOTpcb설계및 제작 의뢰 받습니다.2 artwork 6893 2011.04.01
80 개발용역 HOT타임콘트롤판의뢰3 웃는사람 6449 2011.03.16
79 개발용역 HOTLED 간판2 미늘인 6285 2011.02.18
78 개발용역 HOT개발의뢰입니다.( 매트랩을 이용한 최적화 구현) 깐돌이01 6606 2011.02.07
77 개발용역 HOT아트웍, 프로그램 의뢰 받습니다. 꼭꺼안고서 6412 2011.02.05
76 개발용역 HOTH/W & 펌웨어 개발 및 PCB 설계 경력자 모집 용가리3 10333 2011.01.22
75 개발용역 HOTAlmighty Solution [센서공급 및 ODM 개발]1 꽁이 6344 2011.01.17
74 개발용역 HOT내 컴퓨터 바이러스 내가 치료하자 !! - 백신만들기 중앙인 6321 2011.01.17
73 개발용역 HOT전동치솔 개발 빅루프다 6527 2010.12.13
72 개발용역 HOT동아전기부품을 소개합니다. 홈런볼 6842 2010.12.08
71 개발용역 HOT초음파 센서.. 아나아나나 6269 2010.11.29
70 개발용역 HOT하드웨어 개발 및 Artwork 해 드립니다.2 야웅이 5641 2010.11.15
69 개발용역 HOT라인트레이서4 조의련 5634 2010.11.07
68 개발용역 HOTIR 리모컨과 블루투스 가 포함된 회로 설계 의뢰합니다. hyun 11949 2010.11.03
67 개발용역 HOT테스팅하우스코리아(주)를 소개합니다. davidjang 6323 2010.11.03
Prev 1 ... 3 4 5 6 7 8 9 10 11 12 Next
  • 최고에 도달하려면 최저에서 시작하라.
    - P.시루스
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.