nrf24l01程序avr 硬件spi.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
nrf24l01程序avr 硬件spi

发送: //avr24l01.c #includeavr/io.h #define SS_port PORTB #define SS 0x10 #define CE_port PORTB #define CE_ddr DDRB #define CE 0x01 #define IRQ_port PORTB #define IRQ_ddr DDRB #define IRQ 0x02 #define CONFIG 0x00 #define EN_AA 0x01 #define EN_RXADDR 0x02 #define SETUP_AW 0x03 #define SETUP_RETR 0x04 #define RF_CH 0x05 #define RF_SETUP 0x06 #define STATUS 0x07 #define OBSERVE_TX 0x08 #define CD 0x09 #define RX_ADDR_P0 0x0a #define RX_ADDR_P1 0x0b #define RX_ADDR_P2 0x0c #define RX_ADDR_P3 0x0d #define RX_ADDR_P4 0x0e #define RX_ADDR_P5 0x0f #define TX_ADDR 0x10 #define RX_PW_P0 0x11 #define RX_PW_P1 0x12 #define RX_PW_P2 0x13 #define RX_PW_P3 0x14 #define RX_PW_P4 0x15 #define RX_PW_P5 0x16 #define FIFO_STATUS 0x17 unsigned char get_buf=0; unsigned char RX_ADDRESS[]={0x01,0x02,0x03,0x04,0x01}; unsigned char TX_ADDRESS[]={0x01,0x02,0x03,0x04,0x00}; void spi_io_init(void) { CE_ddr|=CE; CE_port=~CE; IRQ_ddr=~IRQ; IRQ_port|=IRQ; DDRB|=0xb0; DDRB=0xbf; PORTB=0x0f; } void spi_init(void) { spi_io_init(); SS_port|=SS; SPCR=0x51; SPSR=0x00; } unsigned char w_spi(unsigned char dat) { unsigned char return_buf=0; SPSR=0x7f; SPDR=dat; while((SPSR0x80)==0); return_buf=SPDR; return(return_buf); } unsigned char r_reg(unsigned char addr) { unsigned char return_buf=0; SS_port=~SS; w_spi(addr); return_buf=w_spi(0); SS_port|=SS; return(return_buf); } unsigned char w_reg(unsigned char addr,unsigned char dat) //return status { unsigned char return_buf=0; SS_port=~SS; return_buf=w_spi(addr+0x20); w_spi(dat); SS_port|=SS; return(return_buf); } unsigned char r_buf(unsigned char *rx_buf,unsigned char num) //return status { unsigned char return_buf=0; unsigned char count=0; SS_port=~SS; return_buf=w_spi(0x61); for(count=0;countnum;count++) rx_buf[count]=w_spi(0); SS_port|=SS; return(return_buf); } unsigned char w_buf(unsigned char addr,unsigned char *tx_buf,unsigned char num) { unsigned char return_buf=0; unsigned char count=0; SS_port=~S

文档评论(0)

cgtk187 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档