как выводить напряжение с 9-го пина в последовательный порт в этом примере?

Тема в разделе "Arduino & Shields", создана пользователем andrrpetr, 27 ноя 2016.

  1. Vetrinus

    Vetrinus Гик

    На этот вопрос я вам точно ответить не могу, но подозреваю, что где-то внутри ардуиновского ядра.
    А что, я сказал что-то не так? Вы мне ломаете картину мира сейчас.
    Я считал, что все, в общем-то, разумно. Когда делаешь высокоуровневую обертку над низкоуровневыми командами, то создаешь интерфейс доступа к этим командам. Т.е. класс, и методы класса. Соответственно, когда создаешь экземпляр класса, то можешь использовать все его методы. И такой подход везде и всюду.
    Я бы еще согласился называть это набором функций, если бы явно видел отсутствие разделения на объект и метод: т.е. что-то вроде Serialprint(), Serialread(), ну и далее по списку.
     
  2. ostrov

    ostrov Гуру

    Класс он и есть, а экземпляр класса определяется например так:
    Код (C++):

    SoftwareSerial mySerial(10, 11); // RX, TX
    Весь кайф с экземплярами в том, что их можно наштамповать несколько и обращаться одинаково, главное не перепутать имя. А стандартный ардуиновский Serial как размножить? И главное зачем?
     
  3. Vetrinus

    Vetrinus Гик

    На самом деле я знаю, как объявляется экземпляр класса)
    А ардуиновский сериал множить смысла нет, потому что один экземпляр на один железный UART.
    От того, что мы не можем и не хотим создавать еще один экземпляр класса Serial, сам Serial не перестает быть объектом - экземпляром класса Serial.
    Также, это не означает того, что он не объявлен где-то внутри ядра.
    Видимо, разработчикам ядра было удобнее поступить именно так, создав один класс под один UART интерфейс. Это проще, снимает очень много проблем, связанных с тем, как помешать пользователю выстрелить себе в ногу. Причем, количество проблем увеличивается пропорционально количеству UART интерфейсов у контроллера.