Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Si5351 + PIC16F1455 USB controller
Pisao sam bare-metal kod, samo što je problem što nisam napisao driver za I2C, pa je to trenutno razbacano po kodu, pisao sam bukvalno kad mi šta i gde treba... GPIO recimo imam koliko-toliko sređen, a ovo je malo u haosu.



Evo recimo inicijalizacija pinova, podešavanje frekvencije itd.

Code:
    //clock enable
    RCC->APB1ENR |= RCC_APB1ENR_I2C1EN;
    RCC->APB2ENR |= RCC_APB2ENR_AFIOEN;
    
    //pins configuration
    //ovo su neke moje funkcije za inicijalizaciju GPIO, ako treba mogu da postavim
    GPIO_Type PIN_SCL;
    PIN_SCL.pin = SI_SCL;
    PIN_SCL.mode = GPIO_MODE_OUT_50MHZ;
    PIN_SCL.cnf = GPIO_OUTPUT_ALT_OD;
    GPIO_Init(SI_PORT, PIN_SCL);
    
    GPIO_Type PIN_SDA;
    PIN_SDA.pin = SI_SDA;
    PIN_SDA.mode = GPIO_MODE_OUT_50MHZ;
    PIN_SDA.cnf = GPIO_OUTPUT_ALT_OD;
    GPIO_Init(SI_PORT, PIN_SDA);
    
    
    //frequency 36Mhz
    //nije nepotrebno da se radi ovako, to sam se ja nešto glupirao, može da se stavi direktno
    //I2C1->CR2 |= I2C_CR2_FREQ_2 | I2C_CR2_FREQ_5;
    //I2C1->CR2 &= ~I2C_CR2_FREQ;
    
    uint32_t tmpreg = I2C1->CR2;
    tmpreg &= ~I2C_CR2_FREQ;
    tmpreg |= (I2C_CR2_FREQ_2 | I2C_CR2_FREQ_5);
    I2C1->CR2 = tmpreg;
    
    //disable peripherial
    I2C1->CR1 &= ~I2C_CR1_PE;

       //reset tmpreg
    tmpreg = 0;
    
    tmpreg |= 0x36;
    
    //slow mode
    I2C1->TRISE = 0x37;
    
    I2C1->CCR = tmpreg;
    
    //enable peripherial
    I2C1->CR1 |= I2C_CR1_PE;
    
    //SM mode
    //nije neophodno, ali treba da se upiše 1 ako se ide na 400kHz
    //I2C1->CCR &= ~I2C_CCR_FS;
    
    //ACK enable
    I2C1->CR1 |= I2C_CR1_ACK;
    
    //ni ovo nije toliko bitno, bitno je da bit15 bude 0 da bi bio u 7bit adress modu
       //ostalo upisujem 0 pošto mi nije bilo bitno da imam adresu
    I2C1->OAR1 = 0x0;
    
    //peripherial enable
    I2C1->CR1 |= I2C_CR1_PE;
    
    //generate start
    //I2C1->CR1 |= I2C_CR1_START;

Ovo koristio za adresu, slanje, stop:
Code:
    void si5351_i2c_start (uint8_t adress) {
        I2C1->CR1 |= I2C_CR1_START;
        while(!(I2C1->SR1 & I2C_SR1_SB));
        I2C1->DR=0xC0;
        while(!(I2C1->SR1 & I2C_SR1_ADDR));
        I2C1->SR1;
        I2C1->SR2;
    }
    
    void si5351_i2c_write (char data) {
        I2C1->DR = data;
        while(!(I2C1->SR1 & I2C_SR1_TXE));
    }
    
    void si5351_i2c_stop () {
        I2C1->CR1 &= ~I2C_CR1_STOP;
    }
Code:
void si535x_SendRegister(uint8_t reg, uint8_t data){
      si5351_i2c_start(0xC0);
      si5351_i2c_write(reg);
      si5351_i2c_write(data);
      si5351_i2c_stop();    
    }


Ako ti ovo nešto znači... Ako ti nije hitno, daj mi vremena, do sutra ujutru da svedem ovo lepo i napišem lepo drajver (ne ceo, ali ovaj deo koji ja koristim), pa ti pošaljem. Smile
Reply


Messages In This Thread
Si5351 + PIC16F1455 USB controller - by mikikg - 11-05-2014, 09:51 AM
RE: Si5351 + PIC16F1455 USB controller - by Gosha - 04-12-2016, 01:29 PM
RE: Si5351 + PIC16F1455 USB controller - by Gosha - 04-12-2016, 03:23 PM
RE: Si5351 + PIC16F1455 USB controller - by Gosha - 04-12-2016, 03:50 PM
RE: Si5351 + PIC16F1455 USB controller - by Gosha - 05-22-2017, 08:52 AM
RE: Si5351 + PIC16F1455 USB controller - by Gosha - 07-22-2017, 07:12 PM
RE: Si5351 + PIC16F1455 USB controller - by Gosha - 07-22-2017, 10:25 PM
RE: Si5351 + PIC16F1455 USB controller - by Gosha - 07-23-2017, 02:54 PM
RE: Si5351 + PIC16F1455 USB controller - by Gosha - 08-24-2017, 10:55 PM
RE: Si5351 + PIC16F1455 USB controller - by progster - 10-06-2017, 03:45 PM
RE: Si5351 + PIC16F1455 USB controller - by Gosha - 03-24-2023, 02:20 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 03-23-2023, 07:32 PM
RE: Si5351 + PIC16F1455 USB controller - by Gosha - 03-24-2023, 09:56 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 03-26-2023, 03:26 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 03-27-2023, 12:49 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 10-15-2023, 04:06 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 05-12-2023, 07:00 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 10-15-2023, 08:55 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 10-16-2023, 03:45 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 03-29-2024, 02:15 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 03-30-2024, 08:55 AM
RE: Si5351 + PIC16F1455 USB controller - by savan - 03-30-2024, 10:25 AM
RE: Si5351 + PIC16F1455 USB controller - by savan - 03-30-2024, 10:00 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 03-31-2024, 08:26 AM
RE: Si5351 + PIC16F1455 USB controller - by savan - 03-31-2024, 05:01 PM
RE: Upravo stiglo - by Khadgar2007 - 05-19-2017, 06:27 PM
RE: Upravo stiglo - by mikikg - 05-19-2017, 06:44 PM
RE: Upravo stiglo - by Khadgar2007 - 05-19-2017, 07:05 PM
RE: Upravo stiglo - by mikikg - 05-19-2017, 07:12 PM
RE: Upravo stiglo - by emiSAr - 05-19-2017, 07:41 PM
RE: Upravo stiglo - by mikikg - 05-19-2017, 09:57 PM
RE: Upravo stiglo - by Milan94 - 05-19-2017, 10:17 PM
RE: Upravo stiglo - by Gosha - 05-19-2017, 10:27 PM
RE: Upravo stiglo - by mikikg - 05-19-2017, 10:28 PM
RE: Upravo stiglo - by Milan94 - 05-19-2017, 10:33 PM
RE: Upravo stiglo - by Khadgar2007 - 05-19-2017, 10:38 PM
RE: Upravo stiglo - by mikikg - 05-19-2017, 10:41 PM
RE: Upravo stiglo - by Milan94 - 05-19-2017, 10:52 PM
RE: Upravo stiglo - by mikikg - 05-19-2017, 11:05 PM
RE: Upravo stiglo - by Khadgar2007 - 05-19-2017, 11:15 PM
RE: Upravo stiglo - by Milan94 - 05-19-2017, 11:24 PM
RE: Upravo stiglo - by mikikg - 05-19-2017, 11:44 PM
RE: Upravo stiglo - by Milan94 - 05-20-2017, 12:01 AM
RE: Upravo stiglo - by Khadgar2007 - 05-20-2017, 12:06 AM
RE: Upravo stiglo - by mikikg - 05-20-2017, 12:10 AM
RE: Upravo stiglo - by mikikg - 05-20-2017, 12:40 AM
RE: Upravo stiglo - by Khadgar2007 - 05-20-2017, 06:53 AM
RE: Upravo stiglo - by progster - 05-20-2017, 07:57 AM
RE: Upravo stiglo - by Khadgar2007 - 05-20-2017, 09:27 AM
RE: Upravo stiglo - by mikikg - 05-20-2017, 12:52 PM
RE: Upravo stiglo - by npejcic - 05-20-2017, 01:10 PM
RE: Upravo stiglo - by mikikg - 05-20-2017, 01:24 PM
RE: Upravo stiglo - by npejcic - 05-20-2017, 01:30 PM
RE: Upravo stiglo - by mikikg - 05-20-2017, 01:34 PM
RE: Upravo stiglo - by Khadgar2007 - 05-20-2017, 02:33 PM
RE: Upravo stiglo - by mikikg - 05-20-2017, 02:48 PM

Forum Jump:


Users browsing this thread: 2 Guest(s)