Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

GitHub kontoen vår, under plab-library, kan dere finne PLabBT, et bibliotek for å forenkle mottak av beskjeder. Dette biblioteket inneholder to klasser: PLabBTSerial og PLabBTCallback.

PLabBTSerial

Denne arver fra Arduinos SoftwareSerial, og har derfor de samme begrensningene som det. Hovedbegrensningen vi har merka, er nok bare at om du bruker flere enheter som bruker det, kan du bare motta data fra en av dem. Så lenge du bare kobler til en bluetooth enhet tror vi ikke dette har noe å si.

...

Se eksempel 2 for å se det i bruk.

PLabBTCallback

Denne klassen er helt egen. Den bruker PLabBTSerial internt, men dette har liten innvirkning for deg.

Constructor:

MetodeArgumenter
PLabBTCallback

uint8_t receivePin - Pinne som brukes for å motta på

uint8_t transmitPin - Pinne som brukes for å sende til

char divider = ':' - Tegnet som skiller kommando og argument. Standard er ':

bool inverse_logic = false - Hvorvidt enheten er styrt av aktivt lavt signal. Standard er aktiv høy

uint8_t bufferSize = 50 - Hvor lang en kommando og argument kan være tilsammen

Metoder:

MetodeArgumenterForklaring
void beginlong speed - Hvor raskt kommunikasjonen skal foregå. 9600 fungerer bra for dette. Må kalles før update()Starter kommunikasjon med bluetooth enheten
void update Oppdaterer alle interne strukturer. Forårsaker callback kall
void registerCallback

char *command - Tekst kommandoen callback skal reagere på

void(*callback)(char *arg) - Callback funksjonen. Må ta et char * argument (c-streng)

Registrerer en callback funksjon som blir kalt når den gitte kommandoen kommer inn.Flere callbacks kan registreres på samme kommando.

void registerNoCommandCallbackvoid(*callback)(char *arg) - Callback funksjonen. Må ta et char * argument (c-streng)Registrerer en callback funksjon som blir kalt hvis delingstegnet ikke er tilstede i mottatt beskjed. Kun en slik vil registreres.

 

AT kommandoer

AT kommandoer trenger generelt å bare kjøres en gang. Etter de er kjørt lagres resultatet på chipen. Derfor fungerer det helt fint å bare bruke eksempel 1 under, og skrive AT kommandoene dere vil kjøre manuelt fra konsollvinduet.

...