Beste CO,

Ben weer verder gegaan. Heb de spullen weer binnen. Het vorige verhaal was:
https://www.circuitsonline.net/forum/view/140487

Heb nu de dongle voor Proton IDE, een 3,3V regulator, een level shifter om van 3.3V naar 5V te gaan er terug. En zelfs diverse kristallen.
Maar nu heb ik dus ook de PIC16F1847. Nu vond ik hier op het forum wel al dat deze slecht tot nauwelijks te programmeren is met de WISP648 die ik dus heb. Maar goed eerst de eerste problemen oplossen want ben echt een noob op dit gebied.

Wat ik nu heb gedaan is het programma van de 16F628a overgenomen in de Proton IDE en dan de device verandert in 16F1847.
Vervolgend op Compile gedrukt, en toen kreeg ik een aantal fouten.

  1. HS_OSC is invilad fuse
  2. Unreconised compiler declare! -> DECLARE HSER_RCSTA 90h
  3. unreconised compiler declare! -> DECLARE HSER_TXSTA 24h
  4. unreconised compiler declare! - DECLARE HSER_SPBRG 129
  5. HSERIAL_CLEAR is a protected keyword used by the compiler

Ok de eerste heb ik kunnen opzoeken in de datascheet, dat moet zijn FOSC_XT en de WDT_OFF moet zijn WDTE_OFF.

Maar de andere declares snap ik niet. Volgens mij staat er in de picbasic toch dat het declare is?
En de HSERIAL_CLEAR snap ik ook niet. Terwijl dat ik de ProtonIde Lite eerst had, dus zonder dongle. En daar had ik geen last ermee.
En nu heb ik de gewone en zegt hij dus dit. Wie kan mij helpen.

Oja weet er ook iemand of het programmeren met de WISP648 dan wel goed gaat? Heb het nog niet geprobeerd, maar scheelt weer een type sessie.

De declares zullen wel net een andere naam hebben gekregen. (de 1847 is tenslotte een veel nieuwere controller met een enhanced instructieset)
Je kunt ook niet alleen het processortype veranderen en verwachten dat het ook nog werkt. Code moet je wel nalopen op verschillen tussen beide types.

Gebruik je de code uit het andere topic?

https://www.circuitsonline.net/forum/view/140487

Verder met Arco eens. :)

Ow ok, dus die declares zijn niet gekoppeld aan de Proton IDE, maar aan het type.
Juist dan zal ik eens verder moeten zoeken. Of iemand moet weten hoe ik dat dan neer zet.

Maar inderdaad heb de zelfde code gebruikt. En dan aangepast zoals device en de config. Maar zoals ik al melde kon ik tot op heden niks vinden hoe ik die declares maak, dus dacht het Proton IDe gekoppeld was.

Misschien kun je hier iets mee.

http://ww1.microchip.com/downloads/en/DeviceDoc/31027a.pdf

En anders in de datasheet van desbetreffende controller kijken.

Om maar enkele verschillen te noemen:

- 1847 heeft 2 config registers, de 627 maar 1
- interne clocksources zijn anders
- 627 heeft bij interrupt context save/restore nodig, de 1847 niet

Nou mensen het duurt allemaal even, maar door jullie ben ik wel weer in de goede richting gezet.

Eerst gebruikte ik dus de Proton Lite, die snapt gewoon de variable DECLARE HSER_
Maar nu met licentie gebruik ik Proton+ en deze snapt dat dus niet. Die heeft HSERIAL_ nodig.
De config moest ik inderdaad daarna nog even onderverdelen in config1 en config2. Maar heb nu een mooi hex bestand, dus nu hopen dat ik hem kan in programmeren. Maar dat moet helaas even wachten aangezien ik hier nu even niks heb.



DEVICE 16F1847        
                                      ;Gebruik een 16F628A
CONFIG1 FOSC_XT, WDTE_OFF, PWRTE_ON, MCLRE_OFF        ;Gebruik Externe Kristal
CONFIG2 LVP_OFF
;CONFIG INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, BODEN_OFF, MCLRE_OFF        ;Gebruik Interne Kristal
ALL_DIGITAL TRUE                                            ;Alle ingangen digitaal maken
XTAL = 20                                                   ;Kristal van 20MHz


'LCD aansluitngen verplaatsen
DECLARE LCD_ENPIN = PORTB.0       ;De ENable aansluiting 
DECLARE LCD_RSPIN = PORTB.3       ;De RS aansluiting


; WAARDES MET 20MHZ
;KOPIE VAN USART CALC MISTER E
RCSTA = $90 ' Enable serial port & continuous receive
TXSTA = $24 ' Enable transmit, BRGH = 1
SPBRG = 129 ' 9600 Baud @ 20MHz, 0,16%

DECLARE HSERIAL_RCSTA 90h ' Enable serial port & continuous receive
DECLARE HSERIAL_TXSTA 24h ' Enable transmit, BRGH = 1
DECLARE HSERIAL_SPBRG 129 ' 9600 Baud @ 20MHz, 0,16%
DECLARE HSERIAL_CLEAR = ON

;EINDE KOPIE

XT oscillator klopt niet; 20MHz is de HS oscillator...

Het helpt natuurlijk enorm als je het manual eens bestudeert. Proton Lite is een sterk verouderde versie, je kunt er op rekenen dat er in de tussentijd wel eea is veranderd.

Verder is het weinig zinvol om eerst zelf RCSTA etc een waarde te geven en vervolgens dit nog eens dunnetjes over te doen met declare hserial_rcsta

@Arco: Ja dus toch de HS. Vind het er niet duidelijk instaan.
In de datasheet staat het volgende:
010 = HS oscillator: High-speed crystal/resonator connected between OSC1 and OSC2 pins
001 = XT oscillator: Crystal/resonator connected between OSC1 and OSC2 pins
000 = LP oscillator: Low-power crystal connected between OSC1 and OSC2 pins

De LP spreekt voor zich. Maar hoe moet ik nu als leek weten. Of ik de XT of HS moet hebben?

@hadv: Dat Proton Lite is verouderd verklaard een hele hoop zeg. Dan zal ik inderdaad de handleiding van Proton eens goed doorlezen.

Dat ik eerst RCSTA gebruik en dan de declare heb ik eerlijk gezegd van internet. Vond het zelf ook wel apart, maar dacht dat het met compatibiliteit te maken had. Aangezien zowaar iedereen het doet.(iets met schapen en apen) Maar wat is dan het verschil?

Bedankt iedereen voor de input. Ik leer graag, maar ja dan moet het wel juist worden aangeleerd.

Die declares zijn beide hetzelfde, alleen de eerste rechtstreeks en de tweede via de compiler...
Wat betreft de oscillator: toch de datasheet wat beter doorlezen... :)

Ow ok ook stom, heb ik er totaal overheen gekeken. Heb nog wel gezocht met de zoek functie.

Maar goed, super bedankt.

Net geprobeerd om te programmeren, maar helaas krijg ID is not supported, met xwisp.
Lijkt erop dat de wisp die ik heb niet de nieuwe 16F1847 kan programmeren.
Dat wordt dus de pickit4 bestellen... Jammer kan ik dus weer niet verder.

kjik even of je nog ergens een pickit3 kan krijgen, de pk4 krijgt nogal negatieve recentsies.

en download de fuse configurator van de crownhill site, scheelt je redelijk wat kopzorgen

Heb nu de PK3 besteld. Volgens mij een officiele en geen clone. Krijg hem volgens zegge vrijdag binnen, dus gaan het beleven.

Heb wel die fuse configurator geinstalleerd. Dat is handig. Echt super bedankt voor die Tip. Scheelt een hoop gezeur inderdaad.

Kijk gewoon eens rond op de crownhill site. Veel vragen en antwoorden, een flinke hoeveelheid uitbreidingen (plugins), voorbeeldcode etzeeterah