资源简介
使用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);
相关资源
- stm32f407上的两个can发送和接收例程
- FreeModbus_Slave+STM32F407+USART2代码亲测可
- STM32F407 串口配置 串口1~6 六串口同时
- STM32F407_6个串口同时使用的代码
- STM32F407实时时钟_DS1302实时时钟模块和
- stm32f407读写flash的demo,基于正点原子
- 基于STM32F407的视频采集与传输系统设
- STM32F407ZG_ESP8266例程
- Keil5下的STM32F407程序
- USART基于hal库stm32f407串口通讯.rar
- 完整的STM32F407_MODBUS通信工程代码。
- STM32指针式时钟工程项目
- stm32f407和摇杆制作的控制手柄代码
- STM32F407. 基于PID速度环的步进电机速度
- STM32F407 基于232或485的57&42;步进电机旋
- STM32F407与OV2640的二维码识别实验
- stm32f407+ov5640颜色识别与追踪
- NRF24L01收发程序STM32F407
- uCOS-III+STemWin+Fatfs+usb在STM32F407上成功移
- STM32F407串口1-6 CAN1&2测试例程
- 基于STM32F407的MLX90614驱动程序(寄存器
- stm32f405/stm32f407单片机nrf24l01无线通信
- 基于STM32F407的漏电检测系统
- STM32F407ZG接入ONENET平台代码
- STM32F407 SD卡IAP升级
- 基于stm32f407芯片双ADC多通道开启AD转换
- STM32F407ZET/ZGT STEMWIN ILI9341 SPI LCD液晶屏
- stm32f407对ds18b20温度传感器数据的采集
- STM32F407_OLED显示
- iCore3STM32F407 + FPGA双核心工控板硬件设
评论
共有 条评论