Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
Tout ce qui n'a pas de catégorie !
Bluetooth Electronics et envoi de texte
Gérard
Avatar de l’utilisateur
Expert
Expert
Messages : 1644
Âge : 65
Enregistré en : septembre 2015
Localisation : Alsace - Haut-Rhin

#21 Message par Gérard » lun. 4 mai 2020 20:57

Gérard a écrit :
pspic a écrit :Crée la Sub procedure interrupt suivante :

Code : Tout sélectionner

'_______________________________________________________________________________
Sub procedure interrupt  'Interruption RCIF
 if PIR1.RCIF = 1 then
   if (UART1_Data_Ready() <> 0) then
     UART1_READ_TEXT(Rec , "OK", 255)
    end if
   PIR1.RCIF = 0
 end if
end sub

La variable Rec récupère la chaine reçue à condition qu'elle soit inférieure à 254 caractères.


Je vais tester ça.


1er test de la journée :
Avec l'interruption, ça ne fonctionne pas. J'ai bien validé GIE, PEIE et RCIE
Il entre dans l'interruption mais n'en sort pas. J'en suis sûr. Sans envoi d'un message, une LED clignote, le programme cycle. Quand j'envoie un message (quelques caractères), la LED ne clignote plus et rien ne s'affiche sur le LCD.

Sur le téléphone je vois avant mon texte "^ quand ça fonctionne sans interruption.
Le 18/04/19 je suis devenu papy de jumeaux, le 01/09/23 une petite cousine des jumeaux est née.

Bluetooth Electronics et envoi de texte
Gérard
Avatar de l’utilisateur
Expert
Expert
Messages : 1644
Âge : 65
Enregistré en : septembre 2015
Localisation : Alsace - Haut-Rhin

#22 Message par Gérard » lun. 4 mai 2020 22:03

Temps-x : en #16 et Paul en #17, c'est trop compliqué pour moi.

Paul, j'ai ajouté \r\n puis \n\r puis soit l'un soit l'autre avec toujours le même résultat.
Il ajoute le caractère 199 de la table étendue et 2 " avant et après le message

" 199 message " sur le LCD
" message " retour sur le téléphone

D'où viennent les "?
Le 18/04/19 je suis devenu papy de jumeaux, le 01/09/23 une petite cousine des jumeaux est née.

Bluetooth Electronics et envoi de texte
pspic
Passioné
Passioné
Messages : 357
Âge : 77
Enregistré en : septembre 2017
Localisation : 68

#23 Message par pspic » mar. 5 mai 2020 15:01

Bonjour Gérard,
Pour avancer et voir de quel coté se trouve le problème, je te propose la solution suivante:

1 / Tu programme ton PIC avec le code suivant en MikroBasic :

Code : Tout sélectionner

program MyProject
'Réception texte envoyé App Android "SendTextToPic"  05/05/2020
'PIC 18F2220, Q = 8MHz
'Testé sur EasyPic5 et module HC-06
dim Delim as string[2]
    Rec as string[16]
    TrRec as byte

'Lcd module connections
dim LCD_RS as sbit at RB4_bit
    LCD_EN as sbit at RB5_bit
    LCD_D4 as sbit at RB0_bit
    LCD_D5 as sbit at RB1_bit
    LCD_D6 as sbit at RB2_bit
    LCD_D7 as sbit at RB3_bit
    LCD_RS_Direction as sbit at TRISB4_bit
    LCD_EN_Direction as sbit at TRISB5_bit
    LCD_D4_Direction as sbit at TRISB0_bit
    LCD_D5_Direction as sbit at TRISB1_bit
    LCD_D6_Direction as sbit at TRISB2_bit
    LCD_D7_Direction as sbit at TRISB3_bit
'_______________________________________________________________________________
Sub procedure interrupt  'Interruption RCIF
 if PIR1.RCIF = 1 then
   if (UART1_Data_Ready() <> 0) then
     UART1_READ_TEXT(Rec , Delim, 255)     'Rec = trame reçue
     TrRec = 1                             'Mem interruption
   end if
   PIR1.RCIF = 0
 end if
end sub

'_______________________________________________________________________________
main:
  Uart1_Init(9600)          'Init Usart
  Delay_ms(100)
  INTCON.PEIE = 1           'Perif interupt enable = true
  PIE1.RCIE = 1
  INTCON.GIE = 1            'Global interupt enable = true
  Adcon1 = $0F              'Configure AN pins as digital
  PORTA = 0
  PORTB = 0
  PORTC = 0
  LATA = 0
  LATB = 0
  LATC = %10000000
  TrRec = 0                 'Mem Trame reçu
  Delim ="OK"               'Délimiteur trame recu
  Lcd_Init()                'Init Lcd
  Lcd_Cmd(_LCD_CLEAR)       'Clear Lcd display
  Lcd_Cmd(_LCD_CURSOR_OFF)  'cursor off
  LCD_OUT(1,2,"  SEND TEXT  ")
  delay_ms(2000)
  Lcd_Cmd(_LCD_CLEAR)
  while true
   if TrRec = 1 then         'Si trame reçue
     Lcd_Cmd(_LCD_CLEAR)
     LCD_OUT(1,1,Rec)
     TrRec = 0
    end if
    delay_ms(200)
  wend
end.


2/ Tu charge l'App "SendTextToPic" ci-jointe dans un Tél Android.
SendTextToPic_1.zip


3/ Tu teste le fonctionnement.

Si c'est OK, alors nous passerons à la partie App
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.

Bluetooth Electronics et envoi de texte
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2597
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#24 Message par paulfjujo » mar. 5 mai 2020 19:10

Gérard a écrit :.....
Comment savoir ce que code Serial bluetooth?


d'apres ton lien

l'appli peut afficher l'envoi et le retour en hexadecimal
regarde si tu peux le configuere comme cela

1.jpg



ce qui m'interpelle dans l'exemple visualisé
sont les valeurs Hexa : 02 ................. 03
correspondant à
STX ....... EOT protocole Start text et End of Text
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Aide toi, le ciel ou FantasPic t'aidera

Bluetooth Electronics et envoi de texte
Gérard
Avatar de l’utilisateur
Expert
Expert
Messages : 1644
Âge : 65
Enregistré en : septembre 2015
Localisation : Alsace - Haut-Rhin

#25 Message par Gérard » mar. 5 mai 2020 21:07

Pierre, j'ai installé le fichier sur mon téléphone, je teste demain.

Paul, je vois sur ta copie d'écran plein de touches sur la vue de gauche. K1, K2 ...M1, M2 ...
Je n'avais que M1, M2, M3 ...
C'est bien Serial Bluetooth?
Le 18/04/19 je suis devenu papy de jumeaux, le 01/09/23 une petite cousine des jumeaux est née.

Bluetooth Electronics et envoi de texte
pspic
Passioné
Passioné
Messages : 357
Âge : 77
Enregistré en : septembre 2017
Localisation : 68

#26 Message par pspic » mer. 6 mai 2020 10:06

Bonjour Paul,
paulfjujo a écrit :
Gérard a écrit :ce qui m'interpelle dans l'exemple visualisé
sont les valeurs Hexa : 02 ................. 03
correspondant à
STX ....... EOT protocole Start text et End of Text


Pour recevoir la trame avec UART1_READ_TEXT (en Mikrobasic) il faut dans Serial Bluetooth terminal aller dans Settings, Recieve / Send, Newline None et attacher un délimiteur (expl. OK) à la chaine à transmettre.
TestBt1.jpg
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.

Bluetooth Electronics et envoi de texte
pspic
Passioné
Passioné
Messages : 357
Âge : 77
Enregistré en : septembre 2017
Localisation : 68

#27 Message par pspic » mer. 6 mai 2020 10:21

Gérard a écrit :Paul, je vois sur ta copie d'écran plein de touches sur la vue de gauche. K1, K2 ...M1, M2 ...
Je n'avais que M1, M2, M3 ...
C'est bien Serial Bluetooth?

Bonjour Gérard,
Je confirme, c'est bien Serial Bluetooth, ce n'est qu'une question de configuration de la bête.
Tu peux tester mon programme de hier de la façon suivante :
Ouvre Serial Bluetooth Terminal, Settings, Send, Newline et tu sélectionnes None.
Devices pour sélectionner le HC.
Saisir EssaiOK (OK en majuscules) et envoyer.
Le LCD doit afficher Essai.
Tu utilises quel PIC pour tes essais ?

Bluetooth Electronics et envoi de texte
pspic
Passioné
Passioné
Messages : 357
Âge : 77
Enregistré en : septembre 2017
Localisation : 68

#28 Message par pspic » mer. 6 mai 2020 14:00

Un petit résumé.
SbtToPic.docx
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.

Bluetooth Electronics et envoi de texte
Gérard
Avatar de l’utilisateur
Expert
Expert
Messages : 1644
Âge : 65
Enregistré en : septembre 2015
Localisation : Alsace - Haut-Rhin

#29 Message par Gérard » mer. 6 mai 2020 15:57

pspic a écrit :Bonjour Gérard,
Pour avancer et voir de quel coté se trouve le problème, je te propose la solution suivante:

1 / Tu programme ton PIC avec le code suivant en MikroBasic :

Code : Tout sélectionner

program MyProject
'Réception texte envoyé App Android "SendTextToPic"  05/05/2020
'PIC 18F2220, Q = 8MHz
'Testé sur EasyPic5 et module HC-06
dim Delim as string[2]
    Rec as string[16]
    TrRec as byte

'Lcd module connections
dim LCD_RS as sbit at RB4_bit
    LCD_EN as sbit at RB5_bit
    LCD_D4 as sbit at RB0_bit
    LCD_D5 as sbit at RB1_bit
    LCD_D6 as sbit at RB2_bit
    LCD_D7 as sbit at RB3_bit
    LCD_RS_Direction as sbit at TRISB4_bit
    LCD_EN_Direction as sbit at TRISB5_bit
    LCD_D4_Direction as sbit at TRISB0_bit
    LCD_D5_Direction as sbit at TRISB1_bit
    LCD_D6_Direction as sbit at TRISB2_bit
    LCD_D7_Direction as sbit at TRISB3_bit
'_______________________________________________________________________________
Sub procedure interrupt  'Interruption RCIF
 if PIR1.RCIF = 1 then
   if (UART1_Data_Ready() <> 0) then
     UART1_READ_TEXT(Rec , Delim, 255)     'Rec = trame reçue
     TrRec = 1                             'Mem interruption
   end if
   PIR1.RCIF = 0
 end if
end sub

'_______________________________________________________________________________
main:
  Uart1_Init(9600)          'Init Usart
  Delay_ms(100)
  INTCON.PEIE = 1           'Perif interupt enable = true
  PIE1.RCIE = 1
  INTCON.GIE = 1            'Global interupt enable = true
  Adcon1 = $0F              'Configure AN pins as digital
  PORTA = 0
  PORTB = 0
  PORTC = 0
  LATA = 0
  LATB = 0
  LATC = %10000000
  TrRec = 0                 'Mem Trame reçu
  Delim ="OK"               'Délimiteur trame recu
  Lcd_Init()                'Init Lcd
  Lcd_Cmd(_LCD_CLEAR)       'Clear Lcd display
  Lcd_Cmd(_LCD_CURSOR_OFF)  'cursor off
  LCD_OUT(1,2,"  SEND TEXT  ")
  delay_ms(2000)
  Lcd_Cmd(_LCD_CLEAR)
  while true
   if TrRec = 1 then         'Si trame reçue
     Lcd_Cmd(_LCD_CLEAR)
     LCD_OUT(1,1,Rec)
     TrRec = 0
    end if
    delay_ms(200)
  wend
end.


2/ Tu charge l'App "SendTextToPic" ci-jointe dans un Tél Android.
SendTextToPic_1.zip

3/ Tu teste le fonctionnement.

Si c'est OK, alors nous passerons à la partie App


CA MARCHE !!!!!

Le PIC est un 18F2520 à 4MHz.
Modifié en dernier par Gérard le mer. 6 mai 2020 16:22, modifié 1 fois.
Le 18/04/19 je suis devenu papy de jumeaux, le 01/09/23 une petite cousine des jumeaux est née.

Bluetooth Electronics et envoi de texte
Gérard
Avatar de l’utilisateur
Expert
Expert
Messages : 1644
Âge : 65
Enregistré en : septembre 2015
Localisation : Alsace - Haut-Rhin

#30 Message par Gérard » mer. 6 mai 2020 16:09

pspic a écrit :
Gérard a écrit :Paul, je vois sur ta copie d'écran plein de touches sur la vue de gauche. K1, K2 ...M1, M2 ...
Je n'avais que M1, M2, M3 ...
C'est bien Serial Bluetooth?

Bonjour Gérard,
Je confirme, c'est bien Serial Bluetooth, ce n'est qu'une question de configuration de la bête.
Tu peux tester mon programme de hier de la façon suivante :
Ouvre Serial Bluetooth Terminal, Settings, Send, Newline et tu sélectionnes None.
Devices pour sélectionner le HC.
Saisir EssaiOK (OK en majuscules) et envoyer.
Le LCD doit afficher Essai.
Tu utilises quel PIC pour tes essais ?


Test avec Serial Bluetooth : OK aussi.

Le délimiteur est OK sans " "
Je suppose que tu l'as prévu dans SendTextToPic.
Par contre, le LCD ne veut pas des accents ni avec ton soft ni avec Serial.

Ouf, on avance. Je suis vraiment content. Merci ! Merci ! Merci ! et :bravo: pour le partage et pour votre patience.
Le 18/04/19 je suis devenu papy de jumeaux, le 01/09/23 une petite cousine des jumeaux est née.


Retourner vers « Coin Fourre-tout »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 59 invités