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

📄 main.c

📁 ARM串口驱动 ARM芯片为LM6938,系统为ucos
💻 C
字号:

#include <includes.h>

/*********************************************************************************************************
  CONSTANTS 常量
*********************************************************************************************************/

/*********************************************************************************************************
  VARIABLES 变量
*********************************************************************************************************/
static OS_STK  Task_StartStk[TASK_START_STK_SIZE];                      /*  The stack of start task     */
                                                                        /*  启动任务的堆栈              */
static OS_STK  Task_UART0SendStk[TASK_UART0_SEND_STK_SIZE]; 

/*********************************************************************************************************
   FUNCTION PROTOTYPES 函数声明
*********************************************************************************************************/
static void taskStart (void  *parg);                                    /*  The start task  启动任务    */
static void taskUART0Send (void  *parg);

/*********************************************************************************************************
** Function name:           main	   
** Descriptions:            uC/OS移植模板	
** input parameters:        无
** output parameters:       无      
** Returned value:          无 
** Created by:				Steven Zhou 周绍刚
** Created Date:			2007.01.18
**--------------------------------------------------------------------------------------------------------
** Modified by:             Ni Likao 倪力考
** Modified date:           2007.10.29
**-------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
int main (void)
{
    intDisAll();                                                        /* Disable all the interrupts   */
                                                                        /* 关闭所有中断                 */

    OSInit();                                                           /*  Initialize the kernel of uC */
                                                                        /*  OS-II 初始化uC/OS-II的内核  */

    OSTaskCreate ( taskStart,                                          
		           (void *)0, 
				   &Task_StartStk[TASK_START_STK_SIZE-1], 
				   TASK_START_PRIO );                                   /*  Initialize the start task   */
                                                                        /*  初始化启动任务              */  
    OSStart();                                                          /*  Start uC/OS-II 启动uC/OS-II */
    return(0) ;
}

/*********************************************************************************************************
** Function name:           Task_Start	   
** Descriptions:            Start task	
** input parameters:        *p_arg
** output parameters:       无      
** Returned value:          无 
** Created by:				Steven Zhou 周绍刚
** Created Date:			2007.01.18
**--------------------------------------------------------------------------------------------------------
** Modified by:             Ni Likao 倪力考
** Modified date:           2007.10.29
**-------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
static  void  taskStart (void  *parg)
{   
    (void)parg;
    targetInit();  
	  UART0Init();                                                     /*  Initialize the target's MCU */
    UART0BufInit();
	                                                                    /*  初始化目标单片机            */
    #if OS_TASK_STAT_EN > 0
        OSStatInit();                                                   /*  Enable statistics           */
                                                                        /*  使能统计功能                */
    #endif

    /*
     *  Create the other tasks here. 在这里创建其他任务
     */
	OSTaskCreate (taskUART0Send, (void *)0,   		
			          &Task_UART0SendStk[TASK_UART0_SEND_STK_SIZE-1], 
				        TASK_UART0_SEND_PRIO);                                       /*  初始化taskLed任务           */  	
			        
    while (1) {                             
          OSTaskSuspend(OS_PRIO_SELF);                                    /*  The start task can be pended*/
                                                                        /*  here. 启动任务可在这里挂起  */
    }
}

/*********************************************************************************************************
  The other tasks 其他任务
*********************************************************************************************************/
/*
 *  Add the other tasks here . 在这里增加其他任务
 */

/*********************************************************************************************************
** Function name:           taskLed	   
** Descriptions:            LED 任务	
** input parameters:        *parg
** output parameters:       无      
** Returned value:          无	 
** Created by:			    Steven Zhou 周绍刚
** Created Date:		    2007.01.18
**--------------------------------------------------------------------------------------------------------
** Modified by:             Ni Likao 倪力考
** Modified date:           2007.11.01
**--------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
static  void  taskUART0Send (void  *parg)
{
    INT8U err;
    (void)parg;
    
    while (1) {
    	OSSemPend(UART0_BUF.UART0Transformed,0,&err);
    	ledOn(1);
	    UART0_BUF.UART0TxBuf[0]=0x99;
		  UART0_BUF.UART0TxBuf[1]=0x98;
		  UART0_BUF.UART0TxBuf[2]=0x97;
		  UART0_BUF.UART0TxBuf[3]=0x96;
		  UART0_BUF.UART0TxBufCtr=4;
		  UART0Send();
		            					                            /*  点亮LED1                    */          	
		  //OSTimeDly(OS_TICKS_PER_SEC / 2); 			                    /*  延时0.5秒                   */               	
		  ledOff(1);                                                      /*  关闭LED1                    */           	
		  OSTimeDly(OS_TICKS_PER_SEC / 2);  		                        /*  延时0.5秒                   */			
	}
}

/*********************************************************************************************************
  END FILE
*********************************************************************************************************/

⌨️ 快捷键说明

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