📄 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 + -