//! usb_set_address. //! //! This function manages the SET ADDRESS request. When complete, the device //! will filter the requests using the new address. //! //! @warning Code:xx bytes (function code length) //! //! @param none //! //! @return none //! void usb_set_address(void) { Usb_configure_address(Usb_read_byte()); Usb_ack_receive_setup(); Usb_send_control_in(); //!< send a ZLP for STATUS phase while(!Is_usb_in_ready()); //!< waits for status phase done //!< before using the new address Usb_enable_address(); }
//! This function manages the SET ADDRESS request. When complete, the device //! will filter the requests using the new address. //! void usb_set_address(void) { U8 addr = Usb_read_endpoint_data(EP_CONTROL, 8); Usb_configure_address(addr); Usb_ack_setup_received_free(); Usb_ack_control_in_ready_send(); //!< send a ZLP for STATUS phase while (!Is_usb_control_in_ready()); //!< waits for status phase done //!< before using the new address Usb_enable_address(); }