• 大小: 5KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-05-18
  • 语言: 其他
  • 标签: STM32F407  6288  

资源简介

使用STM32F407开发板编写的6288语音模块测试程序,库函数编写

资源截图

代码片段和文件信息

#include “stm32f4xx.h“
#include “delay.h“

#define GIPOA_IDR ( GPIOA_base + 0X10) 
#define GIPOA_ODR ( GPIOA_base + 0X14)
#define GIPOB_IDR ( GPIOB_base + 0X10) 
#define GIPOB_ODR ( GPIOB_base + 0X14)
#define GIPOC_IDR ( GPIOC_base + 0X10) 
#define GIPOC_ODR ( GPIOC_base + 0X14)
#define GIPOD_IDR ( GPIOD_base + 0X10) 
#define GIPOD_ODR ( GPIOD_base + 0X14)        
#define BitBound(AddrBitNum) (*(volatile unsigned long*)(((Addr&0xF0000000)+0X2000000+((Addr&0xFFFFF)<<5)+(BitNum<<2))))
#define PAOut(n)        BitBound(GIPOA_ODRn)
#define PAIn(n)         BitBound(GIPOA_IDRn)
#define PBOut(n)        BitBound(GIPOB_ODRn)
#define PBIn(n)         BitBound(GIPOB_IDRn)
#define PCOut(n)        BitBound(GIPOC_ODRn)
#define PCIn(n)         BitBound(GIPOC_IDRn)
#define PDOut(n)        BitBound(GIPOD_ODRn)
#define PDIn(n)         BitBound(GIPOD_IDRn)
#define PA GPIOA->BSRRL 
#define PB GPIOB->BSRRL
#define PC GPIOC->BSRRL
#define PD GPIOD->BSRRL

#define BUSY   PBIn(12) 
#define init_success   0x4a
#define receive_success 0x41
#define receive__unknow  0x45
#define receive_state_busy    0x4e
#define receive_state_idle   0x4f

#define song_play_cmd    0x01
#define bond_set_cmd     0x31
#define stop_cmd         0x02
#define wait_cmd         0x03
#define recover_cmd      0x04
#define state_refer      0x21
#define power_down       0x88

uint16_t receive;
void Gpio_Config(void);
void USART_Config(void);
void NVIC_CFG(void);
void delay(uint8_t i);
void delay(uint8_t i);
void tend_Sound_data(uint8_t cmduint8_t cmd_parauint8_t *data);


int main(void)

 uint8_t ilenDATA[]=“[o0][t2]ABCDEFGHIJKLMN[y0]123456789“;
    uint16_t receive;
//开系统时钟

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3 ENABLE);
delay_init(168);
  Gpio_Config();
USART_Config();
//delay_init(168);


while(1)
{
tend_Sound_data(song_play_cmd0x09DATA);
delay_ms(10);
  while(BUSY);


}

}


void tend_Sound_data(uint8_t cmduint8_t cmd_parauint8_t *data)
{
  uint16_t data_lenyihuo=0idata_ldata_h;

  USART_SendData(USART30xfd);
delay_ms(3);
data_len=strlen(data)+3;
data_h=data_len>>8;
data_l=data_len&0xff;
USART_SendData(USART3data_h);
delay_ms(3);
USART_SendData(USART3data_l);

评论

共有 条评论