微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > Cortex-M3 (NXP LPC1788)之IIC应用--PCA9532进行IO扩展和LED亮度控制

Cortex-M3 (NXP LPC1788)之IIC应用--PCA9532进行IO扩展和LED亮度控制

时间:11-19 来源:互联网 点击:

  1. erTransfer(PCA9532_ADDRESS,&data,1,read_data,1);
  2. if(flag)
  3. {
  4. config[4]++;
  5. config[6]++;
  6. }
  7. else
  8. {
  9. config[4]--;
  10. config[6]--;
  11. }
  12. if(config[4]==255||config[4]==0)
  13. {
  14. flag=!flag;
  15. }
  16. for(i=0;i<4;i++)
  17. {
  18. if(read_data[0]&(0x1
  19. {
  20. config[10]&=~(0x3<(i*2));
  21. }
  22. else
  23. {
  24. config[10]|=(0x1<(i*2));
  25. }
  26. }
  27. }
  28. }



程序调试过程中遇到如下问题,要注意:
1,I2C控制清除寄存器为只读,因此不能进行|=操作,否则状态寄存器的值异常。不知道为什么不是产生异常复位,之前EEPROM也对只读寄存器进行该操作会产生系统异常进入异常中断。
2,在主发送模式切换到主接收模式的过程中,一定要先清除SI标志。开始没注意,发送重复起始表示后的状态一直是0x28,把这个重复起始标志单数据发送?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top