?? main.c
字號(hào):
// ----------------------------------------------------------------------------
// ATMEL Microcontroller Software Support - ROUSSET -
// ----------------------------------------------------------------------------
// DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
// DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
// OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// ----------------------------------------------------------------------------
// File Name : main.c
// Object : main application written in C
// Creation : FBr 22-Aug-2005
// ----------------------------------------------------------------------------
#include "main.h"
/* Global variables */
volatile char test = AT91C_TEST_NOK;
//*----------------------------------------------------------------------------
//* \fn AT91F_AES_Handler
//* \brief
//*----------------------------------------------------------------------------
void AT91F_AES_Handler(void)
{
volatile unsigned int status;
status = AT91F_AES_GetStatus(AT91C_BASE_AES) & AT91F_AES_GetInterruptMaskStatus(AT91C_BASE_AES) ;
AT91F_AES_DisableIt(AT91C_BASE_AES,status);
if(status & AT91C_AES_DATRDY){
test = AT91C_TEST_OK;
TRACE_DEBUG_L("=> DATRDY");
}
if(status & AT91C_AES_ENDRX){
test = AT91C_TEST_OK;
TRACE_DEBUG_H("=> ENDRX");
}
}
//*--------------------------------------------------------------------------------------
//* Function Name : Main
//* Object : Software entry point
//*--------------------------------------------------------------------------------------
void main()
{
////////////////////////////////////////////////////////////////////////////////////////////////////
// DBGU Init
/////////////////////////////////////////////////////////////////////////////////////////////////////
// Enable DBGU Clock
//AT91F_DBGU_CfgPMC(); // DBGU is always clocked
// Open PIO for DBGU
AT91F_DBGU_CfgPIO();
AT91F_US_Configure ((AT91PS_USART) AT91C_BASE_DBGU,
AT91C_MASTER_CLOCK,
AT91C_US_ASYNC_MODE, // mode Register to be programmed
AT91C_BAUDRATE_115200, // baudrate to be programmed
0); // timeguard to be programmed
// Enable Transmitter
AT91F_US_EnableTx((AT91PS_USART) AT91C_BASE_DBGU);
TRACE_INFO("\n\n\r======================================\n\r");
TRACE_INFO("AT91SAM7X Basic AES\n\r");
TRACE_INFO("======================================\n\r");
///////////////////////////////////////////////////////////////////////////////////////////
// Init AES
///////////////////////////////////////////////////////////////////////////////////////////
// Enable AES Clock
AT91F_AES_CfgPMC();
// Init AES Interrupt Source Level
AT91F_AIC_ConfigureIt(
AT91C_BASE_AIC, // AIC base address
AT91C_ID_AES, // AES ID
AT91C_AIC_PRIOR_HIGHEST, // Max priority
AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL, // Level sensitive
AT91F_AES_Handler);
AT91F_AIC_EnableIt(AT91C_BASE_AIC,AT91C_ID_AES);
///////////////////////////////////////////////////////////////////////////////////////////
// Enter Main Application
///////////////////////////////////////////////////////////////////////////////////////////
AT91F_BasicTestSuite();
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -