프로그래밍 마이크로 컨트롤러를 시작하는 AVR 또는 PIC? [닫은

StackOverflow https://stackoverflow.com/questions/140049

  •  02-07-2019
  •  | 
  •  

문제

어떤 가족을 배워야합니까? (마이크로 컨트롤러에서 어떤 프로그래밍도하지 않았다)

도움이 되었습니까?

해결책

오늘날 AVR과 PIC는 아마도 애호가들 사이에서 가장 일반적인 마이크로 컨트롤러 일 것입니다. 둘 다 매우 광범위한 장치 변이체를 가지며 둘 다 유사한 결과를 달성하는 데 사용될 수 있습니다.

초보자의 경우 여러 가지 이유로 AVR을 제안합니다.

  • AVR 가족 (Tiny, Mega)은 일관적이고 이해하기 쉽습니다. 이 아키텍처는 강력하고 현대적이며 특히 C 컴파일러에 적합합니다. AVRS는 물론 어셈블리에서도 프로그래밍 될 수 있습니다.

  • C 친화적 인 아키텍처로 인해 상용 및 무료로 고품질 C 컴파일러가 있습니다. 유비쿼터스 GCC는 AVR로 포팅되어 호출됩니다 AVR-GCC.

  • 시작하기 위해서는 당신이 정말로 필요한 모든 것이 소수의 기본 구성 요소, AVR 칩 자체 및 브레드 보드. PC와 AVR 사이의 프로그래밍 케이블조차도 본질적으로 무료로 구축 할 수 있습니다 (소위 Wiggler). 그러나 몇 가지 상업 개발 키트, 특히 Atmel 자체가 제공됩니다. STK500. 상용 개발 키트는 시작하는 데 더 비싼 방법이지만 전자 제품에 대한 사전 지식이 실제로 필요하지 않습니다. 일부 개발 키트에는 예를 들어 포함됩니다 LCD 디스플레이 흥미로운 일을하기가 쉽습니다.

  • 그것은 부자가 있습니다 애호가 커뮤니티.

그림은 독특한 건축물로 유명합니다. 많은 사람들이 이것에 대한 사랑, 일부는 그것을 싫어합니다. AVR은 더 간단하고 극도의 극단적 인 의견을 일으키지 않는 것 같습니다.

AVR과 PIC는 모두 많은 심각한 상업용 응용 분야에서 사용됩니다. 그러나 물론 유일한 옵션은 아닙니다. 취미와 상업용 작업을 위해 개인적으로 가장 좋아하는 마이크로 컨트롤러는 Silicon Laboratories의 C8051 제품군, 특히 C8051입니다.F530. C8051 제품군을위한 훌륭한 무료 C 컴파일러 및 어셈블러가 있습니다. SDCC.

요약 : 많은 옵션이 있지만, 그것을 압도하지 마십시오. 하나를 골라서 배우기 시작하십시오. 마이크로 컨트롤러는 정말 놀랍게도 놀랍게도 마스터하기가 쉽습니다.

다른 팁

상사는 사전 경험없이 일주일 이내에 AVR을 사용하여 기본 사항을 집어 들었습니다.

나는 AVR을 제안합니다. 일반 애호가 프로젝트를위한 마이크로 컨트롤러 플랫폼으로서 PIC을 훨씬 능가했습니다. 특히, Arduino (및 기타 *duino) 플랫폼을 고려하여 인터페이스와 인기있는 폼 팩터에서 고급 AVR을 제공합니다.

나는 AVR보다 AVR을 선호합니다. 이것은 단지 나일 수도 있고, 높은 수준의 언어로 쓸 수 있다면, 아마도 (일부 방언) C의 경우에 어려움을 겪지 않을 것입니다.

마이크로 컨트롤러를 처음 사용하기 때문에 성능이 문제가되지 않을 것이라고 가정합니다. 대신 프로토 타이핑 보드, IDE 및 시뮬레이션/디버깅 도구와 같은 개발 도구의 가용성을 찾을 것입니다. 개인적으로 나는 AVR Studio (Atmel의 무료 개발 환경)를 많이 좋아했습니다.

Jason은 TI의 MSP430에 대해 언급합니다. 이는 특히 매우 낮은 전원 응용 프로그램에있는 경우 실제로 우수한 컨트롤러입니다. 그러나 구성이 약간 번거롭기 때문에 초보자에게는 권장하지 않습니다. (오실레이터에 대한 설명이 사용자 매뉴얼에서 20 페이지 이상을 덮었다는 것을 기억합니다.)

어떤 사람들은 PIC 마이크로의 이상한 (그리고 비 우호적 인) 건축에 대해 언급했습니다. 이것은 작은 사진에 해당되지만 16 비트 칩 (PIC24F, DSPIC30 등)은 C에서 매우 잘 작동하는 매우 명확한 아키텍처를 가지고 있습니다.

PIC24F 라인은 플라이에 함수 (타이머, A/D, 직렬 I/O)에 핀을 할당 할 수 있으므로 디자인이 조금 더 쉬워집니다. 디버깅 및 개발을위한 MPLAB 환경은 상당히 좋습니다.

나는 약간의 그림 프로그래밍을했다 - 주로 칩이 1 달러에 불과하다는 생각이 마음에 들기 때문이다. 그러나 초보자에게는 가격에만 결정을 내리는 것이 조기 최적화입니다.

어셈블러의 프로그래밍은 경험입니다. LED를 깜박이려면 기본적으로 100 개 개념에 대해 배워야합니다. (워치 독 타이머, 재설정 핀, 8 비트 카운터/오버 플로우, 지연 루프, 16 진수, 바이너리, 비트 마스킹, 인터럽트, 인터럽트 서비스 요청, IO 포트 등) 모두 매우 교육적이며 너무 가까이 다가 갈 수있는 좋은 느낌 기계에 - 그러나 C로 무언가를 코딩 할 수 있으면 이러한 복잡성의 일부를 숨길 수 있으므로 결과에 집중할 수 있습니다. 이런 이유로 나는 AVR과 함께 갈 것이라고 말할 것입니다. (그리고 나는 가격이 이제 사진에 더 가깝다고 생각합니다.)

또한 : 일을 끝내는 데 관심이 있다면 (그리고 ~ $ 30를 지출하지 마세요) 아르두노. 내 현지 전자 제품 상점에서 그들을 판매 한 사람은 예술 학생들에게 많은 톤을 팔고 있다고 말했습니다. (처리 프로젝트의 IDE를 사용하고 AVR-GCC로 코드를 컴파일합니다.)

업데이트 : Arduino가 해석 된 코드를 실행한다는 의견을 수정했습니다. 또한 대략 Arduino 가격을 업데이트했습니다.

나는 Arduino와의 큰 문제가 무엇인지 이해하지 못합니다. 실제로 무슨 일이 일어나고 있는지 이해할 수있는 기회를 망칠 것입니다. 나는 AVR과 PIC를 정기적으로 프로그램하고 기본적으로 큰 차이가 없으며 큰 소란이 무엇인지 알 수 없습니다. 그러나 초보자가 Arduino에서 멀리 떨어져 있으면 간단 할 수도 있지만 함정은 하드웨어 아키텍처에 대한 개념을 제공하지 않으며, 무대 뒤에서 무슨 일이 일어나고 있는지 전혀 몰랐습니다. 초보자는 효과적인 프로그래머가되는 법을 배워야합니다. 내가 초보자 였을 때 나는 ATMEGA32 A $ 20 USBASP 프로그래머 인 AVR Studio (무료) 및 Avrdude (Winavr과 함께 제공)로 시작했으며 AVR Freaks의 소개 튜토리얼을 따랐습니다. 그게 당신이 필요한 전부입니다, 완료 !!!

추신 : Micros를 프로그래밍하는 방법을 배우고 시간을 보내고 싶다면 마이크로의 어셈블러를 배우고 Arduino를 사용한 사람보다 C 프로그래머의 20 배가됩니다.

내 투표는 극도로 다양한 장치에 대한 PIC로 이동합니다. 그러나 나는 사진을 사용하기 시작했을 때 거의 다른 것이 아니라고 말해야합니다. 어쩌면 이제 상황이 바뀌었을 것입니다.

나는 ti에 투표합니다 MSP430 시리즈. 나는 사진을 광범위하게 사용했으며 (Atmel Chips도 조금) 나에게 가장 중요한 것은 좋은 디버깅 IDE입니다. Ti는 이것에 대해 꽤 잘 해냈으며 C ++ 컴파일러는 정말 잘 작동합니다. IDE + USB-Debugger를 포함하여 100 달러 미만의 Eval Board와 함께 갈 수 있습니다. 사진은 더 나은 하드웨어 주변 장치를 가지고 있지만 MPLAB은 쓰레기이며 사진의 유일한 C ++ IDE는 IAR의 유일한 C ++ IDE입니다. ($ 2K 이상)

I/우리는 대부분 동일한 가격에 주변 장치 하드웨어가 있기 때문에 주로 그림을 선택했습니다. 더 중요한 것은 비슷한 AVR을 찾을 수 없습니다. 그래도 레거시 프리 버전 중 하나를 선택했습니다 (PIC18로 시작하여 DSPIC33으로 마이그레이션)

IDE는 무료이며 (C) 컴파일러는 학생 버전에서 무료입니다 (첫 달 이후 최적화를 비활성화 함). 엔트리 레벨 프로그래머도 상당히 저렴합니다. 인터럽트, 카운터 및 타이머가 많으면 최적화가 필요하지 않을 가능성이 있습니다. Microchip에서 직접 프로그래머는 $ 30입니다.

HLL 개발에 대한 AVR 케이터링에 대한 위의 언급은 PIC12 및 16과 같은 레거시 아키텍처를 실제로 진행하지 않는 한 약간 구식입니다.

하나는 일반적으로 더 현대적인 PIC18 (8 비트)과 C의 16 비트 아키텍처 (24F, 30F 및 DSPIC33)를 프로그램합니다. 16 비트는 GCC를 사용하기도합니다. MIPS 기반 32 비트가 있지만 오디오/비디오 처리 장면에서 ARM과 더 많은 경쟁을 벌이고 있습니다. 이상하게도 현대는 종종 오래된 것보다 저렴합니다. 아마도 그들은 더 높은 수율을 가진보다 현대적인 과정에서 생산 될 것입니다.

또 다른 참고 : 한편 Microchip/Pic은 Atmel/AVR을 구입했지만 처음 몇 년 동안 제품 라인에 큰 영향을 미치지 않는다고 가정합니다.

나는 이번 여름에 출시 될 60mips 이더넷 활성화 16 바이트를 정말로 기대하고있다 (Afaik StreetPrice는 EUR 10 바로 10).

MCU 프로그래밍이 무엇인지 알고 싶다면 Arduino에서 시작하는 것이 좋습니다. 초보자 친화적 인 IDE (C와 비슷한 구문을 갖는 처리 언어를 기반으로)로 저렴합니다.

그러나 이것은 당신의 quesiton에 대답하지 않았습니다. Beacuse Altough Arduino는 AVR을 기반으로합니다. 현대 IDE 뒤에 AVR MCU가 있다고 생각할 수 없습니다. :)

방금 시작하는 동안 PIC로 더 많은 성공을 거두었습니다. 나는 Arduino에서 간단한 스타터 키트를 얻으려고 노력했으며 100-200 달러 이상을 소비하지 않고 설정을 다루지 않으면 서 좋은 기본 키트를 얻을 수 없었습니다. PIC에서 약 40 달러에 멋진 스타터 키트를 받았으며 IDE, 프로그래머, 데모 및 튜토리얼을위한 회로가 내장 된 스타터 보드가 있습니다. 하나의 구매. 또한 PIC 환경은 설정 및 작동하기가 매우 쉽습니다. 나는 한 시간 안에 그것을 가지고 놀고 있었다.

마이크로 컨트롤러에 대한 나의 첫 경험은 Oopic-R. 코드에 대해 너무 걱정하지 않고 간단한 로봇 실험을 할 수있었습니다. 객체 지향 프로그래밍 흐름은 모든 것이 빠르게 작동하고 프로그램이 쉽게 작동하게합니다.

최근에 나는 또 다른 다양한 사진을 시도했다. picaxe. 포함 된 프로그래밍 인터페이스는 함께 일하는 산들 바람입니다. 또한 Picaxe를 물리적으로 인터페이스하려면 칩에 프로그래밍하려면 RS-232 포트와 2 개의 핀 만 있으면됩니다 (레벨 이동이 필요하지 않음). 나는 Picaxe를 매우 작은 컨테이너 (SMD 및 딥 칩을 사용할 수 있음)에 포함 시켰으며 아주 잘 작동했습니다.

어셈블리에서 마이크로 컨트롤러를 프로그래밍 한 경험이 없습니다. 당신이 그것을 시도하고 싶다면, AVR은 더 큰 사용자 커뮤니티이기 때문에 더 적합 할 수 있습니다.

내가 아는 한, Atmel의 도구를 사용하여 AVR을 프로그래밍하는 가장 저렴한 방법은 Atmel AVR ISP MKII가 35 $입니다. 10-15 $의 타사 프로그래머를 찾을 수 있습니다.

나는 C 크로스 컴필라의 가용성을 기반으로 선택을 할 것입니다. 과거에는 AVR을 선택으로 만들 것입니다. 지금 상태가 무엇인지 잘 모르겠습니다.

나는 어셈블러에서 사진을 프로그래밍했는데 그다지 재미 있지 않았습니다. C는 여러면에서 훨씬 더 좋습니다.

AVR의 가장 좋은 기능 중 www.avrfreaks.net 포럼의 커뮤니티가 있습니다. 당신은 많은 숙련 된 전자 엔지니어들이 놀고, 신생아가 가도록 도와 줄 의향이 있습니다.

나는 8051 마이크로 컨트롤러를 가장 쉽게하고 Atmel이 많은 내장 기능을 갖춘 마이크로 컨트롤러를 내놓았다 고 말합니다. 그러나 여전히 사람들은 AVR을 사용하고 있습니다 ... 내 손은 8051 가족과 함께 올 것입니다 (내 손. 편안하다면) else avr 's ...

나는 AVR을 사랑합니다. 쉽게 프로그래밍 할 수있는 리소스와 리소스가 있습니다. Arduino와 같은 커뮤니티는 거의 없습니다.

다른 스택 오버플로에서 AVR의 우수성에 대한 더 많은 결정 :http://embeddedgurus.com/stack-overflow/2009/04/pic-stack-overflow/

8 비트 사진의 인기는 나를 당황하게합니다. 건축은 끔찍합니다 - 제한된 콜 스택은 첫 번째 끔찍한 일입니다. 단일 인터럽트 벡터와 함께 페이징 및 뱅킹의 필요성을 버리면 프로그래밍 모델의 악몽이 있습니다. 이것이 8 비트 장치의 표준이라면 한 가지 일 것입니다. 그러나 그렇지 않습니다. AVR 아키텍처는 그림을 날려 버리고 HC05 / HC08은 그림보다 앞서 거리입니다. 선택을 감안할 때 나는 심지어 사진보다 8051을 찍을 것이라고 생각합니다. 비용 장점, 포장 우위는 보이지 않습니다 (Atmel은 방금 가장 큰 장치와 호환되는 지침 세트 인 SOT23-6 AVR을 방금 출시했습니다) 또는 주변 세트 장점이 있습니다. 요컨대, 나는 그것을 얻지 못한다! 또한 이것은 마이크로 칩을 기소하는 것이 아닙니다. 그들은 훌륭한 회사이며 다른 제품, 웹 사이트, 기술 지원 등을 정말 좋아합니다 (아마도 사진이 널리 사용되는 이유일까요?).

나는 Motorola M68HC11에서 시작했는데 충분히 간단했다. 나는 당신이 8 비트 컨트롤러와 같은 경험을 얻을 것이라고 생각합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top