Page 1 of 1

Problemi comunicazione seriale RS232 + EDF

Posted: Wed Sep 05, 2012 2:14 pm
by g.m.
Buongiorno,
per un progetto didattico devo inviare segnali midi al PC da una FLEX FULL Demo board usando un convertitore seriale/usb. Il kernel è EDF.
Uso Hterm per monitorare temporaneamente il traffico, ma al posto dei segnali midi al PC ricevo l'output nell'immagine allegata (ossia il primo byte inviato è 255 e tutti gli altri 0). Non capisco a cosa possa essere dovuto, perchè le prove precedenti con FP non avevano dato problemi...
Alcuni spezzoni di codice:

Code: Select all

#include "ee.h"
#include "ee_irq.h"
#include "eeuart.h"
#define USE_UART2

Code: Select all

void send_message(unsigned char data)
{

#ifdef USE_UART1
		EE_UART1_Send(data);
	#endif
	#ifdef USE_UART2
		EE_UART2_Send(data);
	#endif


}

Code: Select all

TASK(Task0)//uno dei task
{
 	send_message(0x80);//note on
	send_message(0x60);
	send_message(127);
}

Code: Select all

	EE_buttons_init(&handle_button_interrupts, 15);
	EE_time_init();
	SetRelAlarm(myAlarm, 20, 20);
	SetRelAlarm(myAlarm1, 20, 20);



  EE_UART2_Init(115200, BIT8_NO |  BIT_STOP_1, CTRL_SIMPLE);
E parte del file .oil:

Code: Select all

CPU test_application {

	OS EE {
		EE_OPT = "DEBUG";
		EE_OPT = "__SEM__";
		

		CPU_DATA = PIC30 {
			APP_SRC = "code.c";
			APP_SRC = "eeuart.c";
			MULTI_STACK = TRUE{
				IRQ_STACK = TRUE {
					SYS_SIZE=64;
				};	
			};		
		    ICD2 = TRUE;
		    
		
		};
		MCU_DATA = PIC30 {
			MODEL = PIC33FJ256MC710;
		};

		BOARD_DATA = EE_FLEX {
			TYPE = DEMO {
				OPTIONS = ALL;
			};
		};

		KERNEL_TYPE = EDF { NESTED_IRQ = TRUE; TICK_TIME = "500ns";};
	

		
    };

    TASK Task0 {
		PRIORITY = 0x01;   /* Low priority */
		STACK = SHARED;
		REL_DEADLINE = "10ms";
		SCHEDULE = FULL;
};

Re: Problemi comunicazione seriale RS232 + EDF

Posted: Wed Sep 05, 2012 2:15 pm
by g.m.
P.S. ho postato per sbaglio lo stesso forum nella sezione inglese, potete rimuoverlo...

Re: Problemi comunicazione seriale RS232 + EDF

Posted: Wed Sep 05, 2012 3:39 pm
by erikadds
Salve,
il problema potrebbe essere legato all'uso dei timer, cioè l'applicazione non deve usare i timer dedicati ad EDF (timer 8 e 9) altrimenti si ha una situazione di conflitto.
Un'altra causa potrebbe essere che stai usando una versione vecchia di Erika, perciò il mio consiglio è quello di aggiornare Erika all'ultima versione disponibile sul sito.
Altrimenti ci potrebbe essere un problema di qualche tipo nell'applicazione.

Spero di esserti stato d'aiuto.
Contattaci ancora se non riesci a risolvere il problema.

Saluti
DDS

Re: Problemi comunicazione seriale RS232 + EDF

Posted: Wed Sep 05, 2012 4:47 pm
by g.m.
Ho aggiornato Erika e il problema persiste, però ho pensato che ci potrebbero essere dei conflitti nell'uso della seriale (ogni processo invia un messaggio al PC tramite la seriale), proverò a proteggerla con dei semafori e vi aggiorno. Grazie della disponibilità.

Re: Problemi comunicazione seriale RS232 + EDF

Posted: Wed Sep 05, 2012 9:48 pm
by g.m.
Niente, non ho risolto il problema nemmeno con un semplice invio da main... avete qualche altra idea?

Re: Problemi comunicazione seriale RS232 + EDF

Posted: Fri Sep 07, 2012 10:17 am
by paolo.gai
Come primo passo ti consiglierei di partire da una demo funzionante che usa la seriale tra quelle presenti negli esempi distribuiti con ERIKA.

Quelle funzionano? se si, allora è un problema software. Se no, allora è un problema hardware...

PJ

Re: Problemi comunicazione seriale RS232 + EDF

Posted: Fri Sep 07, 2012 10:54 am
by g.m.
Ho provato la Serial Demo e lì non arriva proprio niente su Hterm... Strano perchè il convertitore USB-seriale l'ho comprato da poche settimane...

Re: Problemi comunicazione seriale RS232 + EDF

Posted: Fri Sep 07, 2012 12:10 pm
by paolo.gai
ok, quindi è il caso di verificare le connessioni hardware prima di parlare con EDF... se sei al laboratorio Retis chiedi a Gianluca e Nino, sicuramente hannoe sempi funzionanti...

Re: Problemi comunicazione seriale RS232 + EDF

Posted: Fri Sep 07, 2012 1:57 pm
by g.m.
Ci farò un salto nei prossimi giorni, anche perchè la scadenza del progetto è prossima e devo mettere a punto alcune cose ancora, la ringrazio!