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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2997|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

stm32一線串口WT588S語(yǔ)音芯片驅(qū)動(dòng)程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主


單片機(jī)源程序如下:


  1. #include "wt588s16s.h"
  2. #include "delay.h"



  3. /**************************************************************************************************
  4. * @fn             Initialize_wt588s16s_pins
  5. *
  6. * @brief   初始化芯片引腳,BUSY、DATA
  7. *
  8. * @param   none
  9. *
  10. * @return  None
  11. **************************************************************************************************/
  12. void Initialize_wt588s16s_pins(void)
  13. {
  14.                 GPIO_InitTypeDef  GPIO_InitStructure;
  15.        
  16.                 RCC_APB2PeriphClockCmd(WT588S16S_DATA_PERIPH,ENABLE);
  17.                 RCC_APB2PeriphClockCmd(WT588S16S_BUSY_PERIPH,ENABLE);

  18.                 GPIO_InitStructure.GPIO_Pin  = WT588S16S_DATA;                                       
  19.                 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                  
  20.                 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;               
  21.                 GPIO_Init(WT588S16S_DATA_GPIO, &GPIO_InitStructure);

  22.                 GPIO_InitStructure.GPIO_Pin  = WT588S16S_BUSY;                                       
  23.                 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;                  
  24.                 GPIO_Init(WT588S16S_BUSY_GPIO, &GPIO_InitStructure);
  25.                

  26.                 GPIO_SetBits(WT588S16S_DATA_GPIO,  WT588S16S_DATA);                                                                               

  27. }

  28. /**************************************************************************************************
  29. * @fn             Line_send_one_byte
  30. *
  31. * @brief   發(fā)送一個(gè)字節(jié)數(shù)據(jù)
  32. *
  33. * @param   none
  34. *
  35. * @return  None
  36. **************************************************************************************************/
  37. void Line_send_one_byte(unsigned char data)
  38. {
  39.                 unsigned char i;
  40.                 unsigned char data_temp = 0;

  41.                 for( i=0; i<8; i++){
  42.                         GPIO_SetBits(WT588S16S_DATA_GPIO,  WT588S16S_DATA);        //拉高發(fā)送數(shù)據(jù)
  43.                        
  44.                         data_temp = (data>>i)&0x01;
  45.                        
  46.                         if(data_temp == 0){
  47.                                         delay_us(200); //200us
  48.                                         GPIO_ResetBits(WT588S16S_DATA_GPIO,  WT588S16S_DATA);       
  49.                                         delay_us(600); //600us
  50.                         }else{
  51.                                         delay_us(600); //600us
  52.                                         GPIO_ResetBits(WT588S16S_DATA_GPIO,  WT588S16S_DATA);       
  53.                                         delay_us(200); //200us
  54.                         }
  55.                 }
  56. }
  57. /**************************************************************************************************
  58. * @fn             Line_send_stop
  59. *
  60. * @brief   發(fā)送結(jié)束標(biāo)志
  61. *
  62. * @param   none
  63. *
  64. * @return  None
  65. **************************************************************************************************/
  66. void Line_send_stop(void)
  67. {
  68.                 //地址數(shù)據(jù)連接符
  69.                 GPIO_SetBits(WT588S16S_DATA_GPIO,  WT588S16S_DATA);                       
  70.                 delay_us(2000); //2MS
  71.                 GPIO_ResetBits(WT588S16S_DATA_GPIO,  WT588S16S_DATA);               
  72.                 delay_us(5000); //5MS
  73. }

  74. /**************************************************************************************************
  75. * @fn             WT588S_play_music
  76. *
  77. * @brief   播放音樂(lè)
  78. *
  79. * @param   data:控制命令
  80. *
  81. * @return  None
  82. **************************************************************************************************/
  83. void WT588S_play_music(unsigned short data)
  84. {
  85.                 unsigned char data_temp_1,data_temp_2;
  86.        
  87.                 data_temp_2 = (unsigned char)(data>>8);
  88.                 data_temp_1 = (unsigned char)(data&0x00ff);
  89.        
  90.                 Line_send_stop();
  91.                 Line_send_one_byte(data_temp_1);
  92.                 Line_send_stop();
  93.                 Line_send_one_byte(data_temp_2);
  94. }
復(fù)制代碼

所有程序51hei提供下載:
wt588s16s.zip (1.33 KB, 下載次數(shù): 32)


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:88060 發(fā)表于 2021-7-28 13:53 | 只看該作者
還要SPI呢,接口太多了
回復(fù)

使用道具 舉報(bào)

板凳
ID:958310 發(fā)表于 2021-10-27 09:11 | 只看該作者

那個(gè)SPI是語(yǔ)音芯片接SD卡的吧,不是接MCU的
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久久久国产一区二区三区四区 | 精品网站999 | 亚洲欧美在线观看视频 | 国产精品区一区二区三 | 成人国产精品免费观看 | 精品国产一区二区三区久久久久久 | 伊人爽 | 日韩视频免费在线 | 国产色婷婷久久99精品91 | 亚洲精品在线免费 | 天堂网avav | 成人h电影在线观看 | 色视频网站 | 欧美成人一区二区三区片免费 | 日本欧美在线视频 | 日本一本在线 | 国产一区二区精品在线观看 | 在线看片国产精品 | 亚洲精品一区中文字幕乱码 | 国产精品国产精品国产专区不卡 | 久久91精品国产一区二区三区 | 久久久69 | 精品美女久久久 | 免费观看一级黄色录像 | 逼逼视频| 在线观看中文字幕 | 欧美一区二区三区在线 | 亚洲一区二区久久 | 久久久精品一区二区三区 | 久久777 | 殴美成人在线视频 | 久久噜| 免费日本视频 | 成人久久久久久久久 | 国产色视频网站 | 黄色91在线 | 亚洲一区不卡在线 | 欧美国产精品一区二区三区 | 91精品国产乱码久久久久久久久 | 亚洲精品一区二区三区在线观看 | 日本久久一区 |