×
MSP430, Microcontrollori 16 bit Ultra Low Power
Perchè il pulldown non funge ?
10 Anni 9 Mesi fa #6
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Perchè il pulldown non funge ?
potresti provare a togliere tutto il codice che non serve e lasciare solo quello per la porta P1 e l´impostazione come input (togli timer e tutto...).
In particolare imposta P1SEL1 e P1SEL2 in maniera esplicita senza usare or ma valori assoluti P1SEL1 = ....
Saluti,
Mauro
In particolare imposta P1SEL1 e P1SEL2 in maniera esplicita senza usare or ma valori assoluti P1SEL1 = ....
Saluti,
Mauro
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Mauro Laurenti
- Moderator
Riduci
Di più
10 Anni 9 Mesi fa #7
da elpablito
Risposta da elpablito al topic Perchè il pulldown non funge ?
Meno di così si muore
#include <msp430.h>
/*
* main.c
*/
int main(void) {
WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer
// Set del clock
if (CALBC1_8MHZ==0xFF){ // mancando le costanti di calibrazione
while(1); // non proseguire
}
DCOCTL = 0; // DCOx = 0 e MODx = 0
BCSCTL1 = CALBC1_8MHZ; // frequenza del DCO 8MHz
DCOCTL = CALDCO_8MHZ;
BCSCTL2 = DIVS_3; // SMCLK = DCOCLK / 8
// Set delle porte
P1SEL = 0x00;
P1SEL2 = 0x00;
P1DIR |= BIT3; // P1.2 Trig
P1OUT = 0x00;
P1DIR &= ~BIT2; // Ingresso a CCR1
P1OUT &= ~BIT2;
P1REN |= BIT2;
P2DIR |= BIT4 + BIT1; // P2.1 P2.4 uscite del segnale
P2SEL |= BIT4 + BIT1; // P2.1 P2.4 uscite per la periferica TimerA1
return 0;
}
Per non dir parolacce, non cambia nulla, dopo P1REN |= BIT2 da 3.3 a 2.5 l'ho anche misurata col tester sassi mai che l'oscilloscopio desse i numeri !!!!!
Paolo
#include <msp430.h>
/*
* main.c
*/
int main(void) {
WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer
// Set del clock
if (CALBC1_8MHZ==0xFF){ // mancando le costanti di calibrazione
while(1); // non proseguire
}
DCOCTL = 0; // DCOx = 0 e MODx = 0
BCSCTL1 = CALBC1_8MHZ; // frequenza del DCO 8MHz
DCOCTL = CALDCO_8MHZ;
BCSCTL2 = DIVS_3; // SMCLK = DCOCLK / 8
// Set delle porte
P1SEL = 0x00;
P1SEL2 = 0x00;
P1DIR |= BIT3; // P1.2 Trig
P1OUT = 0x00;
P1DIR &= ~BIT2; // Ingresso a CCR1
P1OUT &= ~BIT2;
P1REN |= BIT2;
P2DIR |= BIT4 + BIT1; // P2.1 P2.4 uscite del segnale
P2SEL |= BIT4 + BIT1; // P2.1 P2.4 uscite per la periferica TimerA1
return 0;
}
Per non dir parolacce, non cambia nulla, dopo P1REN |= BIT2 da 3.3 a 2.5 l'ho anche misurata col tester sassi mai che l'oscilloscopio desse i numeri !!!!!
Paolo
Si prega Accedi o Crea un account a partecipare alla conversazione.
- elpablito
- Autore della discussione
- Platinum Member
Riduci
Di più
- Messaggi: 353
- Ringraziamenti ricevuti 8
10 Anni 9 Mesi fa #8
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Perchè il pulldown non funge ?
Ciao,
in questo modo il microcontrollore va sempre in Reset raggiunta la fine.
Puoi mettere while (1); prima della del return 0?
Saluti,
Mauro
in questo modo il microcontrollore va sempre in Reset raggiunta la fine.
Puoi mettere while (1); prima della del return 0?
Saluti,
Mauro
Si prega Accedi o Crea un account a partecipare alla conversazione.
10 Anni 9 Mesi fa #9
da elpablito
Risposta da elpablito al topic Perchè il pulldown non funge ?
@ Mauro
IO ci ho messo anche il while(1), ma non serve a nulla, tanto al reset, se vai passo passo, non ci arrivi. Tanto non è cambiato nulla. Se lo scopro lo mastico. Configurazione hard la Launch pad alimentata dalla usb con 4 righe di codice e anche cambiando CPU con una nuova di pacca come suolsi dire ciccia.
Fammi scherzare perchè sono nervossssissssimo.
Paolo
IO ci ho messo anche il while(1), ma non serve a nulla, tanto al reset, se vai passo passo, non ci arrivi. Tanto non è cambiato nulla. Se lo scopro lo mastico. Configurazione hard la Launch pad alimentata dalla usb con 4 righe di codice e anche cambiando CPU con una nuova di pacca come suolsi dire ciccia.
Fammi scherzare perchè sono nervossssissssimo.
Paolo
Si prega Accedi o Crea un account a partecipare alla conversazione.
- elpablito
- Autore della discussione
- Platinum Member
Riduci
Di più
- Messaggi: 353
- Ringraziamenti ricevuti 8
10 Anni 9 Mesi fa - 10 Anni 9 Mesi fa #10
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Perchè il pulldown non funge ?
trovato l'inghippo.
Non e' un problema software.
Ho fatto velocemente un esempio con quattro righe di codice e avevo il tuo stesso problema.
...poi ho guardato meglio ed il problema sta nel fatto che P1.2 e' la linea RX che va al connettore J3 (i 5 jumper)
Se proprio vuoi usare quella linea devi togliere il jumper RX da J3.
...ora lo puoi masticare.
Saluti,
Mauro
Non e' un problema software.
Ho fatto velocemente un esempio con quattro righe di codice e avevo il tuo stesso problema.
...poi ho guardato meglio ed il problema sta nel fatto che P1.2 e' la linea RX che va al connettore J3 (i 5 jumper)
Se proprio vuoi usare quella linea devi togliere il jumper RX da J3.
...ora lo puoi masticare.
Saluti,
Mauro
Ultima Modifica 10 Anni 9 Mesi fa da Mauro Laurenti.
Si prega Accedi o Crea un account a partecipare alla conversazione.
Moderatori: Mauro Laurenti, Matteo Garia
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.