سلام
چه طوری باید rise time رو توی I2C تنظیم کرد؟
من از دستور I2C->TRISE استفاده می کنم ولی ارور میده.
سلام
چه طوری باید rise time رو توی I2C تنظیم کرد؟
من از دستور I2C->TRISE استفاده می کنم ولی ارور میده.
سلام مهندس
يه چيزي رو فراموش كردي، مشخص نكردي با كروم I2C ميخواي كار كني: 1 يا 2
اينطوري بنويسش:
کد:I2C2->TRISE = xxxxxx;
_____________________________________
_____________________________________
سلام
ببخشید دستوری که استفاده کردم اینه I2C1->TRISE=0xxxx
ولی کاپایلر ارور میده.
ارورش چيه؟
_____________________________________
_____________________________________
C:\Keil\ARM\Inc\ST\STM32F10x\I2C.h(17): error: #109: expression must have (pointer-to-) function type
مهندس يه كاري كن، اون تيكه كدي كه مربوط به i2c ميشه رو قرار بده ببينيم.
راستي: مستقيما" مقدار ميكني يا از طريق يه متغير ديگه؟
از كدوم ورژن Keil استفاده ميكني؟
ویرایش توسط sadmonew : 15-12-2013 در ساعت 19:09
_____________________________________
_____________________________________
مستقیم مقدار میدم.
اینم کد برنامه
void I2C1_config()
{
PORTB_L|=0xFF000000;
RCC->APB2ENR|=1;
RCC->APB1ENR|=0x200000;
I2C1->CR1=0x8000; //software reset
I2C1->CR1=0x0000; //software resetI2C1->CR2|=0x0024; //peripheral clock frequency
I2C1->CCR=0x8000; //Fast mod I2C
I2C1->CCR|=0x0028; //CCR fast/standard mod
//I2C1->TRISE=0xB //Maximum rise time
I2C1->CR1|=0x0001; //peripheral enable
I2C1->CR1|=0x0400; //acknoledge enable
//I2C1->CR1|=0x0080; //no stretch
I2C1->OAR1=0x4000;
}
سلام
میگم تو این خط علامت ; نیست شاید مشکل از این باشه
//I2C1->TRISE=0xB //Maximum rise time
سلام آقا مهدی
ممنون. متوجه ; نشده بودم حل شد.