NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 3303 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
صفحه 2 از 2 نخستنخست 12
نمایش نتایج: از 21 به 28 از 28

موضوع: راه اندازی I2C در stm32f103ret

  1. #21
    کاربر فعال
    تاریخ عضویت
    Feb 2012
    نام
    مصطفی
    نوشته ها
    273
    تشکر
    195
    تشکر شده 128 بار در 93 پست

    پیش فرض

    نقل قول نوشته اصلی توسط Raha323 نمایش پست ها
    پین های من پول آپ هستند ولی چون در تعریف مد پین
    GPIO_Mode_AF_OD را میزدم همیشه low میشد با تغییر مد به GPIO_Mode_AF_PP درست شد پالس رو هم دیدم و پایه هم high هست همیشه حالا من علت این رو میخوام بدونم چرا درست شد چون من هم مثل شما فکر میکردم پین رو باید OD تعریف کنم
    OD یعنی open drain و در این حالت پین همیشه high هست مگر زمانی که master یا slave پین رو low کنن. pp هم که به معنی push pull هستش.
    توی دیتاشیت نوشته که باید پین ها OP باشه. توی حالت PP اگه قطعه ای که باهاش کار میکنی 5 ولت باشه ممکنه به میکرو آسیب برسونه.

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  3. #22
    کاربر فعال
    تاریخ عضویت
    Jul 2012
    نوشته ها
    101
    تشکر
    23
    تشکر شده 3 بار در 1 پست

    پیش فرض

    جناب مهندس اصلا من پایه ها ی SDA ,SCL رو از max9860 جدا کردم آزاد هستند ولی با قرار دادن مد OD پایه ها low میشوندmax9860 ولتاژکاری 3.3 , 1.8 است

  4. #23
    کاربر فعال
    تاریخ عضویت
    Jul 2012
    نوشته ها
    101
    تشکر
    23
    تشکر شده 3 بار در 1 پست

    پیش فرض

    در دیتا شیت max9860 این رو نوشته I2C Slave AddressThe MAX9860 responds to the slave address 0x20 forall write commands and 0x21 for all read operations.
    برداشته من درسته که باید در کم برای r/w ای را بنویسم؟
    I2C_Send7bitAddress(I2C2, 0x20, I2C_Direction_Transmitter);برای نوشتن
    I2C_Send7bitAddress(I2C2, 0x21, I2C_Direction_Receiver);برای خواندن
    این بخش از کدم درست است؟

  5. #24
    کاربر فعال
    تاریخ عضویت
    Mar 2010
    نوشته ها
    236
    تشکر
    101
    تشکر شده 246 بار در 163 پست

    پیش فرض

    فکر کنم مشکل سخت افزاری هست . مقدار پول اپ رو گذاشتید 1.8 ولت در صورتی که این مقدار همیشه برای میکرو صفر هست.
    vih=0.7vdd
    vih=0.7*3.3=2.3v
    حداقل ولتاژ مورد نیاز برای میکرو که اون رو به عنوان یک منطقی در نظر بگیره برابر 2.3 ولت هست که شما 1.8 ولت وصل کردید.
    باید vddio ای سی max رو به 3.3 ولت وصل کنید تا درست بشه ( داخل دیتاشیت نوشته که این پایه می تونه تا 3.6 ولت کار کنه که برای همین منظور هم هست )

  6. تشکرها از این نوشته :


  7. #25
    کاربر فعال
    تاریخ عضویت
    Jul 2012
    نوشته ها
    101
    تشکر
    23
    تشکر شده 3 بار در 1 پست

    پیش فرض

    در حال حاضر وصل کردم به 3.3 ولت ولی و الان وقتی پین ها رو در مد OD قرار میدم دیگر low نیست ولی هیچ پالسی دیده نمیشود به محض اینکه pp میکنم شکل پالس ارسالی رو میبینم
    ولی هنوز موفق نشدم با استفاده از while ها ارسال کنم دیتامو وقتی while رو وارد برنامه ام میکنم چون هنوز سخت افزارم جوابی نمیدهد میکروم هنگ میکند
    ممنونم MRM از پاسخهای دقیق اتون

  8. #26
    کاربر فعال
    تاریخ عضویت
    Mar 2010
    نوشته ها
    236
    تشکر
    101
    تشکر شده 246 بار در 163 پست

    پیش فرض

    چند تا نکته:
    اول اون کدی که من گذاشتم برای قطعه ایی هست که ادرس حافظه اش 2 بایتی باشه ( مثل eeprom ) ولی max یک بایتی هست که به نظر میاد شما درستش نکردید.
    کد:
    void Write_data(unsigned char Data_address,unsigned char Data_Value)
    {
        I2C_AcknowledgeConfig(I2C1,ENABLE);
        while (I2C_GetFlagStatus(I2C1,I2C_FLAG_BUSY));
        I2C_GenerateSTART(I2C1, ENABLE);
        while (I2C_GetFlagStatus(I2C1,I2C_FLAG_SB) == RESET);    
        I2C_Send7bitAddress(I2C1, 0xA0, I2C_Direction_Transmitter);
        while (!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED));
        I2C_SendData(I2C1,Data_address);
        while ((!I2C_GetFlagStatus(I2C1,I2C_FLAG_TXE)) && (!I2C_GetFlagStatus(I2C1,I2C_FLAG_BTF)));
        I2C_SendData(I2C1,Data_Value); 
        while ((!I2C_GetFlagStatus(I2C1,I2C_FLAG_TXE)) && (!I2C_GetFlagStatus(I2C1,I2C_FLAG_BTF)));
        I2C_GenerateSTOP(I2C1, ENABLE);    
        delay_ms(5);
    }
    
    unsigned char Read_data(unsigned char Data_address)
    {
        unsigned char Data_Value;
        I2C_AcknowledgeConfig(I2C1,ENABLE);
        while (I2C_GetFlagStatus(I2C1,I2C_FLAG_BUSY)) {}
        I2C_GenerateSTART(I2C1, ENABLE);
        while (I2C_GetFlagStatus(I2C1,I2C_FLAG_SB) == RESET){}    
        I2C_Send7bitAddress(I2C1, 0xA0, I2C_Direction_Transmitter);
        while (!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)){}
        I2C_SendData(I2C1,Data_address);
        while ((!I2C_GetFlagStatus(I2C1,I2C_FLAG_TXE)) && (!I2C_GetFlagStatus(I2C1,I2C_FLAG_BTF))){}
        I2C_GenerateSTART(I2C1, ENABLE);
        while (I2C_GetFlagStatus(I2C1,I2C_FLAG_SB) == RESET){}    
        I2C_Send7bitAddress(I2C1, 0xA1, I2C_Direction_Receiver);
        while (!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED )){}
        I2C_AcknowledgeConfig(I2C1,DISABLE);
        while ( !I2C_GetFlagStatus(I2C1,I2C_FLAG_RXNE) ){}        
        Data_Value = I2C_ReceiveData(I2C1);
        I2C_GenerateSTOP(I2C1, ENABLE);    
        I2C_AcknowledgeConfig(I2C1,ENABLE);
        return Data_Value;
    }
    در شماتیک دیدم با i2c مقاومت سری کردید . اگر هست اتصال کوتاهش کنید.
    داخل کد init i2c شما نوشتید i2c1 در صورتی که دارید با i2c2 کار می کنید .
    و در اخر چک کنید ببینید داخل کدوم یکی از while ها گیر میکنه اینجوری راحت تر میشه کمک کرد

  9. #27
    کاربر فعال
    تاریخ عضویت
    Jul 2012
    نوشته ها
    101
    تشکر
    23
    تشکر شده 3 بار در 1 پست

    پیش فرض

    چرا اینجا کسی پاسخ گو نیست؟یا خیلی دیر پاسخ داده میشه واقعا گیر کردم
    /****************************************Copyright (c)*********************************************** *****
    **
    ** 浩宇电子 - 嵌入式系统解决方案提供商
    **
    **--------------File Info---------------------------------------------------------------------------------
    ** File name: main.c
    ** Descriptions: The RTC application function
    **
    **--------------------------------------------------------------------------------------------------------
    ** Created by: AVRman
    ** Created date: 2010-10-30
    ** Version: v1.0
    ** Descriptions: The original version
    **
    **--------------------------------------------------------------------------------------------------------
    ** Modified by:
    ** Modified date:
    ** Version:
    ** Descriptions:
    **
    ************************************************** ************************************************** *****/


    /* Includes ------------------------------------------------------------------*/
    #include "stm32f10x.h"
    #include "stm32f10x_i2c.h"
    #include "stm32f10x_usart.h"
    #include "stm32f10x_rcc.h"
    //#include "RTC_Time.h"
    #include <stdio.h>
    #define I2C2_SLAVE_ADDRESS7 0x1E //address for magnetometer
    #define I2C_SPEED 50000 //50Khz speed for I2C
    #ifdef __GNUC__
    /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf
    set to 'Yes') calls __io_putchar() */
    #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
    #else
    #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
    #endif /* __GNUC__ */
    void Delay (uint32_t nCount)
    {
    for(; nCount != 0; nCount--);
    }
    unsigned char Data;
    /* Private function prototypes -----------------------------------------------*/
    void GPIO_Configuration(void);
    void USART_Configuration(void);
    void I2C_Configuration(void);
    void RCC_Configuration(void);
    void delay(void);
    void STM32_I2C_test(void);
    void Write_data(unsigned char Data_address,unsigned char Data_Value);
    unsigned char Read_data(unsigned char Data_address_r);
    /************************************************** *****************************
    * Function Name : main
    * Description : Main program
    * Input : None
    * Output : None
    * Return : None
    * Attention : None
    ************************************************** *****************************/
    int main(void)
    {
    GPIO_Configuration();
    USART_Configuration();
    RCC_Configuration();
    I2C_Configuration();
    // printf("\r\n");
    // printf("****************************************** *********************\r\n");
    // printf("* *\r\n");
    //printf("Heloo\r\n");
    // printf("* *\r\n");
    // printf("****************************************** *********************\r\n");
    /* LED1-ON LED2-ON */
    //GPIO_SetBits(GPIOB , GPIO_Pin_0);
    //GPIO_SetBits(GPIOB , GPIO_Pin_1);
    GPIO_SetBits(GPIOA, GPIO_Pin_2);
    Delay(0xfffff);
    Delay(0xfffff);
    Delay(0x5ffff);
    //RTC_Init();
    printf(" Helooooooooooooooooooooooooooooooooooooooooooooooo ooooo\r\n");
    /* Infinite loop */
    //STM32_I2C_test();
    while (1){
    //USART_SendData(USART1,'T');
    Write_data(0x10,0x8B);
    //STM32_I2C_test();
    Data=Read_data(0x10);
    USART_SendData(USART1,Data);
    // Write_data(0x10,0x80);
    GPIO_ResetBits(GPIOA , GPIO_Pin_2);
    Delay(0xfffff);
    Delay(0xfffff);
    Delay(0x5ffff);


    GPIO_SetBits(GPIOA , GPIO_Pin_2);
    Delay(0xfffff);
    Delay(0xfffff);
    Delay(0x5ffff);


    // USART_SendData(USART1,'T');
    // printf("* *\r\n");
    }
    }




    /************************************************** *************************//**
    * @brief Configures the different system clocks.
    ************************************************** ****************************/
    void RCC_Configuration(void){
    /* Setup the microcontroller system. Initialize the Embedded Flash Interface,
    initialize the PLL and update the SystemFrequency variable. */
    SystemInit();}






    /************************************************** *****************************
    * Function Name : GPIO_Configuration
    * Description : Configure GPIO Pin
    * Input : None
    * Output : None
    * Return : None
    * Attention : None
    ************************************************** *****************************/
    void GPIO_Configuration(void)
    {
    GPIO_InitTypeDef GPIO_InitStructure;

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA , ENABLE);
    /**
    * LED1 -> PB0 LED2 -> PB1
    */
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2 ;//| GPIO_Pin_1;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_Init(GPIOA, &GPIO_InitStructure);
    }


    /************************************************** *****************************
    * Function Name : USART_Configuration
    * Description : Configure USART1
    * Input : None
    * Output : None
    * Return : None
    * Attention : None
    ************************************************** *****************************/


    void USART_Configuration(void)
    {
    GPIO_InitTypeDef GPIO_InitStructure;
    USART_InitTypeDef USART_InitStructure;


    RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA |RCC_APB2Periph_AFIO| RCC_APB2Periph_USART1,ENABLE);
    /*
    * USART1_TX -> PA9 , USART1_RX -> PA10
    */
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOA, &GPIO_InitStructure);


    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOA, &GPIO_InitStructure);


    USART_InitStructure.USART_BaudRate =4800;
    USART_InitStructure.USART_WordLength = USART_WordLength_8b;
    USART_InitStructure.USART_StopBits = USART_StopBits_1;
    USART_InitStructure.USART_Parity = USART_Parity_No;
    USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
    USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;


    USART_Init(USART1, &USART_InitStructure);
    USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);
    USART_ITConfig(USART1, USART_IT_TXE, ENABLE);
    USART_Cmd(USART1, ENABLE);
    //NVIC_EnableIRQ(USART1_IRQn);

    }
    void STM32_I2C_test(void)
    {
    uint8_t I2C_address;
    uint32_t I2C_speed;

    GPIO_InitTypeDef GPIO_InitStructure;
    I2C_InitTypeDef I2C_InitStructure;

    I2C_address = 0xA0; //
    //address = 0x94; //
    I2C_speed = 1000; // 1000Hz

    /*enable I2C*/
    I2C_Cmd(I2C1,ENABLE);
    /* I2C1 clock enable */
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1, ENABLE);
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);

    /* I2C1 SDA and SCL configuration */
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD;
    GPIO_Init(GPIOB, &GPIO_InitStructure);
    //SCL is pin06 and SDA is pin 07 for I2C1

    /* I2C1 configuration */
    I2C_InitStructure.I2C_Mode = I2C_Mode_I2C;
    I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2;
    I2C_InitStructure.I2C_OwnAddress1 = 0x30;
    I2C_InitStructure.I2C_Ack = I2C_Ack_Enable;
    I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit;
    I2C_InitStructure.I2C_ClockSpeed = I2C_speed ;
    I2C_Init(I2C1, &I2C_InitStructure);

    //
    /* check start bit flag */
    while(I2C_GetFlagStatus(I2C1, I2C_FLAG_BUSY));
    /* initiate start sequence */
    I2C_GenerateSTART(I2C1,ENABLE);
    while(!I2C_GetFlagStatus(I2C1, I2C_FLAG_SB));
    /*send write command to chip*/
    I2C_SendData(I2C1,I2C_address);//I2C_Send7bitAddress(I2C1, address, I2C_Direction_Transmitter);
    /*check master is now in Tx mode*/
    // while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED))
    /*mode register address*/
    I2C_SendData(I2C1, 0x02);
    /*wait for byte send to complete*/
    // while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTED));
    /*clear bits*/
    // I2C_SendData(I2C1, 0x00);
    /*wait for byte send to complete*/
    // while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTED));
    /*generate stop*/
    // I2C_GenerateSTOP(I2C1, ENABLE);
    /*stop bit flag*/
    // while(I2C_GetFlagStatus(I2C1, I2C_FLAG_STOPF));
    }
    void I2C_Configuration(void)
    {
    GPIO_InitTypeDef GPIO_InitStructure;
    I2C_InitTypeDef I2C_InitStructure;
    /*enable I2C*/


    /* I2C1 clock enable */
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C2, ENABLE);
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB , ENABLE);
    /* I2C1 SDA and SCL configuration */
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10 | GPIO_Pin_11;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;// Open Drain, I2C bus pulled high externally
    GPIO_Init(GPIOB, &GPIO_InitStructure);
    /*SCL is pin06 and SDA is pin 07 for I2C1*/
    I2C_Cmd(I2C2,ENABLE);
    /* I2C2 configuration */
    I2C_InitStructure.I2C_Mode = I2C_Mode_I2C;
    I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2;
    I2C_InitStructure.I2C_OwnAddress1 = 0x20;
    I2C_InitStructure.I2C_Ack = I2C_Ack_Enable;
    I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit;
    I2C_InitStructure.I2C_ClockSpeed =100000 ;
    I2C_Init(I2C2, &I2C_InitStructure);



    }
    void Write_data(unsigned char Data_address,unsigned char Data_Value)
    {


    //I2C_AcknowledgeConfig(I2C2,ENABLE);
    while (I2C_GetFlagStatus(I2C2,I2C_FLAG_BUSY))
    I2C_GenerateSTART(I2C2, ENABLE);
    while (I2C_GetFlagStatus(I2C2,I2C_FLAG_SB) == RESET)
    I2C_Send7bitAddress(I2C2, 0x20, I2C_Direction_Transmitter);
    I2C_AcknowledgeConfig(I2C2,ENABLE);
    while (!I2C_CheckEvent(I2C2, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED))
    I2C_SendData(I2C2,Data_address);
    I2C_AcknowledgeConfig(I2C2,ENABLE);
    while ((!I2C_GetFlagStatus(I2C2,I2C_FLAG_TXE)) && (!I2C_GetFlagStatus(I2C2,I2C_FLAG_BTF)))
    I2C_SendData(I2C2,Data_Value);
    I2C_AcknowledgeConfig(I2C2,ENABLE);
    while ((!I2C_GetFlagStatus(I2C2,I2C_FLAG_TXE)) && (!I2C_GetFlagStatus(I2C2,I2C_FLAG_BTF)))
    I2C_GenerateSTOP(I2C2, ENABLE);
    //USART_SendData(USART1,'T');
    }
    unsigned char Read_data(unsigned char Data_address_r)
    {
    unsigned char Data_Value_r;
    I2C_AcknowledgeConfig(I2C2,ENABLE);

    while (I2C_GetFlagStatus(I2C2,I2C_FLAG_BUSY)) {}

    I2C_GenerateSTART(I2C2, ENABLE);

    //while (I2C_GetFlagStatus(I2C2,I2C_FLAG_SB) == RESET){}


    // ersale adrese marbot be AT24C02
    /* Transmit the slave address and enable writing operation */
    I2C_Send7bitAddress(I2C2, 0x20, I2C_Direction_Transmitter);
    //while (!I2C_CheckEvent(I2C2, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)){}
    I2C_AcknowledgeConfig(I2C2,ENABLE);
    // ersale adrese registere marbot be time
    I2C_SendData(I2C2,Data_address_r);
    // while ((!I2C_GetFlagStatus(I2C2,I2C_FLAG_TXE)) && (!I2C_GetFlagStatus(I2C2,I2C_FLAG_BTF))){}

    I2C_GenerateSTART(I2C2, ENABLE);
    //while (I2C_GetFlagStatus(I2C2,I2C_FLAG_SB) == RESET){}

    // ersale adrese marbot be AT24C02
    /* Transmit the slave address and enable reading operation */
    I2C_Send7bitAddress(I2C2, 0x21, I2C_Direction_Receiver);
    // while (!I2C_CheckEvent(I2C2, I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED )){}


    I2C_AcknowledgeConfig(I2C2,ENABLE);
    // while ( !I2C_GetFlagStatus(I2C2,I2C_FLAG_RXNE) ){}
    Data_Value_r = I2C_ReceiveData(I2C2); //reading data
    I2C_AcknowledgeConfig(I2C2,ENABLE);
    //USART_SendData(USART1,Data_Value_r);
    //while (I2C_GetFlagStatus(I2C2,I2C_FLAG_BTF)){}
    I2C_GenerateSTOP(I2C2, ENABLE);

    //I2C_AcknowledgeConfig(I2C2,ENABLE);


    return Data_Value_r;
    }
    /**
    // * @brief Retargets the C library printf function to the USART.
    // * @param None
    // * @retval None
    */
    PUTCHAR_PROTOTYPE
    {
    /* Place your implementation of fputc here */
    /* e.g. write a character to the USART */
    USART_SendData(USART1, (uint8_t) ch);


    /* Loop until the end of transmission */
    while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET)
    {}


    return ch;
    }


    #ifdef USE_FULL_ASSERT


    /**
    * @brief Reports the name of the source file and the source line number
    * where the assert_param error has occurred.
    * @param file: pointer to the source file name
    * @param line: assert_param error line source number
    * @retval None
    */
    void assert_failed(uint8_t* file, uint32_t line)
    {
    /* User can add his own implementation to report the file name and line number,
    ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */


    /* Infinite loop */
    while (1)
    {
    }
    }
    #endif


    /************************************************** ************************************************** *****
    END FILE
    ************************************************** ************************************************** *****/

    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: rar USER.rar (16.0 کیلو بایت, 23 نمايش)
    • نوع فایل: pdf MAX9860.pdf (734.5 کیلو بایت, 20 نمايش)
    ویرایش توسط Raha323 : 13-04-2015 در ساعت 12:44

  10. #28
    کاربر فعال
    تاریخ عضویت
    Jul 2012
    نوشته ها
    101
    تشکر
    23
    تشکر شده 3 بار در 1 پست

    پیش فرض

    اینم کل برنامه ام تورو خدا کمکم کنی حتی اگر کسی هست کلاس خصوصی بذاره برام راضیم بعداشم باید i2s راه بندازم این همه گیر کردم تو i2c

صفحه 2 از 2 نخستنخست 12

موضوعات مشابه

  1. [سوال] راه اندازی usartدر stm32f103RET
    توسط Raha323 در انجمن stm32
    پاسخ: 8
    آخرين نوشته: 16-03-2015, 13:52
  2. يه سوال درباره راه اندازي stm32f103ret
    توسط avr_1360 در انجمن stm32
    پاسخ: 2
    آخرين نوشته: 17-08-2014, 22:14
  3. از كار افتادن SWD در stm32f103ret
    توسط sanatnegar در انجمن stm32
    پاسخ: 4
    آخرين نوشته: 14-07-2014, 14:03

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •