main.c
来自「一个AT91SAM7X256 USART驱动实验」· C语言 代码 · 共 85 行
C
85 行
/**************************************************************************************************
*
* Copyright (C) ART Limited, 2006. All rights reserved.
*
* File: main.c
* Data: 2006.05.16
*
**************************************************************************************************/
#include "project.h"
// ----------------------------------------------------------------------------
// 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, WH ETHER 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 : interrupt_Usart.c
// Object : USART Interrupt Management
// Creation : JPP 08-Sep-2005
// ----------------------------------------------------------------------------
// Include Standard LIB files
#include "project.h"
// function in dbgu.c
extern void AT91F_DBGU_Printk(char *buffer);
extern void Init_DBGU(void);
// function in Uart0.c
extern void Init_Uart0(void);
//*--------------------------------------------------------------------------------------
//* Object : Software entry point
//* Input Parameters : none.
//* Output Parameters : none.
//*--------------------------------------------------------------------------------------
int main()
{
unsigned char val,True = 1;
unsigned int status;
AT91F_PMC_EnablePeriphClock ( AT91C_BASE_PMC, 1 << AT91C_ID_PIOA ) ;
//DBGU init
Init_DBGU();
//Display general purpose infos
AT91F_DBGU_Printk("\n\n\r-I- ======================================\n\r");
AT91F_DBGU_Printk("-I- AT91SAM7X256 Debug Unit Test OK!\n\r");
AT91F_DBGU_Printk("-I- --------------------------------------\n\n\n\r");
//初始化串口0 115200 n 8 1
AT91PS_USART COM0 = AT91C_BASE_US0;
Init_Uart0();
AT91F_DBGU_Printk("-I-COM0 Test OK!....\n\r");
AT91F_DBGU_Printk("-I-Change the serial port line to COM0 and Pressed the Keyboard....\n\r");
while(True)
{
//* get Usart status register
status = COM0->US_CSR;
while((status&1) == 0)
status = COM0->US_CSR;
val = COM0->US_RHR;
//* get Usart status register
status = COM0->US_CSR;
while((status&2) == 0)
status = COM0->US_CSR;
COM0->US_THR = val;
}
return 1;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?