PWM met PIC16F18323 in MikroBasic

Hallo,

Ik wens Pulse Width Modulatie te gebruiken bij PIC16F18323 in MikroBasic.

Daarbij zijn er 2 nieuwe dingen tegelijk voor mij: peripheral pin select en PWM.

Ziehier mijn poging:

code:


program MyProject

main:
TRISC.3 = 0
ANSELC.3 = 0
PPS_Mapping(7, _OUTPUT, _PWM5)

PWM5_Remappable_Init(5000)
PWM5_Remappable_Set_Duty(127)
PWM5_Remappable_Start()
end.

In de datasheet zie ik dat PWM5 en PWM6 beschikbaar is.
Met PPS_Mapping(7, _OUTPUT, _PWM5) wil ik PWM5 koppelen aan RC3, wat pin 7 is. In helpfunctie staat voor het laatste _PWM3OUT als voorbeeld, maar bij _PWM5OUT krijg ik een foutmelding.

Bij PWM5_Remappable_Init(5000) krijg ik een foutmelding. In de helpfunctie wordt er altijd gesproken van PWM1 en PWM2. Bij PWM1_Remappable_Init(5000) komt er geen foutmelding, maar bij PPS_Mapping(7, _OUTPUT, _PWM1) dan weer wel.

Wat doe ik verkeerd?

Met dank bij voorbaat,
Tom

In de datasheet staat nergens dat er een PWM5 en 6 inzitten?
(Alleen wat verwijzingen bij registers en bij de PPS)

Datasheet is nogal beroerd in elkaar gestoken...

Arco - "Simplicity is a prerequisite for reliability" - www.arcovox.com

Inderdaad, in de registers en figuren noemen ze die PWM5 en PWM6. Ik vind geen andere nummers.

Hoe kan ik deze wel gebruiken?

Ze staan nergens verder in de datasheet, dus het is niet eens zeker of ze er wel inzitten... ;)

Arco - "Simplicity is a prerequisite for reliability" - www.arcovox.com

Ze staan toch wel bij de specificaties op de website, in de datasheet en er is een uitgebreide beschrijving van hoe die moet bedienen?

Ik kijk er zeker overheen... ;)
(ik zie ze niet in de datasheet, behalve wat verwijzingen bij PPS e.d....)

Arco - "Simplicity is a prerequisite for reliability" - www.arcovox.com

Op 24 mei 2020 19:00:13 schreef Arco:
Datasheet is nogal beroerd in elkaar gestoken...

Inderdaad, ik vind er wel wat dingen in terug die elkaar tegenspreken.
Zoals
"The corresponding TRIS bit must be cleared to enable the PWM output on the PWMx pin"
en een beetje verder:
"Disable the PWMx pin output driver(s) by setting the associated TRIS bit(s)."

Moet TRIS nu 0 of 1 zijn bij de output pin? (0 zou mij het meest logisch lijken)

In tabel 4-4 staat welke registers bij pwm5 en 6 horen...

Arco - "Simplicity is a prerequisite for reliability" - www.arcovox.com

Op 24 mei 2020 22:21:17 schreef Arco:
Ik kijk er zeker overheen... ;)
(ik zie ze niet in de datasheet, behalve wat verwijzingen bij PPS e.d....)

http://ww1.microchip.com/downloads/en/DeviceDoc/PIC16-L-F183...01799E.pdf

Pagina 1: Pulse-Width Modulators (PWM)
- Two 10-bit PWMs

Pagina 3: tabel

Hoofdstuk 19, vanaf pagina 174

"The corresponding TRIS bit must be cleared to enable the PWM output on the PWMx pin"
en een beetje verder:
"Disable the PWMx pin output driver(s) by setting the associated TRIS bit(s)."

Ik zie niets tegenstrijdigs

eerste regel Tris bit moet 0 worden voor PWM uitput
Cleared betekend op nul zetten
tweede regel om pwm uit te zetten moet het tris bit 1 worden
setting is op 1 zetten.

Ah, ja inderdaad, op het einde van de sequentie zetten ze TRIS terug op 0

Die datasheet zijn vaker meer cryptisch dan nodig is.

Op 24 mei 2020 22:24:46 schreef elektronica:
[...]
http://ww1.microchip.com/downloads/en/DeviceDoc/PIC16-L-F183...01799E.pdf

Pagina 1: Pulse-Width Modulators (PWM)
- Two 10-bit PWMs

Er staat nergens expliciet vermeld dat hiermee PWM5 en 6 worden bedoeld... ;)

https://i.pinimg.com/originals/37/d2/0d/37d20d90eae9c3d7925358eceebe1ebd.jpg

Arco - "Simplicity is a prerequisite for reliability" - www.arcovox.com