实验三个文档:
蜂鸣器驱动:
1.5KHZ-5KHZ之间,我们取5KHZ
也就是高低点平各100um,周期为200um的方波

LED1还是GPIO68管脚
蜂鸣器管脚GPIO6
蜂鸣器驱动:
beep.c
/*
 * heep.c
 *
 *  Created on: 2024年8月4日
 *      Author: Administrator
 */
#include<beep.h>
void LED_Init(void)
{
	EALLOW;//关闭写保护
	SysCtrlRegs.PCLKCR3.bit.GPIOINENCLK = 1;    // 开启GPIO时钟
	//LED1端口配置
	GpioCtrlRegs.GPCMUX1.bit.GPIO68=0;//设置为通用GPIO功能
	GpioCtrlRegs.GPCDIR.bit.GPIO68=1;//设置GPIO方向为输出
	GpioCtrlRegs.GPCPUD.bit.GPIO68=0;//使能GPIO上拉电阻
	GpioDataRegs.GPCSET.bit.GPIO68=1;//设置GPIO输出高电平
	EDIS;//开启写保护
}
void BEEP_Init(void)
{
	EALLOW;//关闭写保护
	SysCtrlRegs.PCLKCR3.bit.GPIOINENCLK = 1;    // 开启GPIO时钟
	//LED1端口配置
	GpioCtrlRegs.GPAMUX1.bit.GPIO6=0;//设置为通用GPIO功能
	GpioCtrlRegs.GPADIR.bit.GPIO6=1;//设置GPIO方向为输出
	GpioCtrlRegs.GPAPUD.bit.GPIO6=0;//使能GPIO上拉电阻
	GpioDataRegs.GPCSET.bit.GPIO68=1;//设置GPIO输出高电平
	EDIS;//开启写保护
}
beep.h
/*
 * beep.h
 *
 *  Created on: 2024年8月4日
 *      Author: Administrator
 */
#ifndef BEEP_H_
#define BEEP_H_
#include "DSP2833x_Device.h"     // DSP2833x Headerfile Include File
#include "DSP2833x_Examples.h"   // DSP2833x Examples Include File
#define LED1OFF (GpioDataRegs.GPCSET.bit.GPIO68=1)
#define LED1ON (GpioDataRegs.GPCCLEAR.bit.GPIO68=1)
#define LED1TOGGLE (GpioDataRegs.GPCTOGGLE.bit.GPIO68=1)
#define BEEPOFF (GpioDataRegs.GPASET.bit.GPIO6=1)
#define BEEPON (GpioDataRegs.GPACLEAR.bit.GPIO6=1)
#define BEEPTOGGLE (GpioDataRegs.GPATOGGLE.bit.GPIO6=1)
void BEEP_Init(void);
void LED_Init(void);
#endif /* BEEP_H_ */
主函数:
main.c
/*
 * main.c
 *
 *  Created on: 2018-3-21
 *  Author: Administrator
 */
#include "DSP2833x_Device.h"     // DSP2833x Headerfile Include File
#include "DSP2833x_Examples.h"   // DSP2833x Examples Include File
#include<beep.h>
/*******************************************************************************
* 函 数 名         : main
* 函数功能		   : 主函数
* 输    入         : 无
* 输    出         : 无
*******************************************************************************/
void main()
{
	InitSysCtrl();//系统时钟初始化,默认已开启F28335所有外设时钟
	LED_Init();
	BEEP_Init();
	int i=0 ;
	while(1)
	{
		i++;
		if(i==1000)
		{
			i=0;
			LED1TOGGLE;
		}
			BEEPTOGGLE;//设置GPIO输出翻转信号
		DELAY_US(100);
	}
}
实验视频如下:
TMA32F28335的蜂鸣器实验



















