你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F103RCT语音模块LD3320

[复制链接]
STMCU小助手 发布时间:2021-7-8 11:11
LD3320为内核是51单片机,LD3320当输入不同的语句通过串口输出相应的代码,利用STM32与51单片机的串口通讯,将代码传输给STM32实现STM32端口控制。
LD3320程序与STM32全部程序,自己编写程序。
程序代码下载地址 https://download.csdn.net/download/qq_42258981/12261782
视频展示
https://www.bilibili.com/video/BV1JE411F7mB/

硬件资源:
1:PB11(USART3_RX),PB10(USART3_TX),STM32的RXD,DS0,DS1
2:LD3320


实验现象:
当说“左侧”DS0亮,DS1灭,串口打印“code is 0”;当说“右侧”DS0灭,DS1灭,串口打印“code is 1”;当说“全开”,DS0与DS1全亮 ,串口打印“code is 2” 。
注意事项:
1:STM32串口,51串口波特率以及电脑端串口调试助手波特率均为9600。
2:51的TX端口与STM32的PB11(USART3_RX)端口连接;51的RX端口不接;STM32的PB10(USART3_TX)端口与STM32的RXD端口连接。
3:DS0,DS1均为STM32Mini板板上硬件资源。
硬件连接图
1.png
结果演示
2.png


51语音程序
添加关键词

  1. <font face="微软雅黑" size="3">uint8 LD_AsrAddFixed()
  2. {
  3.   uint8 k, flag;
  4.   uint8 nAsrAddLength;
  5. #define DATE_A 11   /*Êý×é¶þάÊýÖµ*/
  6. #define DATE_B 20                /*Êý×éһάÊýÖµ*/
  7.   uint8 code sRecog[DATE_A][DATE_B] =
  8.   {
  9.     "xiao long",\
  10.     "zuo ce",\
  11.     "you ce",\
  12.     "quan kai",\   
  13.   };
  14. </font>
复制代码
与STM32串口通讯程序
  1. <blockquote><font face="微软雅黑" size="3">void <span style="white-space:pre">        </span>User_handle(uint8 dat)</font>
复制代码
STM32串口3初始化省略,直接上主程序
STM32主程序

  1. <font face="微软雅黑" size="3">int main(void)
  2. {
  3.         u8 len;       
  4.         u16 times=0;
  5.         u8 get=0;
  6.         HAL_Init();                                      
  7.   Stm32_Clock_Init(RCC_PLL_MUL9);          
  8.         delay_init(72);                              
  9.         uart_init(9600);                                       
  10.         uart3_init(9600);                                       
  11.         LED_Init();                                                       
  12.                                        
  13.        
  14.     while(1)
  15.     {       
  16.        if(USART3_RX_STA&0x8000)
  17.                 {                                          
  18.                         len=USART3_RX_STA&0x3fff;//
  19.                         get=USART3_RX_BUF[0];  printf("\r\n\r\ncode is %d\r\n", get);
  20.                         switch(get)
  21.                         {
  22.                           case 0: {LED0=0;LED1=1;} break;
  23.                           case 1: {LED0=1;LED1=0;} break;
  24.                           case 2: {LED0=0;LED1=0;} break;
  25.                           default: {LED0=1;LED1=1;}break;                       
  26.                         }
  27.                         HAL_UART_Transmit(&UART3_Handler,(uint8_t*)USART3_RX_BUF,len,1000);       
  28.                         while(__HAL_UART_GET_FLAG(&UART3_Handler,UART_FLAG_TC)!=SET);               
  29.                         USART3_RX_STA=0;
  30.                 }               
  31.     }
  32. }
  33. </font>
复制代码



收藏 评论0 发布时间:2021-7-8 11:11

举报

0个回答

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版