×
单片机 > 单片机程序设计 > 详情

PIC32单片机harmony开发环境 - uart例程和代码分析

发布时间:2024-05-17 发布时间:
|

开发环境:mplab 3.45 harmony 1.09 xc32 1.42


源代码下载:/zixunimg/eeworldimg/download.csdn.net/detail/zn2857/9712707


源代码分析:


void APP_Tasks ( void )

{

/* Check the application's current state. */

switch ( appData.state )

{

/* Application's initial state. */

case APP_STATE_INIT:

{

bool appInitialized = true;

if (appInitialized)

{

/* Open the USART Driver for USART1 Client */

appData.drvUartHandle = DRV_USART_Open( DRV_USART_INDEX_0,DRV_IO_INTENT_READWRITE );

appData.state = APP_STATE_CHECK_DRVR_STATE;

}

break;

}

case APP_STATE_CHECK_DRVR_STATE:

{

/* Check the USART1 driver handler */

if (appData.drvUartHandle == DRV_HANDLE_INVALID )

{

/* Set the uart state to Ready */

appData.state = APP_STATE_INIT;

return;

}

DRV_USART_ByteReceiveCallbackSet(DRV_USART_INDEX_0, (DRV_USART_BYTE_EVENT_HANDLER)Uart_LoopBack);

appData.state = APP_STATE_IDLE;

break;

}

case APP_STATE_SERVICE_TASKS:

{

uint8_t numBytes = 0;

while( numBytes < 1 )

{

numBytes++;

if( !(DRV_USART_TRANSFER_STATUS_TRANSMIT_FULL & DRV_USART_TransferStatus(appData.drvUartHandle)) )

{

DRV_USART_WriteByte(appData.drvUartHandle, temp);

}

}

appData.state = APP_STATE_IDLE;

break;

}

case APP_STATE_IDLE:

{

break;

}

/* TODO: implement your application state machine.*/

/* The default state should never be executed. */

default:

{

/* TODO: Handle error in application's state machine. */

break;

}

}

}


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
C51 特殊功能寄存器SFR的名称和地址