/*
*
*
* Created: 2015/9/8 19:55:29
* Author: LOVE
*/
/************************************************************************/
/* 常用头文件及宏定义*/
/************************************************************************/
#include <avr/>
#include <util/> //延时文件
#include <avr/> //睡眠文件
#include <avr/> //中断文件
#include <avr/> //eeprom
#define BIT(x) (1<<(x))
#define uchar unsigned char
#define uint unsigned int
/************************************************************************/
/* NRF24L01 */
/************************************************************************/
// PA0 CE PA1 CSN PA2 SCK PA3 MOSI PA4 MISO PA5 IQR
#define DDR_NRF2401 DDRB
#define PORT_NRF2401 PORTB
#define PIN_NRF2401 PINB
#define CE_H PORT_NRF2401|=BIT(0)
#define CE_L PORT_NRF2401&=~BIT(0)
#define CSN_H PORT_NRF2401|=BIT(1)
#define CSN_L PORT_NRF2401&=~BIT(1)
#define SCK PORT_NRF2401|=BIT(2),PORT_NRF2401&=~BIT(2)
#define MOSI_H PORT_NRF2401|=BIT(3)
#define MOSI_L PORT_NRF2401&=~BIT(3)
#define MISO_PIN (PIN_NRF2401&BIT(4))
#define IQR_PIN (PIN_NRF2401&BIT(5))
char a[3]={0};
uchar b[4]={0};
char read_peizhi(char dizhi)
{
CSN_L;
char i;
for (i=0;i<8;i++)
{
if (dizhi&BIT(7-i))
{
MOSI_H;
}
else
{
MOSI_L;
}
SCK;
}
dizhi=0;
for (i=0;i<8;i++)
{
_delay_us(10);
if (MISO_PIN)
{
dizhi+=BIT(7-i);
}
SCK;
}
CSN_H;
return dizhi;
}
void write_peizhi(char dizhi,char shuju)
{
char i;
CSN_L;
dizhi+=BIT(5);
for (i=0;i<8;i++)
{
if (dizhi&BIT(7-i))
{
MOSI_H;
}
else
{
MOSI_L;
}
SCK;
}
for (i=0;i<8;i++)
{
if (shuju&BIT(7-i))
{
MOSI_H;
}
else
{
MOSI_L;
}
SCK;
}
CSN_H;
}
void read_shuju(uchar n)
{
uchar i,j;
CSN_L;
for (i=0;i<8;i++)
{
if (0x61&BIT(7-i))
{
MOSI_H;
}
else
{
MOSI_L;
}
SCK;
}
for (j=0;j<n;j++)
{
a[j]=0;
for (i=0;i<8;i++)
{
_delay_us(10);
if (MISO_PIN)
{
a[j]+=BI
基于atmega16的遥控车遥控器设计 来自淘豆网m.daumloan.com转载请标明出处.