⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 基于keil 3环境下的lpc2132的pwm试验
💻 C
字号:
/****************************************Copyright (c)**************************************************
**		www.sanxinwork.net	
**				2007.5.30
**
** 	 	功能:使用UART0与计算机进行串口通信。
**
**		说明:将RXD,TXD短接。
**
********************************************************************************************************/

#include  <LPC213x.h> 
#include  "config.h" 
#include  "uart.h"
#include  "music.h"
#include  "flash.h"






/* 定义IAP返回状态字 */
#define     CMD_SUCCESS          0
#define     INVALID_COMMAND      1
#define     SRC_ADDR_ERROR       2 
#define     DST_ADDR_ERROR       3
#define     SRC_ADDR_NOT_MAPPED  4
#define     DST_ADDR_NOT_MAPPED  5
#define     COUNT_ERROR          6
#define     INVALID_SECTOR       7
#define     SECTOR_NOT_BLANK     8
#define     SECTOR_NOT_PREPARED_FOR_WRITE_OPERATION 9
#define     COMPARE_ERROR        10
#define     BUSY                 11




/* 定义函数指针 */

uint8 	tian[256];
/****************************************************************************
* 名称:DelayNS()
* 功能:长软件延时
* 入口参数:dly		延时参数,值越大,延时越久
* 出口参数:无
****************************************************************************/

void  DelayNS(uint32  dly)
{ 
	uint32  i;

   	for(; dly>0; dly--) 
     	for(i=0; i<5000; i++);
}


/****************************************************************************
* 名称:main()
* 功能:主函数
* 入口参数:
* 出口参数:
****************************************************************************/

void main ()
{	uint8  err,i;
	uint8 sand[48];
	
	UART0_Init(9600,8,1,0);			// 串口初始化
	//flash_int();    // 初始化函数指针IAP_Entry
    PWM_init();		//PWM初始化

	UART0_SendStr("欢迎使用sanxinwork-ARM开发板!\n");
	UART0_SendStr("UART实验成功——田飞锋");
  while(1)                      
   {
   //========================================================uart 实验	
	//UART0_GetStr(sand,16);			// 从串口接收字符串
//	DelayNS(10);
//	UART0_SendStr(sand);				// 向串口发送字符串
//	DelayNS(10);
   //========================================================

 /*
   //========================================================flash-iap 实验 
    i=ReadParID();                                    // 读器件ID
	zhuanhuan_uart(sand,i); 
	UART0_SendStr(sand);

    i=BootCodeID();                                   // 读Boot版本号   
    zhuanhuan_uart(sand,i); 
	UART0_SendStr(sand);

    SelSector(1,1);                                 // 选择扇区1
    EraseSector(1,1);                               // 擦除扇区1
    BlankCHK(1,1) ;                                 // 查空扇区1
   
    SelSector(1,1);                                 // 选择扇区1
    RamToFlash(0x00001000, *tian, 256);        // 写数据到扇区1 
    err = Compare(0x00001000, 0x40001000, 256);     // 比较数据
   
    if(err == CMD_SUCCESS)
    {	
		UART0_SendStr("flash实验成功——田飞锋");
    }
    else
    {
		UART0_SendStr("flash实验失败——田飞锋"); 
    }
//==============================================================PWM_music 实验
*/
      //zhuanhuan(Music_Girl);
      //zhuanhuan(Music_Two);
		zhuanhuan_music(Music_Two);
	   for(i = 0; i <SoundLength/2; i++)
        {
         	PWMMR0   = Fpclk /yinpin[music_table[i][0]][music_table[i][1]]; // 设置输出频率
			PWMLER   = 0x05;		    // 更新匹配值后,必须锁存
            Delay(yinfu[music_shijian[i]]);			// 延时,控制播放速度
        }
	  }

}







/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -