There's a lot of flexibility in what you *can* do, but:
Wallet design, certainly every wallet you're using nowadays, strongly discourages users from re-using addresses. That means, in practice, that when you click a 'receive' button to get an address to send to, you always get a *new* address, i.e. one that hasn't been used before.
That means that in your scenario: I send 0.5 btc, twice, to my hardware wallet (and same for desktop or mobile wallets), you will almost always be sending to two different addresses. An obvious exception would be if you simply copied (or wrote down) one address, somewhere. People literally using paper wallets are tending to stick with one (this is just one, minor, reason that paper wallets are a bit frowned on).
Why does the "don't reuse addresses" concept exist? It's mainly for privacy; reusing an address makes it 100% clear that those two amounts of money are owned by the same user. There are also more subtle reasons to not reuse addresses, but that's a sidetrack.