# Software.Serial.h und PPm.h Arduino-Drohne

**URL:** <https://forum.arduino.cc/t/software-serial-h-und-ppm-h-arduino-drohne/1173020>\
**Category:** Deutsch\
**Created:** [September 28, 2023, 8:31am UTC](https://forum.arduino.cc/t/software-serial-h-und-ppm-h-arduino-drohne/1173020 "2023-09-28T08:31:29Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![juergenmass](https://avatars.discourse-cdn.com/v4/letter/j/7bcc69/32.png) [@juergenmass](https://forum.arduino.cc/u/juergenmass)\
**Post date:** [September 28, 2023, 8:31am UTC](https://forum.arduino.cc/t/software-serial-h-und-ppm-h-arduino-drohne/1173020/1 "2023-09-28T08:31:29Z")

</div>

Hallo  
Ich programmiere schon länger an meiner Drohne einem "HexaCopter".  
welche nun auch in der Lage ist ihre Fluglage selbstständig zu halten.  
Die Rc -Steuerung lese ich über PPM.h ein ,  
Jetzt wollte ich das ganze mit Gps erweitern ,  
Wozu ich auch die SoftwareSerial.h benötige

#include\<SoftwareSerial.h\>  
#include \<ppm.h\>

Was zu folgender fehlermeldung führt:

* * *

Arduino: 1.8.19 (Windows 7), Board: "Arduino Uno"  
libraries\PPM-1.1.3\pcint.cpp.o (symbol from plugin): In function `port\_to\_pcmask':

(.text+0x0): multiple definition of `__vector_3' libraries\SoftwareSerial\SoftwareSerial.cpp.o (symbol from plugin):(.text+0x0): first defined here libraries\PPM-1.1.3\pcint.cpp.o (symbol from plugin): In function `port\_to\_pcmask':  
(.text+0x0): multiple definition of `__vector_4' libraries\SoftwareSerial\SoftwareSerial.cpp.o (symbol from plugin):(.text+0x0): first defined here libraries\PPM-1.1.3\pcint.cpp.o (symbol from plugin): In function `port\_to\_pcmask':  
(.text+0x0): multiple definition of `\_\_vector\_5'  
libraries\SoftwareSerial\SoftwareSerial.cpp.o (symbol from plugin):(.text+0x0): first defined here  
collect2.exe: error: ld returned 1 exit status  
exit status 1  
Fehler beim Kompilieren für das Board Arduino Uno.

* * *

So wie ich es verstehe also eine mehrfache definition von der variable "vector"  
Ich bin jetzt im Augenblick mit meinem Latein am ende..  
für Hinweise /Ratschläge wäre ich dankbar

---

<div class="post-metadata">

**Author:** ![combie](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/combie/32/217369_2.png) [@combie](https://forum.arduino.cc/u/combie)\
**Post date:** [September 28, 2023, 8:58am UTC](https://forum.arduino.cc/t/software-serial-h-und-ppm-h-arduino-drohne/1173020/2 "2023-09-28T08:58:10Z")

</div>

> [@juergenmass](#):
>
> So wie ich es verstehe also eine mehrfache definition von der variable "vector"

So ist es!  
beide Libs verwenden PCINT

> [@juergenmass](#):
>
> Ich bin jetzt im Augenblick mit meinem Latein am ende..  
> für Hinweise /Ratschläge wäre ich dankbar

Mein Rat:  
Kundig machen und selber Hand anlegen.  
Dann ist sicherlich beides machbar/vereinbar.

Evtl kannst du auch eine der beiden Libs auf Hardware Interrupts umstellen.  
Zumindest bei der PPM Lib scheint das recht leicht machbar.

---

<div class="post-metadata">

**Author:** ![juergenmass](https://avatars.discourse-cdn.com/v4/letter/j/7bcc69/32.png) [@juergenmass](https://forum.arduino.cc/u/juergenmass)\
**Post date:** [September 28, 2023, 10:25am UTC](https://forum.arduino.cc/t/software-serial-h-und-ppm-h-arduino-drohne/1173020/3 "2023-09-28T10:25:24Z")

</div>

combie.  
Ich dank dir für deine Info,..  
also hab ich 2 Möglichkeiten  
1, in einer Datei nur global definieren oder  
2. mit z.b HardwareSerial.h das Ppm -Signal einlesen

---

<div class="post-metadata">

**Author:** ![combie](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/combie/32/217369_2.png) [@combie](https://forum.arduino.cc/u/combie)\
**Post date:** [September 28, 2023, 10:34am UTC](https://forum.arduino.cc/t/software-serial-h-und-ppm-h-arduino-drohne/1173020/4 "2023-09-28T10:34:33Z")

</div>

> [@juergenmass](#):
>
> also hab ich 2 Möglichkeiten

Beide Möglichkeiten verstehe ich nicht!  
KA, was du dir da vorstellst.......

Nochmal, meine Ansage:  
Die PPM Lib scheint dafür vorbereitet zu sein, ohne PCINT arbeiten zu können.  
Diese Chance solltest du ergreifen, würde ich mal sagen.

---

<div class="post-metadata">

**Author:** ![juergenmass](https://avatars.discourse-cdn.com/v4/letter/j/7bcc69/32.png) [@juergenmass](https://forum.arduino.cc/u/juergenmass)\
**Post date:** [September 28, 2023, 10:54am UTC](https://forum.arduino.cc/t/software-serial-h-und-ppm-h-arduino-drohne/1173020/5 "2023-09-28T10:54:19Z")

</div>

ok... Du meist also das ich das PCINT in der ppm.h b.z.w in der ppm.cpp einfach ausklammere ?

---

<div class="post-metadata">

**Author:** ![combie](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/combie/32/217369_2.png) [@combie](https://forum.arduino.cc/u/combie)\
**Post date:** [September 28, 2023, 11:33am UTC](https://forum.arduino.cc/t/software-serial-h-und-ppm-h-arduino-drohne/1173020/6 "2023-09-28T11:33:40Z")

</div>

Die pcint.\* Dateien aus der Lib entfernen und in ppm.cpp diese Änderung machen:

```arduino

#include <Arduino.h>
#include "ppm.h"
// #include "pcint.h"
#include "avr/interrupt.h"

// #define USE_PCINT

```

ohne Gewähr

Dann allerdings hast du keine freie Pinwahl mehr.  
Es gehen dann nur noch Pin 2 oder 3 für PPM

---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/system/32/1140315_2.png) [@system](https://forum.arduino.cc/u/system)\
**Post date:** [March 26, 2024, 11:33am UTC](https://forum.arduino.cc/t/software-serial-h-und-ppm-h-arduino-drohne/1173020/7 "2024-03-26T11:33:59Z")

</div>

Closed on March 26, 2024, 11:33am UTC

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.
