Bonjours a tous !,
Je programmais en basic sur programming éditor (pour des picaxes). Mais j'ai voulu rapidement pouvoir programmer sur beaucoup plus de PIC . J'ai dons étudié un petit livre sur le sujet et développais plusieur programme sans aucun problèmes
MAIS (et c'est le sujet de ma publication), j'ai voulu faire une sérrure codé ... je tape mon langage mais lorsque j'appuis sur "BUILD" pour verrifier qu'il n'y est pas d'erreur et l'erreur :
" main function is not defined "
J'ai beaux chercher IMPOSSIBLE de trouver le problème !
voila le code complet :
****************************** ****************************** ****************************** *******
****************************** ****************************** ****************************** ***************Code:program MyProject 'pour entrer le code on tape sur la touche "*" du keypad 'on entre les 4 chiffres du code à chaque bon chiffre une led vert clignote 'on valide son code, et remet en route par la touche "#" const codeporte as string[4]=(0,0,0,0) 'code a définir const sit as string[10]=(11,1,2,3,4,5,6,7,8,9) 'converti le code dim pchif as byte '1° chiffre du code (traduit) dim dchif as byte '2° chiffre du code (traduit) dim tchif as byte '3° chiffre du code (traduit) dim qchif as byte '4° chiffre du code (traduit) dim bt as byte 'valeur dites BoucheTrou dim n as byte 'pour trad du code sub procedure alarme 's'actionne si qlq'un ouvre la porte portA.3=1 delay_ms(2000) portA.3=0 delay_ms(1000) portA.3=1 goto main end sub sub procedure vali 'permet prevenir que c'est "bien/bon" portA.1=1 delay_ms(1500) portA.1=0 return end sub sub procedure oups 'indique une erreur et renvoie au main dim i as byte 'valeur pour les for-next for i=0 to 3 portA.0=1 delay_ms(500) portA.0=0 delay_ms(500) next i goto main end sub main: n=codeporte[1] 'traduit le code pour le programe n=n+1 pchif=sit[n] n=codeporte[2] n=n+1 dchif=sit[n] n=codeporte[3] n=n+1 tchif=sit[n] n=codeporte[4] n=n+1 qchif=sit[n] if portA.2=0 then 's'assure que la porte est fermé gosub alarme end if Keypad_init(PORTB) bt=keypad_read 'teste si l'on commence a entrer un code select case bt case 10 '=* gosub vali ''à voir si je le laisse if portA.2=0 then gosub alarme end if while true 'boucle de teste du 1°chiffre keypad_init(PORTB) bt=keypad_read if bt=pchif then break else if portA.2=0 then 'detection de sécurité de la porte gosub alarme end if if bt=0 then 'detection si on ne rentre rien continue else 'detection si le chiffre est faux gosub oups end if end if wend while true 'boucle de teste du 2°chiffre keypad_init(PORTB) bt=keypad_read if bt=dchif then break else if portA.2=0 then 'detection de sécurité de la porte gosub alarme end if if bt=0 then 'detection si on ne rentre rien continue else 'detection si le chiffre est faux gosub oups end if end if wend while true 'boucle de teste du 3° chiffre keypad_init(PORTB) bt=keypad_read if bt=tchif then break else if portA.2=0 then 'detection de sécurité de la porte gosub alarme end if if bt=0 then 'detection si on ne rentre rien continue else 'detection si le chiffre est faux gosub oups end if end if wend while true 'boucle de teste du 4° chiffre keypad_init(PORTB) bt=keypad_read if bt=qchif then break else if portA.2=0 then 'detection de sécurité de la porte gosub alarme end if if bt=0 then 'detection si on ne rentre rien continue else 'detection si le chiffre est faux gosub oups end if end if wend while true keypad_init(PORTB) bt=keypad_read if bt=12 then 'on valide car 12 corespond à "#" break else if portA.2=0 then 'detection de sécurité de la porte gosub alarme end if if bt=0 then 'detection si on ne rentre rien continue else 'detection si le chiffre est faux gosub oups end if end if wend gosub vali portA.3=0 'desactivation de l'alarme delay_ms(5000) 'delai de sécu while true 'attente de la remise en route kedpad_init(PORTB) bt=keypad_read if bt=12 then 'signal de remise en route gosub vali goto main 'remise en route end if wend end select goto main end. 'corespondance touche et numero des touches : ' 0 = 11 ; 1=1;2=2;3=3;4=4;5=5;6=6;7=7;8=8;9=9;*=10;#=12
merci de m'aider se serais géniale !
-----