完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
void SpiInit(void) //SPI初始化函数
{ WDTCTL=WDTPW+WDTHOLD; BCSCTL1=CALBC1_1MHZ; DCOCTL=CALDCO_1MHZ; P2DIR|=BIT5; P1DIR|=BIT0+BIT5+BIT4+BIT7; P1DIR&=~BIT6; } #define RST_1 P2OUT |= BIT5 #define RST_0 P2OUT &= ~BIT5 #define NSS_1 P1OUT |= BIT4 #define NSS_0 P1OUT &= ~BIT4 #define SCK_1 P1OUT |= BIT5 #define SCK_0 P1OUT &= ~BIT5 #define MISO ((P1IN&BIT6)>>BIT6) #define MOSI_1 P1OUT |= BIT7 #define MOSI_0 P1OUT &= ~BIT7 /*SPI写函数*/ void SpiWrite(uchar data) { uchar i; SCK_0; NSS_0; for(i=0;i<8;i++) { if((data&0x80)==0x01) MOSI_1; else MOSI_0; __delay_cycles(1); SCK_1; data<<=1; __delay_cycles(1); SCK_0; } SCK_0; NSS_1; } uchar SpiRead(void) { uchar i; uchar RData=0x00; SCK_0; NSS_0; for(i=0;i<8;i++) { SCK_1; RData<<=1; RData|=MISO; SCK_0; } SCK_0; NSS_1; return(RData); } ///////////////////////////////////////////////////////////////////// //功 能:读RC632寄存器 //参数说明:Address[IN]:寄存器地址 //返 回:读出的值 ///////////////////////////////////////////////////////////////////// uchar ReadRawRC(uchar Address) { uchar ucAddr; uchar ucResult=0; NSS_0; ucAddr = ((Address<<1)&0x7E|0x80); SpiWrite(ucAddr); ucResult= SpiRead(); SpiWrite(0x00); ucResult=SpiRead(); NSS_1; return ucResult; } ///////////////////////////////////////////////////////////////////// //功 能:写RC632寄存器 //参数说明:Address[IN]:寄存器地址 // value[IN]:写入的值 ///////////////////////////////////////////////////////////////////// void WriteRawRC(uchar Address, uchar value) { uchar ucAddr; NSS_0; //NSS_1; ucAddr = ((Address<<1)&0x7E); SpiWrite(ucAddr); SpiWrite(value); NSS_1; } 读写RC522寄存器程序都不成功 |
|
相关推荐
1 个讨论
|
|
是时序的问题吗 用硬件SPI 也不行
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
2938个成员聚集在这个小组
加入小组2682 浏览 1 评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3005 浏览 2 评论
请问怎么把下面51单片机的代码改成msp430 g2 pocket的代码,还有改下时间变成30秒
2274 浏览 1 评论
4704 浏览 1 评论
2485 浏览 1 评论
952浏览 3评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3005浏览 2评论
2682浏览 1评论
1083浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-2 20:16 , Processed in 1.153912 second(s), Total 49, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191