좋은 설명 잘 보고 갑니다. 감사합니다. 혹, I2C Slave Dual Address 기능에 대하여 아시는 부분이 있으신지요? 요즘 해당 기능이 필요한데 잘 되지 않아 질문 드립니다.
@chcbaram3 жыл бұрын
제가 Slave는 사용해 보지 않았는데, 메뉴얼상으로는 레지스터 OAR1/OAR2를 참조 하시면 될것 같습니다. 두개가 마스킹 기능처럼 조금 다른 부분이 존재하네요.
@chcbaram3 жыл бұрын
구체적으로 어떤 부분이 안되는지 알려주시면 한번 확인해 볼께요.
@hejipapa13 жыл бұрын
@@chcbaram 아 관심 감사드립니다. 현재 non-Blocking mode ( Slave interrrupt 방식 ) 으로 동작 테스트 진행 중인데 원활하게 진행이 되지 않네요. 그게 매끄럽게 되고 난 뒤 Dual Address 까지 테스트를 진행 예정이구요. 1. Aduino 보드로 Master 기능 동작 1-1. 0x70( Dev Addr ) / 0x1 / 0x2 Write 동작 2. nucleo 보드에서 Slave로 셋팅 하여 동작 2-1. I2C Enable 2-2. NVIC Enable 2-3. MX_I2C1_Init() 끝에 HAL_I2C_Slave_Receive_IT(&hi2c1, rxBuf, 2); 실행 / Master로 부터 전달되는 데이터는 2 바이트 2-4. HAL_I2C_SlaveRxCpltCallback() Call Back 함수 정의 하여 함수내에서 HAL_I2C_Slave_Receive_IT() 함수로 데이터 Read 이렇게 심플한 조건의 통신 테스트를 실행하고 디버깅을 하면 rxBuf[0], rxBuf[1] 에 값이 1, 2 이렇게 저장되지 않고 2, 1 이렇게 저장이 됩니다. 참고 부탁드립니다. 감사합니다.
@mrmr2613 жыл бұрын
도움 많이 되어 항상 감사합니다 :) I2C DMA로 테스트 해본 내용도 있나요??
@chcbaram3 жыл бұрын
I2C를 dma로 해보지는 않았는데 과련 함수가 별도로 있어서 사용하는것은 어렵지 않을겁니다.
@2kilhun3 жыл бұрын
목소리가 많이 잠기셨네요 건강 유의하세요 좋은하루되세요
@원영-f7o3 жыл бұрын
오늘도 잘배우고 갑니다^^ 모터나 엔코더 같은거도 있으면 한번 따라해보고 싶네요 감사합니다(__)