Trying to rotate my character to the position of my touch on mobile

I want my character to rotate to the position I touch on my screen. I want to be able to drag 360 degreees around it so it rotates in all direction. I also want to make sure when I move my joystick it does not change the direction the character is looking in. this is what I have for joystick movement:
public Rigidbody2D rb;
public float moveSpeed = 5f;

public Joystick joystick;
Vector2 movement;
Vector2 mousePos;
public float rotSpeed = 20f;

private void Start()
{
    mousePos = transform.position;
}

// Update is called once per frame
void Update()
{
    
    movement.x = joystick.Horizontal ;
    movement.y = joystick.Vertical;

    
}



void FixedUpdate()
{
    rb.MovePosition(rb.position + movement * moveSpeed * Time.fixedDeltaTime);

    
}

Also when i am rotating it could someone try to make sure it doesnt lock back to its original postion I have had lots of problems with this