日韩在线不卡免费视频一区,日韩欧美精品一区二区三区经典,日产精品码2码三码四码区,人妻无码一区二区三区免费,日本feerbbwdh少妇丰满

  • 回復(fù)
  • 收藏
  • 點贊
  • 分享
  • 發(fā)新帖

請教一下,DSPIC30F2010的I2C模塊

我寫了個小程序,本想用I2C模塊來控制CH423來驅(qū)動液晶,但現(xiàn)在發(fā)現(xiàn)我的數(shù)據(jù)發(fā)不出去,這里的程序我把它簡化了,我的目的是想讓CH423的OC0-OC7輸出低電平.請大家?guī)臀铱聪鲁绦蚰睦锊粚?先謝大家了
============================================================
#include "p30f2010.h"

int main()
{
OpenI2C();
write_I2C(0X48,0X00);//OC0-OC7為通用輸出,OC8-OC15為通用輸出,禁止電平變化中斷,
write_I2C(0x44,0x00);//OC0-OC7輸出低電平
}
int write_I2C( I2C_cmd,  I2C_data)
{
StartI2C();
while(I2CCONbits.SEN==1);
MasterWriteI2C(I2C_cmd); /* 8 bit cmd*/
while(I2CSTATbits.TRSTAT);
if(I2CSTATbits.ACKSTAT)
{return 0;}
MasterWriteI2C(I2C_data); /*8 bit data*/
while(I2CSTATbits.TRSTAT);
if(I2CSTATbits.ACKSTAT)
{ return 0;}
StopI2C();
while(I2CCONbits.PEN);
return 1;
}
MasterWriteI2C(int data_out)
{
I2CTRN = data_out;
if(I2CSTATbits.IWCOL) /* If write collision occurs,return -1 */
{I2CSTATbits.IWCOL=0;return -1;}
else
{return 0;}
}
OpenI2C()
{
I2CBRG =12; /*BAUD= 400khz,at 7.3728mhz fcy*/
I2CCONbits.I2CEN=1;
}
StartI2C()
{
I2CCONbits.SEN=1; /* initiate Start on SDA and SCL pins */
}
StopI2C()
{
I2CCONbits.PEN=1; /* initiate Stop on SDA and SCL pins */
}
電路圖
1072811209905502.pdf 1072811209905550.pdf CH423資料
全部回復(fù)(2)
正序查看
倒序查看
xjlwp
LV.3
2
2008-05-04 21:23
我用的是MPLAB IDEV7.51,編譯器為MPLAB C30 V1.20
0
回復(fù)
hotpower
LV.5
3
2008-05-05 19:36
@xjlwp
我用的是MPLABIDEV7.51,編譯器為MPLABC30V1.20
PIC24F之EEPROM讀寫中斷事件處理函數(shù)要點及說明
http://blog.ednchina.com/hotpower/20100/category.aspx
0
回復(fù)
發(fā)