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 ---
- 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 ---
Modérateur : Gérard
MikroBasic et SPI
- Gérard
Expert- Messages : 1644
- Âge : 65
- Enregistré en : septembre 2015
- Localisation : Alsace - Haut-Rhin
Bonjour,
Je voulais tester la liaison SPI avec Mikrobasic et ça ne veut pas comme j'aimerais ...
La liaison SPI attaque 4 WS2801 DS du WS2801 pilotant chacun une LED RGB AC.
Les variables R_1 à B_4 sont déclarées comme byte.
Sur RB3 est branché une LED témoin pour voir si le programme tourne.
Merci pour vos lumières.
Edit : je ne sais pas pourquoi certaines parties du programme apparaissent en rouge.
Je voulais tester la liaison SPI avec Mikrobasic et ça ne veut pas comme j'aimerais ...
La liaison SPI attaque 4 WS2801 DS du WS2801 pilotant chacun une LED RGB AC.
Les variables R_1 à B_4 sont déclarées comme byte.
Sur RB3 est branché une LED témoin pour voir si le programme tourne.
Merci pour vos lumières.
Edit : je ne sais pas pourquoi certaines parties du programme apparaissent en rouge.
Code : Tout sélectionner
'*************************************************************
' S/P TRANSFERT
'*************************************************************
SUB PROCEDURE TRANSFERT
SPI1_WRITE (R_1)
SPI1_WRITE (G_1)
SPI1_WRITE (B_1)
SPI1_WRITE (R_2)
SPI1_WRITE (G_2)
SPI1_WRITE (B_2)
SPI1_WRITE (R_3)
SPI1_WRITE (G_3)
SPI1_WRITE (B_3)
SPI1_WRITE (R_4)
SPI1_WRITE (G_4)
SPI1_WRITE (B_4)
END SUB
'*************************************************************
' S/P BLEU
'*************************************************************
SUB PROCEDURE BLEU
R_1 = 0
G_1 = 0
B_1 = 255
R_2 = 0
G_2 = 0
B_2 = 255
R_3 = 0
G_3 = 0
B_3 = 255
R_4 = 0
G_4 = 0
B_4 = 255
TRANSFERT
Delay_MS (10)
END SUB
'*************************************************************
' S/P ROUGE
'*************************************************************
SUB PROCEDURE ROUGE
R_1 = 255
G_1 = 0
B_1 = 0
R_2 = 255
G_2 = 0
B_2 = 0
R_3 = 255
G_3 = 0
B_3 = 0
R_4 = 255
G_4 = 0
B_4 = 0
TRANSFERT
Delay_MS (10)
END SUB
' Main program
ADCON0 = 0
PORTA = 0
PORTB = 0
INTCON = 0
ADCON1 = 7
OSCCON = %01110100
ANSEL = 0
TRISA = %00000000
TRISB = %00000010
SPI1_INIT ()
DEBUT:
for K = 0 to 4
PORTB.B3 = 0
DELAY_MS (200)
PORTB.B3 = 1
DELAY_MS (200)
next K
BLEU
DELAY_MS (500)
ROUGE
DELAY_MS (500)
GOTO DEBUT
MikroBasic et SPI
MikroBasic et SPI
-
Jérémy
Administrateur du site- Messages : 2723
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Hello Gérard,
Le texte apparait en rouge a cause de ' qui doit être considéré comme un caractère définissant une couleur .
Il faudrait que tu sois plus explicite ? les leds s'allument ? etc ....
Je connais pas MikroBasic , sans passer par le SPI tu arrive a faire ce que tu veux des LEDS ?
Pour le SPI i l en faut pas sélectionner l'esclave ? avec un Chip select ?
La valeur de ton OSC est elle conforme au traitement du SPI ? je crois qu'il faut respecter la vitesse
Ne faut il pas déclarer le main comme ceci main: dans ton code tu le mets en commentaire non ?
Le texte apparait en rouge a cause de ' qui doit être considéré comme un caractère définissant une couleur .
ça ne veut pas comme j'aimerais ...
Il faudrait que tu sois plus explicite ? les leds s'allument ? etc ....
Je connais pas MikroBasic , sans passer par le SPI tu arrive a faire ce que tu veux des LEDS ?
Pour le SPI i l en faut pas sélectionner l'esclave ? avec un Chip select ?
La valeur de ton OSC est elle conforme au traitement du SPI ? je crois qu'il faut respecter la vitesse
Ne faut il pas déclarer le main comme ceci main: dans ton code tu le mets en commentaire non ?
MikroBasic et SPI
MikroBasic et SPI
MikroBasic et SPI
MikroBasic et SPI
MikroBasic et SPI
MikroBasic et SPI
- Gérard
Expert- Messages : 1644
- Âge : 65
- Enregistré en : septembre 2015
- Localisation : Alsace - Haut-Rhin
Jérémy a écrit :Donc quelques choses ce faisait pas ou mal dans l'init "classique" , bizarre !
c'est ce que je pense aussi. Après, l'interface du WS2801 n'est pas vraiment une SPI classique, je suppose aussi que la config SPI par défaut ne correspond pas à ce qu'attend le WS.
MikroBasic et SPI
- Gérard
Expert- Messages : 1644
- Âge : 65
- Enregistré en : septembre 2015
- Localisation : Alsace - Haut-Rhin
Pour Sylvain, pas de schéma mais une photo.
Le 16F88 à gauche et 4 modules WS2801 en version SOIC soudés sur des adaptateurs DIP.
Le 16F88 à gauche et 4 modules WS2801 en version SOIC soudés sur des adaptateurs DIP.
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Retourner vers « Langage BASIC & PASCAL »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 78 invités