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

📄 demo.c

📁 eCos/RedBoot for勤研ARM AnywhereII(4510) 含全部源代码
💻 C
字号:

#include "typDef.h"
#include "head.h"

#define uartDevInit
#define armUartWrite
#define armUartRead

extern int demo(void);

int main(void)
{
	while(1)
		demo();
	
	return 0;
}

/******************************************************
函数名称:       main()
函数功能:       这是一个demo程序,先循环点亮LED,依次点亮
				指定位置的LED.并从两个串行口打印信息.
				然后擦写flash.
				
入口参数:       number    指定位置的led.(0-7)
返 回 值:       无.
备    注:       
*******************************************************/
int demo(void)
{
    UINT16  i;
    char *pBuff = NULL;
    char datBuf[1024];
    UINT16 *pFlash;
    UINT16 *pTmp;

    ledAllOn();                //点亮GPIO上所有的led.
    delayMs(300);
    ledAllOff();               //熄灭GPIO上所有的led.
    
    ledRun(1);                //循环点亮10次led.
    ledAllOff();               //熄灭GPIO上所有的led.
    
    
    if(uartDevInit(0) == ERROR)
        return  ERROR;
        
    pBuff = "Hello From armAnyWhere UART0!\r\n";           
    armUartWrite(0, pBuff, 31);   			//从串口0打印信息.
    ledShine(0);

    if(uartDevInit(1) == ERROR)
        return  ERROR;
    pBuff = "Hello From armAnyWhere UART1!\r\n";    
    armUartWrite(1, pBuff, 31);   			//从串口1打印信息.
        
    pBuff = "请任意输入10测试字符:";           
    armUartWrite(0, pBuff, 21);   			//从串口0打印信息.
    armUartRead(0,datBuf, 10);
    datBuf[10] = '\r';
    datBuf[11] = '\n';
    armUartWrite(0, datBuf, 12);   			//从串口0打印信息.
  	
    ledShine(1);

	pBuff = "Now Erase flash....\r\n";
    armUartWrite(0, pBuff, 21);   			//从串口0打印信息.
#if 0	
	//if(amChipErase() != OK)                 //擦除整片flash.
	if(amSectorErase((UINT16 *)0x1100000) !=OK)         //擦除第一个扇区.
	{
		pBuff = "Erase flash failed!\r\n";
	    armUartWrite(0, pBuff, 21);   		//从串口0打印信息.
		return ERROR;
	}
#endif    
    ledShine(2);
	pBuff = "Erase flash OK!,Start flash write test...\r\n";
    armUartWrite(0, pBuff, 43);   			//从串口0打印信息.
#if 0	
    if(amWrite((UINT16 *)0x1100000, (UINT8 *)datBuf, 12) == NULL)          //从芯片首地址写数据.
    {
		pBuff = "Write failed!\r\n";
	    armUartWrite(0, pBuff, 15);   					//从串口0打印信息.
		return ERROR;
    }
#endif    
    ledShine(3);
    for(i=0; i<12;i++) datBuf[i] = 0x00;       			//清空缓冲区.
    
	pBuff = "Flash write successed!\r\n";
    armUartWrite(0, pBuff, 24);   						//从串口0打印信息.

	pBuff = "Read the Written data from flash: ";
    armUartWrite(0, pBuff, 34);   						//从串口0打印信息.

	pTmp = (UINT16 *)datBuf;
	pFlash = (UINT16 *)0x1100000;
	for(i=0; i<6; i++) *pTmp++ = *pFlash++;
    armUartWrite(0, datBuf, 12);   						//从串口0打印信息.
	
    return OK;
}

⌨️ 快捷键说明

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