?? main.c
字號:
/********************************************************************
/ **程序說明**
/SRAM配置成數據存儲空間,默認地址是從0x0000到0x03FF,
/下面的程序將對這個1KB的XDATA進行測試。
********************************************************************/
#include "reg24le1.h"
/*******************************************************************
/建立一個全局數組,可以存儲500個int類型的變量
********************************************************************/
int xdata dat[500]={0x00};
/********************************************************************
/函數名稱:delay()
/函數功能:根據輸入的參數的大小控制軟件延時的長度
/傳入參數:x,延時的時間數
/返回參數:無
********************************************************************/
void delay(unsigned int x)
{
unsigned char di;
for(;x>0;x--)
for(di=175;di>0;di--)
{
;
}
}
/********************************************************************
/函數名稱:IO_cof()
/函數功能:初始化nRF24LE1的I/O口和工作時鐘
/傳入參數:無
/返回參數:無
********************************************************************/
void IO_cof()
{
CLKCTRL=0X28;
CLKLFCTRL = 0x01;
P0CON=0X00;
P0DIR=0X00;
P1DIR=0X00;
P1CON=0X00;
}
/*******************************************************************
/函數名稱:uart_init()
/函數功能:nRF24LE1的串口初始化
/傳入參數:無
/返回參數:無
********************************************************************/
void uart_init()
{
P0DIR &= 0xF7; /* 配置P0.3 (TXD)為輸出 */
P0DIR |= 0x10; /* 設置P0.4 (RXD)為輸入 */
P0 |=0x18;
S0CON = 0x50;
PCON |= 0x80; /*配置波特率倍增 */
WDCON |= 0x80; /*選擇使用內部波特率發生器*/
S0RELL = 0xF3; /*設置波特率為38400 */
S0RELH = 0x03;
}
/********************************************************************
/函數名稱:send()
/函數功能:串口發送一個字符
/傳入參數:ch,發送的字符
/返回參數:無
*********************************************************************/
void send(char ch)
{
S0BUF=ch;
while(!TI0);
TI0=0;
}
/********************************************************************
/函數名稱:puts()
/函數功能:串口發送一個字符串
/傳入參數:s,指向想發送的字符串的指針
/返回參數:無
********************************************************************/
void puts(unsigned char* s)
{
while(*s!='\0')
{
send(*s++);
}
}
/*******************************************************************
/函數名稱:datainit()
/函數功能:初始化數組dat的500個數組成員
/傳入參數:無
/返回參數:無
********************************************************************/
void datainit(void)
{
int inum=0;
for(inum=0;inum<500;inum++)
dat[inum]=inum*2;
}
/********************************************************************
/主函數
********************************************************************/
void main(void)
{
int num;
IO_cof();
uart_init();
datainit();
delay(100);
puts("************************This Is A nRF24LE1 \
Ram Test Program***********************");
send('\n');
delay(100);
for(num=0;num<500;num++) /*利用循環在串口上顯示dat的成員數據*/
{
if((num%50)==0)
{
send('\n');
}
send(((dat[num]/100)+'0')); /*顯示dat數組成員的百位 */
delay(1);
send(((dat[num]%100)/10+'0')); /*顯示dat數組成員的千位 */
delay(1);
send((dat[num]%10)+'0'); /*顯示dat數組成員的個位 */
delay(1);
puts(" "); /*顯示每個dat數組成員之間的間隔 */
}
while(1); /*程序進入等待 */
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -