• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
UART, komunikacja pomiędzy dwoma Arduino.
#16
Długo pisałem tamtego posta, widzę, że @Robson Kerman odpowiedział. Ale wg mnie SerialEvent nie jest tak ściśle powiązany z przerwaniami, to bardziej element loop. Dlatego go można dodać do loop jak w przykładzie z Leonardo i działa tak samo.
Funkcję do przerwań UART musiałbyś szukać dużo głębiej w core Arduino. Przerwanie od UART RX ma zwykle do zrobienia tylko przeniesienie 1 znaku z FIFO do bufora kołowego, przestawienie wskaźnika. TX przepisanie jednego znaku do FIFO i przestawienie wskaźnika w buforze nadawczym. Wg mnie nie ma potrzeby w tym mieszać.
Ile trwa impuls jest nieistotne, jeśli jest ładne zbocze to po prostu ustawiasz na rosnące lub opadające i przerwanie wywoływane jest dokładnie raz, nie na czas trwania impulsu tylko na czas zrobienia "zmienna++". Problemem mogłoby być to, że wchodzisz w obsługę innego przerwania i w tym czasie stuka 2 razy impuls (czy tam więcej). O tym informacja zostanie utracona. Jeśli coś takiego możesz mieć to stosujesz wejście licznika i ono sobie zliczy niezależnie od kodu programu wszystkie impulsy. Wg mnie przy 16MHz można zliczyć do paru tysięcy impulsów przerwaniem INT, im więcej masz przerwań w programie tym większe prawdopodobieństwo, że coś umknie, więc mają być krótkie i do najważniejszych rzeczy.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
  


Wiadomości w tym wątku
RE: UART, komunikacja pomiędzy dwoma Arduino. - przez kaczakat - 22-08-2019, 00:17

Skocz do:


Przeglądający: 1 gości