-
Help for a new boy
Hi All
A bit new to all this but learning fast (I hope), and this seems a stupid question, but I don't know and if you don't know you have to ask so........
I have code which works fine on a 12f683, but I had originally planned to use 12f629 and so want to recode it. Now I know there are certain differences, but at the moment I cant even get simple code to work on the 629.
I have this that works on the 629
Code:
' Name : Test44.pbp
' Compiler : PICBASIC PRO Compiler 3.07
' Assembler : PM
' Target PIC : 8-pin PIC12F629
' Oscillator : 4MHz internal
' Description : test file PICBASIC PRO program to show button press on LED.
'
DEFINE PIC12F629, INTRC_OSC,INTRC_OSC_NOCLKOUT,WDT_ON,PWRT_ON,MCLR_OFF, BOD_ON , CPD_OFF , PROTECT_OFF
Define OSCCAL_1K 1 ' PIC12F675, Calibrate internal oscillator
CMCON = 7 ' Analog comparators off
CLEAR
LED var gpio.1 ' Alias GPIO.0 to LED
PB Var GPIO.0 ' Alias GPIO.3 to push button
' Button press turns on LED
If PB = 0 Then ' If button pressed...
low LED ' Turn on LED
Else
high LED ' Turn off LED
Endif
Goto mainloop ' Do it forever
End
However if I add lines after "'Button press ...." such as a short HIGH/PAUSE/LOW/PAUSE sequence all I get is the Led going High and the Prg appears to halt.
If I try similar code on the 683 it works - dont even have the opening DEF in there
Any help gratefully received
Confused Colin
-
Re: Help for a new boy
Colin
You haven't defined the label for 'mainloop' and tell the processor to goto mainloop. You're probably getting errors while compiling this code.
-
Re: Help for a new boy
Please tell us what version of PBP you are using, and if you know whether you are using MPASM or not.
Good catch Jerson . . .
-
Re: Help for a new boy
just checked the code and have got mainloop defined - don't why it didn't copy over.
Code:
' Name : Test44.pbp
' Compiler : PICBASIC PRO Compiler 3.07
' Assembler : PM
'Button press turns on LED
mainloop:
If PB = 0 Then ' If button pressed...
low LED ' Turn on LED
Else
high LED ' Turn off LED
Endif
Goto mainloop ' Do it forever
End
I am using PBP3.071 and and I guess MPASM if that is the default installed.
-
Re: Help for a new boy
It will be easier for members to help if you post all your code. You don't have any CONFIGs, no oscillator setting, LED is not defined as a beginning.
Are the proper pins digital by default on this device?
Robert
-
Re: Help for a new boy
The earlier code posted has all the detail
Led var GPIO.1 etc
-
Re: Help for a new boy
Code:
DEFINE PIC12F629, INTRC_OSC,INTRC_OSC_NOCLKOUT,WDT_ON,PWRT_ON,MCLR_OFF, BOD_ON , CPD_OFF , PROTECT_OFF
Define OSCCAL_1K 1 ' PIC12F675, Calibrate internal oscillator
DOES NOT WORK IN pbp3.xxx which is why I asked you, in fact it does not work in MPASM with ANY version of PBP as it is for the PB assembler which PBP3.xx does not support.
Code:
@ __CONFIG _INTRC_OSC_NOCLKOUT & _WDT_ON & _PWRTE_ON & _MCLRE_OFF & _BOR_OFF & _FCMEN_OFF & _IESO_OFF
above would be how to config MPASM in PBP versions earlier than PBP3.00
PBP 3.xx configs are done as in below:
Code:
#CONFIG
__CONFIG _INTRC_OSC_NOCLKOUT & _WDT_ON & _PWRTE_ON & _MCLRE_ON & _WDT_ON
;__config _CONFIG2, _WRT_OFF & _BOR40V
#ENDCONFIG
All that said you will need to make appropriate changes to what I posted for your particular chip, but that is how to format your configs
-
Re: Help for a new boy
Thanks for the config help