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

📄 main.c

📁 达盛科技公司S3C2410基础实验源码
💻 C
字号:
/*
;************************************************************************************************************
;*									  北京精仪达盛科技有限公司
;*                                     	    研    发    部
;*
;*                                 	    http://www.techshine.com
;*
;*--------------------------------------------- 文件信息 ----------------------------------------------------                                      
;*
;* 文件名称 : MAIN.c	
;* 文件功能 : 所有应用程序的头文件均加在此文件中
;* 补充说明 : 
;*-------------------------------------------- 最新版本信息 -------------------------------------------------
;* 修改作者 : ARM开发小组
;* 修改日期 : 2004/04/25
;* 版本声明 : V1.0.1
;*-------------------------------------------- 历史版本信息 -------------------------------------------------
;* 文件作者 : ARM开发小组
;* 创建日期 : 2004/04/20
;* 版本声明 : v1.0.0
;*-----------------------------------------------------------------------------------------------------------
;*-----------------------------------------------------------------------------------------------------------
;************************************************************************************************************
;*/
#include "..\..\Gui\Init\GUI_Init.h"
#include "LCDDriver.h"
#include "target.h"
#include "2410LIB.h"
#include "2410addr.h"
#include "adc.h"

extern GUI_FONT GUI_Font8x16;
#define Length 320

/*
*************************************************************************************************************
- 函数名称 : ShowWave(short* buffer, int p)
- 函数说明 : 在LCD上面显示AD转换后的波形
- 输入参数 : buffer:显示缓冲,p : 缓冲区指针,指向显示的开始地址
- 输出参数 : 无
*************************************************************************************************************
*/
void ShowWave(short* buffer, int p, short* buffer2) 
{
    int i, j;
    j = 0;
    
    Set_Color(GUI_BLUE);
  	//Fill_Rect(0,0,319,239);
  	for (i = p - 1; i < Length; i++)
  	{
        Draw_Point(j, buffer2[i]);
        j++;
    }
    for (i = 0; i < p - 1; i++){
        Draw_Point(j, buffer2[i]);
        j++;
    }
  	
  	
  	Set_Color(GUI_RED);
    j = 0;
    for (i = p; i < Length; i++)
    {
        Draw_Point(j, buffer[i]);
        j++;
    }
    for (i = 0; i < p; i++)
    {
        Draw_Point(j, buffer[i]);
        j++;
    }
    Uart_Printf("%d\n", buffer[i]);
    
    
}

/*
*************************************************************************************************************
- 函数名称 : ShowWavebuffer(short* buffer)
- 函数说明 : 在LCD上面显示AD转换后的波形,single buffer 
- 输入参数 : buffer:显示缓冲
- 输出参数 : 无
*************************************************************************************************************
*/
void ShowWavebuffer(short* buffer) 
{
    int i, j;
    j = 0;

    Set_Color(GUI_BLUE);
  	Fill_Rect(0,0,319,239);
    Set_Color(GUI_RED);

    for (i = 0; i < Length; i++){
        Draw_Point(i, buffer[i]);
    }
    
    
}

/*
*************************************************************************************************************
- 函数名称 : Main(void)
- 函数说明 : 系统的主程序入口
- 输入参数 : 无
- 输出参数 : 无
*************************************************************************************************************
*/

void Main(void)
{
    int i, p = 0;
    unsigned short buffer[Length];
    unsigned short buffer2[Length];
    
 	Target_Init();
 	GUI_Init();
  	
  	Set_Color(GUI_BLUE);
  	Fill_Rect(0,0,319,239);
  	Set_Color(GUI_RED);
  	Draw_Line(0, 119, 319, 119);
	Set_Font(&GUI_Font8x16); 	              //设定字体类型API
	Set_Color(GUI_WHITE);
	Set_BkColor(GUI_BLUE);                    //设定背景颜色API	
	
	Fill_Rect(0,0,319,3);
	Fill_Rect(0,0,3,239);
	Fill_Rect(316,0,319,239);
	Fill_Rect(0,236,319,239);
									 
	Disp_String ("ADC DEMO",(320 - 8 * 8) / 2, 30); 
	
    for (i = 0; i < Length; i++)
        buffer[i] = 0;

    while (1)
    {
        p = 0;
        for (i=0; i<Length; i++)
        {
            buffer[p] = Get_AD(0);
            p++;
        }
        p = 0;
        for (i = 0; i < Length; i++){
            Uart_Printf("%d\n", buffer[p]);
            p++;
        }
        p = 0;
        for (i = 0; i < Length; i++){
            buffer[p] = AD2Y(buffer[p]);
            p++;
        }
        p = 0;
        for (i = 0; i < Length; i++){
            Uart_Printf("量化后:%d\n", buffer[p]);
            p++;
        }
        ShowWavebuffer(buffer);
        Delay(1000);
    } 
 
    
    
}

⌨️ 快捷键说明

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