Нужно бы засечь сколько миллисекунд занимает считывание. Мне кажется настолько мало, что определённо имеет смысл поставить задержку хотя бы миллисекунд 100, тем более, что во время этой паузы, в отличии от Arduino, микроконтроллер будет не просто простаивать, а, как я понимаю, выполнять операции...