Hi,
wir sind ja leider nicht viele mit Multi-IO und die meisten haben eine M256.
Nun mir wurde die M256 unter Androhung von Folter (kein Nachtisch und keinen gute Nacht Kuss)
gestrichen. Also musste ich mir einen Kopf machen.
Ich habe mir nun die ADC0 und ADC1 der Base genommen und mit PF2 und PF3 des M256 Buchsesteckers verbunden und lese nun die Werte von CNY70 L1 und R1 aus. Dazu habe ich unter anderen in der RP6Control_LFSBumperLib.c folgendes geändert.
Code:
uint16_t getLFS(uint8_t channel)
{
uint16_t value;
uint16_t ADC_MULTIIO_LFS_R1;
uint16_t ADC_MULTIIO_LFS_L1;
uint8_t basadc0[2];
uint8_t basadc1[2];
switch (channel) {
case CH_LFS_L :
value = readADC(ADC_MULTIIO_LFS_L); break;
case CH_LFS_M :
value = readADC(ADC_MULTIIO_LFS_M); break;
case CH_LFS_R :
value = readADC(ADC_MULTIIO_LFS_R); break;
#ifdef FIVE_SENSORS
case CH_LFS_R1 :
I2CTWI_transmitByte(I2C_RP6_BASE_ADR, 23); // Start Register
I2CTWI_readBytes(I2C_RP6_BASE_ADR, basadc0, 2); // Lesen von lowbyte und highbyte
ADC_MULTIIO_LFS_R1= (basadc0[0] + (basadc0[1]<<8)); // zusammensetzen
value = ADC_MULTIIO_LFS_R1;
break;
case CH_LFS_L1 :
I2CTWI_transmitByte(I2C_RP6_BASE_ADR, 25);
I2CTWI_readBytes(I2C_RP6_BASE_ADR, basadc1, 2);
ADC_MULTIIO_LFS_L1= (basadc1[0] + (basadc1[1]<<8));
value = ADC_MULTIIO_LFS_L1;
break;
#endif
default : value = 0;
}
return value;
}
und bekomme eben jetzt auch 5 Ausgaben
Code:
RP6Control Multi IO Selftest 2!
ADC LFS_L1: 976
ADC LFS_L: 980
ADC LFS_M: 982
ADC LFS_R: 977
ADC LFS_R1: 975
ADC LFS_L1: 976
ADC LFS_L: 980
ADC LFS_M: 981
ADC LFS_R: 977
ADC LFS_R1: 973
ADC LFS_L1: 976
ADC LFS_L: 980
ADC LFS_M: 983
ADC LFS_R: 975
ADC LFS_R1: 972
Gruß TrainMen
Lesezeichen