Electro-Smith Daisy seed 를 사용한 GPIO
Daisy 출력에 사용되는 트랙 종류
Daisy의 출력은 크게
(출처: https://github.com/electro-smith/DaisyWiki/wiki/2.-Daisy-Seed-Pinout
GPIO 사용 방법
디지털 GPIO는 기본적으로 UART 통신용, I2C 통신용 등 어떤 작용을 분배하는데 예를 들어 트랙 위치를 보면 알 수 있다[1].이것을 출력에 사용하려면 다음과 같은 설정이 필요합니다.
#define PIN_GATE 13
dsy_gpio gate_output;
gate_output.pin = seed.GetPin(PIN_GATE);
// DSY_GPIO_MODE_OUTPUT_PP はプッシュプル。オープンドレインにしたい場合は DSY_GPIO_MODE_OUTPUT_OD。
// ドキュメント: https://electro-smith.github.io/libDaisy/group__other.html#ga0edc3fcaf729346c5251d263d732666e
gate_output.mode = DSY_GPIO_MODE_OUTPUT_PP;
// 内部プルダウン・プルアップ抵抗を使うか
// ドキュメント: https://electro-smith.github.io/libDaisy/group__other.html#gad8a85223f8dbcdf2c2cfc9302b3451b8
gate_output.pull = DSY_GPIO_NOPULL;
// 初期化
dsy_gpio_init(&gate_output);
이렇게 하면 dsy_gpio_write()
로 값을 쓸 수 있습니다.false
는low,true
는high입니다.dsy_gpio_write(&gate_output, false);
(참조) DAC out에 대한 출력
DAC out도 seed용 코드를 준비했지만 다른 목적이 있어 사용했다가 리뷰에서 빠졌다.수중에 해본 적은 없지만 이렇게 출력할 수 있을 것 같아요.값
uint16_t
이니까 65536등급?// ここでコメントアウトされているコード。Patchなどの場合はここは不要。
// https://github.com/electro-smith/libDaisy/blob/831f3820808f7718c55d6c844489d17bc20c2086/src/daisy_seed.cpp#L274-L284
DacHandle::Config cfg;
cfg.bitdepth = DacHandle::BitDepth::BITS_12;
cfg.buff_state = DacHandle::BufferState::ENABLED;
cfg.mode = DacHandle::Mode::POLLING;
cfg.chn = DacHandle::Channel::BOTH;
seed.dac.Init(cfg);
uint16_t value = ...;
seed.dac.WriteValue(
DacHandle::Channel::ONE, // あるいはTWOを指定
value
);
각주덧붙여 libDaisy는 프로세서 IC(405x)와 위치 이동 레지스터 IC(595)의 함수를 준비했고 디지털 GPIO도 이곳에서 사용한다(예: https://electro-smith.github.io/libDaisy/structdaisy_1_1_adc_channel_config.html#ae8d9aafe3ca60ee3e657272fd7810fd4↩︎
Reference
이 문제에 관하여(Electro-Smith Daisy seed 를 사용한 GPIO), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/yutannihilation/articles/15b43055e36556텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)