با سلام خدمت دوستان.
من با i2c نرم افزاری c18 خواستم یک فرکانس 1 هرتز رو رو پایه ی out ای سی ds1307 ایجاد کنم.کد من هم بصورت زیر هست.سوالی که دارم اینه که :
من اول جای SWRestartI2C(); از SWStartI2C(); استفاده کردم.ولی کار نمیکرد.چرا؟ایا کلا باید تو راه اندازی i2c نرم افزاری یا i2c ابتدا یک بار ری استارت کنیم ؟یا این مورد تنها مربوط میشه به ds1307 ؟در ضمن تو ی مثال sw_i2c از MPLAB_C18_Libraries.pdf ری استارت نکرده؟!
oo:
من با i2c نرم افزاری c18 خواستم یک فرکانس 1 هرتز رو رو پایه ی out ای سی ds1307 ایجاد کنم.کد من هم بصورت زیر هست.سوالی که دارم اینه که :
من اول جای SWRestartI2C(); از SWStartI2C(); استفاده کردم.ولی کار نمیکرد.چرا؟ایا کلا باید تو راه اندازی i2c نرم افزاری یا i2c ابتدا یک بار ری استارت کنیم ؟یا این مورد تنها مربوط میشه به ds1307 ؟در ضمن تو ی مثال sw_i2c از MPLAB_C18_Libraries.pdf ری استارت نکرده؟!

کد:
#include <P18f4550.h> #include <stdio.h> #include <stdlib.h> #include <delays.h> #include "sw_i2c.h" //***************************************** #pragma config WDT=OFF #pragma config FOSC=HS// our crystal is 4 MHZ #pragma config CPUDIV=OSC1_PLL2 #pragma config LVP=OFF //***************************************** unsigned char var=0; //*************************************** void main(void) { ADCON1=0X0F; //All analog port are digitaled // check out the memory model & linker & header & lkr SWRestartI2C(); //SWStartI2C(); var=SWPutcI2C(0xD0);// control byte SWAckI2C(); var=SWPutcI2C(0x07); // word address SWAckI2C(); var=SWPutcI2C(0x10); // data SWAckI2C(); SWStopI2C(); }
دیدگاه