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

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

QQ登錄

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

搜索
查看: 2242|回復(fù): 0
收起左側(cè)

STM32+RT+SYN8266播報(bào)+紅外定時(shí)器程序

[復(fù)制鏈接]
ID:743843 發(fā)表于 2021-12-1 19:46 | 顯示全部樓層 |閱讀模式
老規(guī)矩,附上產(chǎn)品圖
IMG_20211201_194429.jpg

SYN8266配置文件.c
  1. /**
  2. ******************************************************************************
  3. *  @File     SYN6288.c
  4. *  @Author   Velscode  
  5. *  @Brief    TTS 芯片 SYN6288驅(qū)動(dòng)源代碼文件(基于STM32F10x)
  6. *            使用了USART2(A2\A3)
  7. ******************************************************************************
  8. */

  9. /* Internal Function Declaration ------------------------------------------- */
  10. void usart2_Init(unsigned int bound);

  11. /* Header Files ------------------------------------------------------------ */
  12. #include "SYN6288.h"
  13. #include "string.h"
  14. /* RT-Thread相關(guān)頭文件 */
  15. #include <rthw.h>
  16. #include <rtthread.h>
  17. #include <string.h>
  18. struct  STRUCT_USARTx_Fram strUSART_Fram_Record = { 0 };

  19. /**
  20.   * @brief  配置嵌套向量中斷控制器NVIC
  21.   * @param  無(wú)
  22.   * @retval 無(wú)
  23.   */
  24. static void NVIC_Configuration(void)
  25. {
  26.   NVIC_InitTypeDef NVIC_InitStructure;
  27.   
  28.   /* 嵌套向量中斷控制器組選擇 */
  29.   NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
  30.   
  31.   /* 配置USART為中斷源 */
  32.   NVIC_InitStructure.NVIC_IRQChannel = DEBUG_USART_IRQ_SYN6288;
  33.   /* 搶斷優(yōu)先級(jí)*/
  34.   NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
  35.   /* 子優(yōu)先級(jí) */
  36.   NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
  37.   /* 使能中斷 */
  38.   NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  39.   /* 初始化配置NVIC */
  40.   NVIC_Init(&NVIC_InitStructure);
  41. }
  42. //讀忙
  43. void SYN6288_GPIO_Config ( void )
  44. {               
  45.         /*定義一個(gè)GPIO_InitTypeDef類型的結(jié)構(gòu)體*/
  46.         GPIO_InitTypeDef GPIO_InitStructure;


  47.         /* 配置 LED1 引腳 */
  48.         SYN6288_GPIO_APBxClock_FUN(SYN6288_GPIO_CLK, ENABLE);                                                                                                                           
  49.         GPIO_InitStructure.GPIO_Pin = SYN6288_GPIO_PIN;        
  50.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;   
  51.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  52.         GPIO_Init ( SYN6288_GPIO_PORT, & GPIO_InitStructure );        
  53.         
  54. }

  55. /**
  56.   * @brief  USART GPIO 配置,工作參數(shù)配置
  57.   * @param  無(wú)
  58.   * @retval 無(wú)
  59.   */
  60. void SYN688_USART_Config(void)
  61. {
  62.         GPIO_InitTypeDef GPIO_InitStructure;
  63.         USART_InitTypeDef USART_InitStructure;

  64.         // 打開(kāi)串口GPIO的時(shí)鐘
  65.         DEBUG_USART_GPIO_APBxClkCmd(DEBUG_USART_GPIO_CLK_SYN6288, ENABLE);
  66.         
  67.         // 打開(kāi)串口外設(shè)的時(shí)鐘
  68.         DEBUG_USART_APBxClkCmd_SYN6288(DEBUG_USART_CLK_SYN6288, ENABLE);

  69.         // 將USART Tx的GPIO配置為推挽復(fù)用模式
  70.         GPIO_InitStructure.GPIO_Pin = DEBUG_USART_TX_GPIO_PIN_SYN6288;
  71.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  72.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  73.         GPIO_Init(DEBUG_USART_TX_GPIO_PORT_SYN6288, &GPIO_InitStructure);

  74.   // 將USART Rx的GPIO配置為浮空輸入模式
  75.         GPIO_InitStructure.GPIO_Pin = DEBUG_USART_RX_GPIO_PIN_SYN6288;
  76.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
  77.         GPIO_Init(DEBUG_USART_RX_GPIO_PORT_SYN6288, &GPIO_InitStructure);
  78.         
  79.         // 配置串口的工作參數(shù)
  80.         // 配置波特率
  81.         USART_InitStructure.USART_BaudRate = DEBUG_USART_BAUDRATE;
  82.         // 配置 針數(shù)據(jù)字長(zhǎng)
  83.         USART_InitStructure.USART_WordLength = USART_WordLength_8b;
  84.         // 配置停止位
  85.         USART_InitStructure.USART_StopBits = USART_StopBits_1;
  86.         // 配置校驗(yàn)位
  87.         USART_InitStructure.USART_Parity = USART_Parity_No ;
  88.         // 配置硬件流控制
  89.         USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
  90.         // 配置工作模式,收發(fā)一起
  91.         USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
  92.         // 完成串口的初始化配置
  93.         USART_Init(DEBUG_USART_SYN6288, &USART_InitStructure);
  94.         
  95.         // 串口中斷優(yōu)先級(jí)配置
  96.         NVIC_Configuration();
  97.         
  98.         // 使能串口接收中斷
  99.         USART_ITConfig(DEBUG_USART_SYN6288, USART_IT_RXNE, ENABLE);        
  100.         
  101.         // 使能串口
  102.         USART_Cmd(DEBUG_USART_SYN6288, ENABLE);               

  103.   // 清除發(fā)送完成標(biāo)志
  104.         //USART_ClearFlag(USART1, USART_FLAG_TC);     
  105. }
  106. //其實(shí)是USART2_Send_Byte
  107. /*****************  發(fā)送一個(gè)字符 **********************/
  108. void Usart_SYN6288_SendByte( USART_TypeDef * pUSARTx, uint8_t ch)
  109. {
  110.         /* 發(fā)送一個(gè)字節(jié)數(shù)據(jù)到USART */
  111.         USART_SendData(pUSARTx,ch);
  112.                
  113.         /* 等待發(fā)送數(shù)據(jù)寄存器為空 */
  114.         while (USART_GetFlagStatus(pUSARTx, USART_FLAG_TXE) == RESET);        
  115. }
  116. /*****************  發(fā)送字符串 **********************/
  117. void Usart_SSYN6288_endString( USART_TypeDef * pUSARTx, char *str)
  118. {
  119.         unsigned int k=0;
  120.   do
  121.   {
  122.       Usart_SYN6288_SendByte( pUSARTx, *(str + k) );
  123.       k++;
  124.   } while(*(str + k)!='\0');
  125.   
  126.   /* 等待發(fā)送完成 */
  127.   while(USART_GetFlagStatus(pUSARTx,USART_FLAG_TC)==RESET)
  128.   {}
  129. }

  130. //語(yǔ)音合成
  131. void SYN6288_Speech( USART_TypeDef * pUSARTx,char * str )
  132. {
  133.         
  134.         if(SYN6288_Read_GPIO_IN()==Bit_RESET)/* x us后仍為高電平表示數(shù)據(jù)“1” */
  135.         {

  136.                                 char * p = str;
  137.                 int len = 0,check=0xFD,i;
  138.                
  139.                 while( *p++ != 0 )
  140.                 {
  141.                                 len++;
  142.                
  143.                 }
  144.                
  145.                 len+=3;
  146.                
  147.                 Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,0xFD);
  148.                
  149.                 Usart_SYN6288_SendByte( DEBUG_USART_SYN6288,len / 256 );
  150.                 Usart_SYN6288_SendByte( DEBUG_USART_SYN6288,len % 256 );
  151.                 check  = check ^ ( len / 256 ) ^ ( len % 256 );
  152.                
  153.                 Usart_SYN6288_SendByte( DEBUG_USART_SYN6288,0x01 );
  154.                 Usart_SYN6288_SendByte( DEBUG_USART_SYN6288,0x01 );
  155.                 check = check ^ 0x01 ^ 0x01;
  156.                
  157.                 for( i = 0; i < len-3; i++ )
  158.                 {
  159.                                 Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,*str);
  160.                                 check ^= ( *str );
  161.                                 str++;
  162.                 }
  163.                 Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,check);   
  164.                                 
  165.                 rt_thread_delay(150*len);        
  166.         }        

  167. }
  168. /* 音量控制 */
  169. void Volinme(uint8_t Y_L)
  170. {
  171.                 uint8_t num ;
  172.         num = Y_L+48;
  173.         Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,0xFD);
  174.         Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,0x00);
  175.         Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,0x06);
  176.         Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,0x01);
  177.         Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,0x01);
  178.         Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,0x5B);
  179.         Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,0x76);
  180.         //控制音量
  181.         Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,num);
  182.         
  183.         Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,0x5D);
  184. //        uint8_t num[9] ;
  185. //        
  186. //        num[0] = 0xFD;
  187. //        num[1] = 0x00;
  188. //        num[2] = 0x06;
  189. //        num[3] = 0x01;
  190. //        num[4] = 0x01;
  191. //        num[5] = 0x5B;
  192. //        num[6] = 0x76;
  193. //        //控制音量
  194. //        num[7] = Y_L+48;
  195. //        num[8] = 0x5D;
  196. //        
  197. //        Usart_SendByte(DEBUG_USARTx,num[8]);
  198. }
  199. /* 語(yǔ)調(diào)控制 */
  200. void Intonation(uint8_t Y_L)
  201. {
  202.         uint8_t num ;
  203.         num = Y_L+48;
  204.         Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,0xFD);
  205.         Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,0x00);
  206.         Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,0x06);
  207.         Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,0x01);
  208.         Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,0x01);
  209.         Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,0x5B);
  210.         Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,0x74);
  211.         //控制音量
  212.         Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,num);
  213.         
  214.         Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,0x5D);
  215.         

  216. }
  217. /* 語(yǔ)速控制 */
  218. void Speed_pacing(uint8_t Y_L)
  219. {
  220.         uint8_t num ;
  221.         num = Y_L+48;
  222.         Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,0xFD);
  223.         Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,0x00);
  224.         Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,0x06);
  225.         Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,0x01);
  226.         Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,0x01);
  227.         Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,0x5B);
  228.         Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,0x73);
  229.         //控制音量
  230.         Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,num);
  231.         
  232.         Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,0x5D);
  233.         
  234. }
  235. /* 人控制 */
  236. void speed_man(uint8_t Y_L)
  237. {
  238.         uint8_t num ;
  239.         num = Y_L+48;
  240.         Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,0xFD);
  241.         Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,0x00);
  242.         Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,0x07);
  243.         Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,0x01);
  244.         Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,0x01);
  245.         Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,0x5B);
  246.         Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,0x6D);
  247.         Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,0x35);
  248.         //控制音量
  249.         Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,num);
  250.         
  251.         Usart_SYN6288_SendByte(DEBUG_USART_SYN6288,0x5D);
  252.         
  253. }
  254. /* End of File ------------------------------------------------------------- */



復(fù)制代碼
.h
  1. #ifndef _SYN6288_H_
  2. #define _SYN6288_H_
  3. #include "stm32f10x.h"
  4. #include <stdio.h>
  5. #include <stdbool.h>



  6. #if defined ( __CC_ARM   )
  7. #pragma anon_unions
  8. #endif
  9. /******************************* ESP8266 外部全局變量聲明 ***************************/
  10. #define RX_BUF_MAX_LEN     1024                                     //最大接收緩存字節(jié)數(shù)

  11. extern struct  STRUCT_USARTx_Fram                                  //串口數(shù)據(jù)幀的處理結(jié)構(gòu)體
  12. {
  13.         char  Data_RX_BUF [ RX_BUF_MAX_LEN ];
  14.         
  15.   union {
  16.     __IO u16 InfAll;
  17.     struct {
  18.                   __IO u16 FramLength       :15;                               // 14:0
  19.                   __IO u16 FramFinishFlag   :1;                                // 15
  20.           } InfBit;
  21.   };
  22.         
  23. } strUSART_Fram_Record;




  24. /* 開(kāi)發(fā)板硬件相關(guān)頭文件 */

  25. /**  
  26.   ******************************************************************************
  27.   *  @File     SYN6288.h
  28.   *  @Author   Velscode  
  29.   *  @Brief    TTS 芯片 SYN6288驅(qū)動(dòng)頭文件(基于STM32F10x)
  30.   *            使用了USART2(A2\A3)
  31.   ******************************************************************************
  32.   */

  33. //extern struct STRUCT_USARTx_Fram strUSART_Fram_Record;        
  34.         /****************************** SYN6288 引腳配置參數(shù)定義***************************************/
  35. #define             SYN6288_GPIO_APBxClock_FUN              RCC_APB2PeriphClockCmd
  36. #define             SYN6288_GPIO_CLK                        RCC_APB2Periph_GPIOB
  37. #define             SYN6288_GPIO_PORT                       GPIOB
  38. #define             SYN6288_GPIO_PIN                        GPIO_Pin_2
  39. #define                                      SYN6288_Read_GPIO_IN()                        GPIO_ReadInputDataBit ( SYN6288_GPIO_PORT, SYN6288_GPIO_PIN )

  40. // 串口2-USART2
  41. #define  DEBUG_USART_SYN6288                    USART3
  42. #define  DEBUG_USART_CLK_SYN6288                 RCC_APB1Periph_USART3
  43. #define  DEBUG_USART_APBxClkCmd_SYN6288          RCC_APB1PeriphClockCmd
  44. #define  DEBUG_USART_BAUDRATE           9600

  45. // USART GPIO 引腳宏定義
  46. #define  DEBUG_USART_GPIO_CLK_SYN6288            (RCC_APB2Periph_GPIOB)
  47. #define  DEBUG_USART_GPIO_APBxClkCmd    RCC_APB2PeriphClockCmd
  48.    
  49. #define  DEBUG_USART_TX_GPIO_PORT_SYN6288        GPIOB   
  50. #define  DEBUG_USART_TX_GPIO_PIN_SYN6288         GPIO_Pin_10
  51. #define  DEBUG_USART_RX_GPIO_PORT_SYN6288        GPIOB
  52. #define  DEBUG_USART_RX_GPIO_PIN_SYN6288         GPIO_Pin_11

  53. #define  DEBUG_USART_IRQ_SYN6288                 USART3_IRQn
  54. #define  DEBUG_USART_IRQHandler_SYN6288          USART3_IRQHandler



  55. void SYN6288_GPIO_Config ( void );
  56. void Usart_SendHalfWord( USART_TypeDef * pUSARTx, uint16_t ch);
  57. void SYN6288_Speech( USART_TypeDef * pUSARTx,char * str );
  58. void SYN688_USART_Config(void);
  59. void Usart_SYN6288_SendByte( USART_TypeDef * pUSARTx, uint8_t ch);
  60. void SYN_FrameInfo(char *HZdata);
  61. void Usart_SSYN6288_endString( USART_TypeDef * pUSARTx, char *str);
  62. /* 音量控制 */
  63. void Volinme(uint8_t Y_L);
  64. /* 語(yǔ)調(diào)控制 */
  65. void Intonation(uint8_t Y_L);
  66. /* 語(yǔ)速控制 */
  67. void Speed_pacing(uint8_t Y_L);
  68. /* 人控制 */
  69. void speed_man(uint8_t Y_L);
  70. #endif /*_SYN6288_H_*/
  71. /* End of File ------------------------------------------------------------- */



復(fù)制代碼
這里要在stm32f10x.it中添加中斷
  1. // 串口中斷服務(wù)函數(shù)
  2. void DEBUG_USART_IRQHandler_SYN6288(void)
  3. {
  4.   uint8_t ucCh;
  5.         if ( USART_GetITStatus ( DEBUG_USART_SYN6288, USART_IT_RXNE ) != RESET )
  6.         {
  7.                 ucCh  = USART_ReceiveData( DEBUG_USART_SYN6288 );
  8.                
  9.                 if ( strUSART_Fram_Record .InfBit .FramLength < ( RX_BUF_MAX_LEN - 1 ) )                       //預(yù)留1個(gè)字節(jié)寫結(jié)束符
  10.                            strUSART_Fram_Record .Data_RX_BUF [ strUSART_Fram_Record .InfBit .FramLength ++ ]  = ucCh;

  11.         }
  12.                   
  13.         if ( USART_GetITStatus( DEBUG_USART_SYN6288, USART_IT_IDLE ) == SET )                                         //數(shù)據(jù)幀接收完畢
  14.         {
  15.     strUSART_Fram_Record .InfBit .FramFinishFlag = 1;               
  16.                
  17.                 ucCh = USART_ReceiveData( DEBUG_USART_SYN6288 );                                                              //由軟件序列清除中斷標(biāo)志位(先讀USART_SR,然后讀USART_DR)        
  18.   }        
  19. }
復(fù)制代碼



如何使用語(yǔ)音播報(bào)
1.首先初始化
  1. //語(yǔ)音播報(bào)系統(tǒng)
  2.           SYN6288_GPIO_Config();
  3.           SYN688_USART_Config();
復(fù)制代碼
2.然后主函數(shù)中使用

  1. //APP2
  2. static void APP2_thread_entry(void* parameter)
  3. {               
  4.         rt_uint8_t key=0;
  5.         rt_uint8_t dispBuff[100];
  6.         rt_uint8_t t=0;        
  7.         rt_uint8_t *str=0;
  8.         while(1)
  9.         {

  10.           key=Remote_Scan();
  11.                         
  12.                 if(key)
  13.                 {        
  14.                 switch(key)
  15.                         {
  16.                                 case 162:
  17.                                                 //1
  18.                                                 str= "· time 10min·";
  19.                                                 munite = 10;
  20.                                                 hour=0;               
  21.                                                 second=0;
  22.                                     SYN6288_Speech(DEBUG_USART_SYN6288,"定時(shí)十分鐘");
  23.                                     
  24.             break;
  25.         
  26.         case 98:
  27.                                                 //2                                       
  28.                                           str= "· time 20min·";
  29.             munite = 20;
  30.                                                 hour=0;        
  31.                                                 second=0;
  32.                                     SYN6288_Speech(DEBUG_USART_SYN6288,"定時(shí)二十分鐘");
  33.             break;
  34.         
  35.         case 226://3
  36.                                          str= "· time 30min·";
  37.                                          munite = 30;
  38.                                         hour=0;        
  39.                                                 second=0;
  40.             SYN6288_Speech(DEBUG_USART_SYN6288,"定時(shí)三十分鐘");
  41.                                                 break;
  42.         
  43.         case 34://4
  44.                                          str= "· time 40min·";
  45.                                                 munite = 40;
  46.                                           hour=0;        
  47.                                     second=0;
  48.                                                 SYN6288_Speech(DEBUG_USART_SYN6288,"定時(shí)四十分鐘");
  49.             break;
  50.         
  51.         case 2://5
  52.                                          str= "· time 50min·";
  53.            munite = 50;
  54.                                          hour=0;
  55.                                          second=0;
  56.                                          SYN6288_Speech(DEBUG_USART_SYN6288,"定時(shí)五十分鐘");
  57.             break;
  58.         
  59.         case 194://6
  60.                                          str= "· time 60min·";
  61.            munite = 60;
  62.                                         hour=0;
  63.                                         second=0;
  64.                                         SYN6288_Speech(DEBUG_USART_SYN6288,"定時(shí)六十分鐘");
  65.             break;
  66.         
  67.         case 224://7
  68.                                          str= "· time 90min·";
  69.                                          hour = 1;
  70.            munite = 30;
  71.                                          second=0;
  72.                                    SYN6288_Speech(DEBUG_USART_SYN6288,"定時(shí)一個(gè)半小時(shí)");
  73.             break;
  74.         
  75.         case 168://8
  76.                                          str= "· time  2h ·";
  77.            hour = 1;
  78.                                         munite = 60;
  79.                                         second=0;
  80.                                         SYN6288_Speech(DEBUG_USART_SYN6288,"定時(shí)兩個(gè)小時(shí)");
  81.             break;
  82.         
  83.         case 144://9
  84.                                         SYN6288_Speech(DEBUG_USART_SYN6288,"定時(shí)三個(gè)小時(shí)");
  85.                                          str= "· time  3h ·";
  86.            hour = 2;
  87.                                                 munite = 60;
  88.                                                 second=0;
  89.                                    
  90.             break;
  91.         
  92.         case 152:
  93.                                          str= "detected code 0";
  94.             name();
  95.                                           
  96.             break;
  97.         
  98.         case 104:
  99.                                          str= "detected code *";
  100.            
  101.             break;
  102.         
  103.         case 176:
  104.                                          str= "detected code #";
  105.            
  106.             break;
  107.                
  108.         case 24:
  109.                                          str= "detected code ↑";
  110.          
  111.             break;
  112.                
  113.         case 16:
  114.                                          str= "detected code ←";
  115.             
  116.             break;
  117.         
  118.         case 74:
  119.                                           str= "detected code ↓";
  120.          
  121.             break;
  122.         
  123.         case 90:
  124.                                           str= "detected code →";
  125.             break;
  126.         
  127.         case 56:
  128.             str= "detected code OK ";
  129.             break;
  130.         
  131.         default:
  132.                                           str= "EMOURE";
  133.          
  134.             break;

  135.                         }
  136.                         Draw_Font16B(4,100,BRRED,str);        //顯示SYMBOL
  137.                         key = 0;
  138. //                        uwRet = rt_thread_resume(APP3_thread);/* 恢復(fù)APP3線程! */
  139. //                        if(RT_EOK == uwRet)
  140. //                        {
  141. //                                rt_kprintf("恢復(fù)APP3線程成功!\n");
  142. //                        }
  143. //                        else
  144. //                        {
  145. //                                rt_kprintf("恢復(fù)APP3線程失敗!失敗代碼:0x%lx\n",uwRet);
  146. //                        }
  147.                         
  148.                 }
  149.                
  150.         }

  151. }
復(fù)制代碼
Keil代碼下載: RT紅外定時(shí)器+語(yǔ)音提示 代碼.7z (625.98 KB, 下載次數(shù): 13)

評(píng)分

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

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久aⅴ乱码一区二区三区 亚洲欧美综合精品另类天天更新 | 国产成人综合av | 一区二区三区免费 | 亚洲成av人影片在线观看 | 粉嫩在线 | 色视频成人在线观看免 | 毛片免费看 | 欧美性猛交一区二区三区精品 | 久久久国产精品 | 亚洲精选一区二区 | 看毛片网站 | av免费网站在线观看 | 精品视频一区二区 | 欧美一区二区三区在线视频 | 天色综合网 | 国产一级毛片视频 | 99re6在线视频精品免费 | 国产免费一区二区 | 久久夜视频 | 国产成都精品91一区二区三 | 日韩区| 国产区在线观看 | 日韩视频精品在线 | 黄色一级大片在线免费看产 | 欧美一区中文字幕 | 国产免费一区二区三区网站免费 | 中文字幕欧美一区二区 | 久久久一区二区三区四区 | 日韩成人影院在线观看 | 久久精品99| 欧美久久一级特黄毛片 | www.av在线| 亚洲国产精品视频一区 | 99免费精品视频 | 国产午夜高清 | 97av视频在线 | 久久夜视频 | 日韩成人免费视频 | 粉色午夜视频 | 中文字幕av色 | 美日韩精品|