📄 main.c
字号:
#include "AT91SAM9261.h"
#include "lib_AT91SAM9261.h"
#include <string.h>
#define AT91C_BAUDRATE_115200 115200
#define AT91C_MASTER_CLOCK 99300000
#define AT91C_US_ASYNC_MODE ( AT91C_US_USMODE_NORMAL + \
AT91C_US_NBSTOP_1_BIT + \
AT91C_US_PAR_NONE + \
AT91C_US_CHRL_8_BITS + \
AT91C_US_CLKS_CLOCK )
void delay()
{
unsigned int i;
for(i=0;i<2000000;i++);
}
int AT91F_Putc(int ch)
{
while (!AT91F_US_TxReady((AT91PS_USART)AT91C_BASE_US1));
AT91F_US_PutChar((AT91PS_USART)AT91C_BASE_US1, (char)ch);
return ch;
}
int AT91F_Getc()
{
while(!AT91F_US_RxReady((AT91PS_USART)AT91C_BASE_US1));
return((int)AT91F_US_GetChar((AT91PS_USART)AT91C_BASE_US1));
}
void AT91F_US1_Printstr(char *strbuf)
{
while(*strbuf!='\0')
{
while(!AT91F_US_TxReady((AT91PS_USART)AT91C_BASE_US1));
AT91F_US_PutChar((AT91PS_USART)AT91C_BASE_US1,*strbuf++);
}
while(!((AT91C_BASE_US1->US_CSR) & AT91C_US_TXEMPTY) );
}
int main()
{
char ch[]="my usart test!!!";
char ch1[]={0x0d,0x0a,'\0'};
AT91F_US1_CfgPMC ();
AT91F_US1_CfgPIO ();
AT91F_US_Configure(AT91C_BASE_US1,
AT91C_MASTER_CLOCK,
AT91C_US_ASYNC_MODE,
AT91C_BAUDRATE_115200,
0);
AT91F_US_ResetRx((AT91PS_USART) AT91C_BASE_US1);
AT91F_US_ResetTx((AT91PS_USART) AT91C_BASE_US1);
while(1)
{
char c1='a';
int c=0x31;
/* *AT91C_PIOA_PER=0x00018000;
*AT91C_PIOA_OER=0x00018000;
*AT91C_PIOA_PPUDR=0x00018000;
*AT91C_PIOA_CODR=0x00018000;//全亮*/
AT91F_Putc(c1);
AT91F_Putc(c);
c1=AT91F_Getc();
AT91F_Putc(c1);
AT91F_Putc(c);
AT91F_US1_Printstr(ch);
AT91F_US1_Printstr(ch1);
/* *AT91C_PIOA_SODR=0x00018000;//全灭*/
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -