Bonjour
Voila
J'utilise un pic 16F876 pour realisé une convertion analogique numerique sur 10 bits et j'essais de transmetre cette donnée a un autre pic 16F876 via son port serie TX/RX
Le probleme est que cette transmision serie s'effectue sur 8 Bits max
donc je supose qu'il faudrais couper le mot résultant de ma conversion en 2*8bit.
Sur mes premiers essais (une conversion analogique sur 8 bits), sa marche la communication entre les 2 pic ce fait bien
Je programme en langage C
VOici le code du 16F876 qui effectue la conversion et qui transmet :
Code du 16f876 qui reçoit et qui affiche la conversion sur le port B ( a l aide de LED)void main()
{
char value=0;
setup_adc_ports(AN0);
setup_adc(ADC_CLOCK_DIV_2);
setup_spi(FALSE);
setup_timer_0(RTCC_INTERNAL|RT CC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1) ;
// TODO: USER CODE!!
while(TRUE){
setup_adc_ports( ALL_ANALOG );
setup_adc(ADC_CLOCK_INTERNAL );
set_adc_channel( 0 );
value = read_adc();
setup_adc( ADC_OFF );
putc(value);
delay_ms(200);
}
}
Ces 2 codes marche parfaitement mais quant je passe en 10 Bit en conversion rien ne marche et je ne voit pas comment fairevoid main()
{
char value=0;
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_spi(FALSE);
setup_timer_0(RTCC_INTERNAL|RT CC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1) ;
// TODO: USER CODE!!
while(TRUE){
if(kbhit()){
value = getc();
}
output_b(value);
}
}
Merci de votre aide
-----