정기적 인 Hackaday 독자가 이미 마이크로 컨트롤러로 LED를 깜박이는 방법을 이미 알고 6502 개의 어셈블리에서 Navier-Stokes 방정식을 해결하는 것과 같은 약간 더 많은 도전적인 프로젝트로 옮겨 졌는지 알고있는 동안 DMA

를 통해 더 나은 LED 초보자를위한 공간. [RIK]는 깜박이는 빛나는 것들을위한 DMA를 학대하는 데 훌륭한 자습서를 발표했습니다. 왜 누구든지 DMA 기술에 대해 배우고 싶습니까? 물론 깜박이는 것들을 위해.

이 튜토리얼은 LED 다중화 및 LED 매트릭스 또는 기본적으로 XY 그리드에 함께 연결된 LED의 무리를 지식합니다. 8 × 8 그리드 LED를 구동하는 순진한 방법은 마이크로 컨트롤러의 GPIO 핀에 8 개의 음극을 부착하고, 8 개의 양극을 다른 GPIO 핀 세트에 부착하고 필요에 따라 전류를 소싱하고 가라 앉는 것입니다. 시프트 레지스터로 핀 수를 줄일 수 있으며 LED 디밍을 PWM으로 구현할 수 있습니다. 이것은 우리의 집중적 인 8 주의 Arduino 과정을 마무리합니다.

1980 년대에 갇혀 있지 않은 마이크로 컨트롤러 덕분에 새로운 기술을 사용하여 이러한 LED 매트릭스를 운전할 수 있습니다. 보다 강력한 ARM 마이크로 컨트롤러의 대부분은 DMA와 직접적인 메모리 액세스를위한 주변 장치가 제공됩니다. CPU가 모든 작업을 수행하는 대신 DMA 컨트롤러는 단순히 메모리와 핀 사이의 비트를 섞을 수 있습니다. 즉, 깜박이는 프로젝트와 Glowier LED를 의미합니다.

[RIK] DMAing LED의 방법은 코드에서 큰 ‘OL 어레이를 설정하고 DMA 주변 장치를 올바르게 초기화하고 LED 매트릭스를 몇 개의 핀으로 배선하는 것을 포함합니다. 이 기술은 DMA 컨트롤러가 아니라면 믿을 수없는 처리 능력 (마이크로 컨트롤러의 경우)을 사용하는 밝기가 64 단계의 밝기가있는 애니메이션으로 확장 될 수 있습니다.

이 실험에서 사용 된 설정은 OpenSTM32 IDE와 함께 STM32F103 핵 보드입니다. [RIK]는 GitHub에서 모든 코드를 출시했으며, 물론 놀이를 권장합니다.

Leave a Reply