tda7448.c
上传用户:caisangzi8
上传日期:2013-10-25
资源大小:15756k
文件大小:1k
源码类别:

DVD

开发平台:

C/C++

  1. #ifdef TDA7448
  2. #define TDA7448_ADDR  0x8a
  3. /*
  4.   according to the TDA7448 datasheet.
  5.   this function translate the 0--79dB to a data that TDA7448 can be accepted
  6.   the real attenuation value = lower 3bit + (8 * higher 5 bits)
  7.   but how about reverse????
  8.   for example
  9.    input: 9
  10.    out   : 0x05
  11. */
  12. BYTE coverDB(BYTE db)
  13. {
  14. BYTE lower3,higher5,data;
  15. lower3 = db%8;
  16. higher5 = db/8;
  17. data = ((higher5<<3) | lower3);
  18. return data;
  19. }
  20. /*
  21. channel: 1--6
  22.  vol:0-->79dB
  23. */
  24. void subvol_channel_volume(BYTE channel,BYTE vol)
  25. {
  26. BYTE data1,data2;
  27. int res;
  28. vol = 79 -vol;
  29. data1 = channel-1;
  30. data2 = coverDB(vol);
  31. res = WriteToI2c(TDA7448_ADDR,data1,&data2,1);
  32. }
  33. #endif  //TDA7448