Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- uint8_t *txbuf;
- uint8_t *rxbuf;
- void setup(void){
- static uint8_t _txbuf[8] __attribute__ ((section (".sram2")));
- static uint8_t _rxbuf[8] __attribute__ ((section (".sram2")));
- txbuf = _txbuf;
- rxbuf = _rxbuf;
- palSetPadMode(GPIOA,3,PAL_MODE_OUTPUT_PUSHPULL); //POT
- palWritePad(GPIOA,3,1);
- palSetPadMode(GPIOA,2,PAL_MODE_OUTPUT_PUSHPULL); //CV
- palWritePad(GPIOA,2,1);
- }
- void loop(void){
- // first SPI block
- txbuf[0] = 0xE0;
- txbuf[1] = 0xFF;
- txbuf[2] = 0x00;
- txbuf[3] = 0x00;
- txbuf[4] = 0x00;
- txbuf[5] = 0x00;
- txbuf[6] = 0xFF;
- //spiAcquireBus(&SPID1);
- palWritePad(GPIOA,3,0);
- spiSelect(&SPID1); // START SPI
- //spiSend(&SPID1,4,txbuf);
- //spiReceive(&SPID1,4,rxbuf);
- spiExchange(&SPID1, 6, txbuf, rxbuf);
- spiUnselect(&SPID1);
- palWritePad(GPIOA,3,1);
- //spiReleaseBus(&SPID1);
- int z = (rxbuf[4] << 16| rxbuf[3] << 8| rxbuf[2] ) << 8;
- chThdSleep(1);
- //chThdSleepMilliseconds(1);
- // secound SPI block
- txbuf[0]= 0b01111111;
- spiSelect(&SPID1);
- palWritePad(GPIOA,2,0);
- //spiSend(&SPID1, 1, txbuf);
- spiExchange(&SPID1, 1, txbuf, rxbuf);
- spiUnselect(&SPID1);
- palWritePad(GPIOA,2,1);
- chThdSleep(1);
- // third SPI block
- txbuf[0]= 0b01111111;
- spiSelect(&SPID1);
- palWritePad(GPIOA,2,0);
- spiSend(&SPID1, 1, txbuf);
- //spiExchange(&SPID1, 1, txbuf, rxbuf);
- spiUnselect(&SPID1);
- palWritePad(GPIOA,2,1);
- chThdSleep(1);
- //chThdSleepMilliseconds(1);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement