/light-stick-repeater_AVRBoard

light-stick-repeater의 AVRBoard 코드

Primary LanguageC

light-stick-repeater_AVRBoard

light-stick-repeater의 AVRBoard 코드

Atmega128 참고.

EDP 조사 자료.

EPD(Electronic Paper Display) 개요

제품 데이터시트

참고용 코드1)

해당 프로젝트에서 "main.c"의 int main(void) 함수 부터 추적.

    1. HAL_init(); : 칩 Init
    1. SystemClock_Config() :
    1. MX_GPIO_Init(); : GPIO 핀 설정
    1. MX_SPI1_Init(); : SPI 핀 설정
  • ------ 초기화 끝 ------
    1. E2213JS0C1_Init() : LCD 칩 초기화.
  • ------ 아래는 LCD 이미지 변경때마다 반복될 동작 ------
    1. FrameBuffer드로우 : E2213JS0C1_DrawPoint, E2213JS0C1_ShowCharStr 등등으로 Frame버퍼에 이미지 그림
    1. E2213JS0C1_SendImageData() : 이미지 데이터 전송
    1. E2213JS0C1_SendUpdateCmd() : Update 커멘드 전송
    1. E2213JS0C1_TurnOffDCDC() : 칩 데이터 종료.

참고용코드2)

또다른 코드

참고용코드3)

공식 코드(아두이노 기반)

EDP 구현 TODO.

핀 Out 확인

  • PB3(0x08) -> LCD_SI Display SPI Data Pin (MOSI)
  • PB1(0x02) -> LCD_SCLK Display SPI Clock Pin
  • PB0(0x01) -> LCD_SCS Display SPI Chip select Pin
  • PE4(0x10) -> LCD_BS ??
  • PE5(0x20) <- LCD_BUSY_N Display Busy Pin
  • PE6(0x40) -> LCD_REST_N Display Reset Pin
  • PE7(0x80) -> LCD_DC Display Data/Command Control Pin

질문사항

  • BS 핀은 용도가 뭘까?
  • 회로도의 RST_N 회로는 무엇인가?

코드구현: SPI회로 init함수 구현.

코드구현: 루프문에 들어갈 Frame write 함수 구현.

  • 받은 메시지에 따라 동작 처리.