O padrĂŁo de estado de tipo

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Speaker Notes

  • Pins nĂŁo implementam Copy ou Clone, portanto, apenas uma instĂąncia de cada um pode existir. Uma vez que um pin Ă© movido para fora da estrutura da porta, ninguĂ©m mais pode pegĂĄ-lo.
  • Alterar a configuração de um pin consome a instĂąncia antiga do pin, portanto, vocĂȘ nĂŁo pode continuar usando a instĂąncia antiga depois.
  • O tipo de um valor indica o estado em que ele estĂĄ: por exemplo, neste caso, o estado de configuração de um pin GPIO. Isso codifica a mĂĄquina de estados no sistema de tipos e garante que vocĂȘ nĂŁo tente usar um pin de uma certa maneira sem configurĂĄ-lo corretamente primeiro. TransiçÔes de estado ilegais sĂŁo capturadas em tempo de compilação.
  • VocĂȘ pode chamar is_high em um pin de entrada e set_high em um pin de saĂ­da, mas nĂŁo o contrĂĄrio.
  • Muitos crates HAL seguem esse padrĂŁo.