久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3475|回復: 1
收起左側

sc5020b語音ic驅動

[復制鏈接]
ID:170352 發表于 2017-3-13 17:09 | 顯示全部樓層 |閱讀模式

  1. /*
  2. *******************************************************************
  3. *                        file:sc5020b.c
  4. *                        
  5. *                        func:sc5020b sound chip driver
  6. *
  7. *                        time:2017.03.01
  8. *                        
  9. *                        auth:lzx
  10. *******************************************************************
  11. */

  12. /*file*/
  13. #include"is32u320a.h"                                        //the define of is32u320a register address
  14. #include"sc5020b.h"                                                //the extern interface
  15. #include"is32u320a_gpio.h"                                //the func of io_config library

  16. /*flag*/
  17. #define G_SC5020B_BUSY_DIRECTION  GPIO33                        //use GPIO33 to be the sc5020b_busy_direction
  18. #define G_SC5020B_SDA_DIRECTION   GPIO34                        //use GPIO34 to be the sc5020b_sda_direction
  19. #define G_SC5020B_BUSY_IS_NOBUSY  GPIODATA2&0X01        //make sure G_SC5020B_BUSY is busy or not

  20. /*
  21. *************************************
  22. *          name:void sc5020b_io_initial()
  23. *
  24. *          func:initiate the sc5020b_io
  25. *
  26. *          time:2017.03.01
  27. *                        
  28. *          auth:lzx
  29. *************************************
  30. */
  31. void sc5020b_io_initial(void)
  32. {
  33.         SetGpioXIn(G_SC5020B_BUSY_DIRECTION);                //G_SC5020B_BUSY is an input
  34.         SetGpioXOut(G_SC5020B_SDA_DIRECTION);                //G_SC5020B_SDA  is an output
  35. }

  36. /*
  37. *************************************
  38. *          name:void sc5020b_waitbusy(void)
  39. *
  40. *          func:wait until sc5020b free
  41. *
  42. *          time:2017.03.01
  43. *                        
  44. *          auth:lzx
  45. *************************************
  46. */
  47. void sc5020b_waitbusy(void)
  48. {
  49.     unsigned int times;
  50.     for(times=0;times<50;times++)                                        //the max time is 5 seconds,circle will be ended once more than max time
  51.     {
  52.        //sc5020b_delayms(100);                                                         //the time gap between each sound segment must be more than 100ms
  53.        if(G_SC5020B_BUSY_IS_NOBUSY) break;                                //when G_SC5020B_BUSY is free,the chip can be sent commond
  54.     }   
  55. }

  56. /*
  57. *************************************
  58. *          name:sc5020b_sendcommand(u8 dat)
  59. *
  60. *          func:send command to sc5020b
  61. *
  62. *          time:2017.03.01
  63. *                        
  64. *          auth:lzx
  65. *************************************
  66. */
  67. void sc5020b_sendcommand(unsigned char dat)
  68. {
  69.         char temp;                                        //be used to make sure the each bit value of dat
  70.         sc5020b_waitbusy();                        //wait until sc5020b free,static wait time is 100ms
  71.         //sc5020b_delayms(5);                        //wait for 5 micro second
  72.         for(temp=0;temp<8;temp++)
  73.         {
  74.                 SetGpioXHigh(G_SC5020B_SDA_DIRECTION);                 //pull up the G_SC5020B_SDA
  75.         if(dat&0x01)
  76.         {                                                //send 1:high/low=3:1
  77.           //sc5020b_delayus(1500);//delay1500us        
  78.           SetGpioXLow(G_SC5020B_SDA_DIRECTION);
  79.           //sc5020b_delayus(500); //delay500us
  80.         }
  81.        else
  82.        {                                                 //send 0:high/low=1:3
  83.           //sc5020b_delayus(500); //delay500us
  84.           SetGpioXLow(G_SC5020B_SDA_DIRECTION);
  85.           //sc5020b_delayus(1500);//delay1500us   
  86.        }
  87.        dat>>=1;
  88.         }
  89. }

復制代碼
回復

使用道具 舉報

ID:564486 發表于 2019-6-21 10:50 | 顯示全部樓層
哥這哥音量怎么調節呀?手冊上寫的發E0-EF調,但是不管用
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一级毛片视频 | 国产精久久久久久久 | 久久久久久成人 | 欧美亚洲国语精品一区二区 | 一区二区三区回区在观看免费视频 | 99热播精品 | aaaaa毛片| 亚洲区一区二 | 日韩在线国产精品 | 精国产品一区二区三区 | 天天操天天干天天曰 | 日日操操操 | 免费黄色片在线观看 | 国产免费一区二区三区 | 亚洲天堂av一区 | 国产美女免费视频 | 羞羞网站在线观看 | 国产精品一区在线 | 亚洲系列第一页 | 午夜激情国产 | 国产一级在线观看 | 日美女逼逼 | 人人人人干 | 久久99深爱久久99精品 | 激情的网站 | 噜噜噜色网 | 激情五月激情综合网 | 91精品久久久久久久久99蜜臂 | 91久久久久 | 老妇激情毛片免费 | 国产专区在线 | 人人干人人超 | 暴草美女| aacc678成免费人电影网站 | 午夜精品久久久久久久久久久久久 | 亚洲精品视频在线观看视频 | 精品91久久 | 一区二区精品在线 | 欧美理论 | 91在线免费视频 | 国外成人在线视频 |