📄 main.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 + -