Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- uint8_t *txbuf;
- uint8_t *rxbuf;
- int pin = 0;
- void setup(void){
- static uint8_t _txbuf[8] __attribute__ ((section (".sram2")));
- static uint8_t _rxbuf[8] __attribute__ ((section (".sram2")));
- txbuf = _txbuf;
- rxbuf = _rxbuf;
- palSetPadMode(GPIOB,9,PAL_MODE_OUTPUT_PUSHPULL);
- palWritePad(GPIOB,9,1);
- }
- void loop(void){
- pin++;
- if (pin > 7){
- pin = 0;
- }
- else if (pin == 0){
- txbuf[0] = 0b01100000; // = 0b01100000 = ADC CH0
- txbuf[1] = 0b00000000; // = 0b00000000
- txbuf[2] = 0b00000000; // = 0b00000000
- }
- else if (pin == 1){
- txbuf[0] = 0b01100000; // = 0b01100000 = ADC CH1
- txbuf[1] = 0b00000010; // = 0b00000000
- txbuf[2] = 0b00000000; // = 0b00000000
- }
- else if (pin == 2){
- txbuf[0] = 0b01100000; // = 0b01100000 = ADC CH2
- txbuf[1] = 0b00000001; // = 0b00000000
- txbuf[2] = 0b00000000; // = 0b00000000
- }
- else if (pin == 3){
- txbuf[0] = 0b01100000; // = 0b01100000 = ADC CH3
- txbuf[1] = 0b00000011; // = 0b00000000
- txbuf[2] = 0b00000000; // = 0b00000000
- }
- else if (pin == 4){
- txbuf[0] = 0b11100000; // = 0b01100000 = ADC CH4
- txbuf[1] = 0b00000000; // = 0b00000000
- txbuf[2] = 0b00000000; // = 0b00000000
- }
- else if (pin == 5){
- txbuf[0] = 0b11100000; // = 0b01100000 = ADC CH5
- txbuf[1] = 0b00000010; // = 0b00000000
- txbuf[2] = 0b00000000; // = 0b00000000
- }
- else if (pin == 6){
- txbuf[0] = 0b11100000; // = 0b01100000 = ADC CH6
- txbuf[1] = 0b00000001; // = 0b00000000
- txbuf[2] = 0b00000000; // = 0b00000000
- }
- else if (pin == 7){
- txbuf[0] = 0b11100000; // = 0b01100000 = ADC CH7
- txbuf[1] = 0b00000011; // = 0b00000000
- txbuf[2] = 0b00000000; // = 0b00000000
- }
- palWritePad(GPIOB,9,0);
- spiSelect(&SPID1); // START SPI
- spiSend(&SPID1,3,txbuf);
- spiReceive(&SPID1,3,rxbuf);
- spiUnselect(&SPID1);
- palWritePad(GPIOB,9,1);
- int z = (rxbuf[1] << 8| rxbuf[0]) << 16;
- if (pin == 0){
- PExParameterChange(&parent->PExch[PARAM_INDEX_y0_value],z,0xFFFD);
- }
- else if (pin == 1){
- PExParameterChange(&parent->PExch[PARAM_INDEX_y1_value],z,0xFFFD);
- }
- else if (pin == 2){
- PExParameterChange(&parent->PExch[PARAM_INDEX_y2_value],z,0xFFFD);
- }
- else if (pin == 3){
- PExParameterChange(&parent->PExch[PARAM_INDEX_y3_value],z,0xFFFD);
- }
- else if (pin == 4){
- }
- else if (pin == 5){
- }
- else if (pin == 6){
- }
- else if (pin == 7){
- }
- chThdSleepMilliseconds(1);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement