본문 바로가기
기술정보 및 자료/EBFO_Quad

EBFO-Quad 펌웨어 수정사항

EBFO-Quad의 펌웨어 수정사항. 


1. USART RX 포트 속성변경 

   sys.c파일의 uart_init()함수내 GPIO_Pin_10(RX)에 대한 속성설정이 변경되어야 합니다.

   RX 입력설정이 float입력으로 인해 외부노이즈가 그대로 유입되며, 

   이 때문에 의도하지 않는 시리얼 데이터입력이 발생할 수 있습니다.

   (커맨드입력모드로 진입하여 컨트롤 불가상태가 되거나 , 무선채널이 변경될 수 있습니다.)


  sys.c파일내의 uart_init()함수

  [수정전]

  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;

  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;

  GPIO_Init(GPIOA,&GPIO_InitStructure);   // porta  rx init..  


  [수정후]

  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;

  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;

  GPIO_Init(GPIOA,&GPIO_InitStructure);   // porta  rx init..  

   

  조종기측과 쿼드콥터측 둘다 펌웨어를 변경하시기 바랍니다. 





2. 커맨드 입력모드 제거

   1번 항목과 동일한 이유로 아래의 코드를 main.c에서 제거합니다.


   main.c파일내의 main()함수

   [수정전]

     cmd = getc1();

     if(cmd!=NORCV)

      { 

        TimerRun=0;  // stop timer

        UserCommand(cmd);

        TimerRun=1;  // start timer

      }


   [수정후]-주석처리

/*     

     cmd = getc1();

     if(cmd!=NORCV)

      { 

        TimerRun=0;  // stop timer

        UserCommand(cmd);

        TimerRun=1;  // start timer

      }

*/     



* 펌웨어 업데이트 후에는 반드시 조종기와 쿼드콥터 모두 캘리브레이션을 해야 합니다.