#include "parallel.h"
#include "SPI.h"
#include "globals.h"
#define DBG 0
unsigned char temp;
unsigned int DUMMYREAD = 0;
unsigned int mask = 0x80;
/*
=======================================================================================================================
=======================================================================================================================
*/
void PARset(void)
{
EnableSet;
TRFDirOUT; /* P4 output */
TRFFunc;
TRFWrite = 0x00; /* P4 set to 0 - choose parallel inteface for the TRF796x */
clkOFF;
clkPOUTset; /* DATA_CLK on P3.3 */
irqPINset;
irqEDGEset; /* rising edge interrupt */
LEDallOFF;
LEDportSET;
} /* PARset */
/*
=======================================================================================================================
=======================================================================================================================
*/
void STOPcondition(void)
{
TRFWrite |= 0x80; /* stop condition */
clkON;
TRFWrite = 0x00;
clkOFF;
} /* STOPcondition */
/*
=======================================================================================================================
=======================================================================================================================
*/
void STOPcont(void)
{ /* stop condition for continous mode */
TRFWrite = 0x00;
TRFDirOUT;
TRFWrite = 0x80;
__no_operation();
TRFWrite = 0x00;
} /* STOPcond */
/*
=======================================================================================================================
=======================================================================================================================
*/
void STARTcondition(void)
{
TRFWrite = 0x00;
clkON;
TRFWrite = 0xff;
clkOFF;
} /* STARTcondition */
///////////////////////////////////////////////////////////////
void SPIStartCondition(void)
{
//Make the SCLK High
P3SEL &= ~ BIT3;
P3DIR |= BIT3;
P3OUT |= BIT3; //Make SCLK High
//Revert back
//P3SEL |= BIT3;
}
///////////////////////////////////////////////////////////////
void SPIStopCondition(void)
{
//Make the SCLK Low
P3SEL &= ~ BIT3;
P3OUT &= ~BIT3; //Make SCLK Low
P3DIR |= BIT3;
P3OUT &= ~BIT3; //Make SCLK Low
//Revert back
//P3SEL |= BIT3;
}
///////////////////////////////////////////////////////////////
/*
=======================================================================================================================
Function writes only one register or a multiple number ;
of registers with specified addresses ;
=======================================================================================================================
*/
void WriteSingle(unsigned char *pbuf, unsigned char lenght)
{
/*~~~~~~~~~~~~~~*/
unsigned char i;
/*~~~~~~~~~~~~~~*/
if ((SPIMODE)==0) //Parallel Mode
{
STARTcondition();
while(lenght > 0)
{
*pbuf = (0x1f &*pbuf); /* register address */
/* address, write, single */
for(i = 0; i < 2; i++)
{
TRFWrite = *pbuf; /* send command and data */
clkON;
clkOFF;
pbuf++;
lenght--;
}
} /* while */
STOPcondition();
} //end of Parallel mode
/*********************************************************/
if (SPIMODE) //SPI Mode
{
#ifndef SPI_BITBANG
/*********************************/
/* Start of Hardware SPI Mode */
/*********************************/
SlaveSelectLOW; //Start SPI Mode
while(lenght > 0)
{
*pbuf = (0x1f &*pbuf); /* register address */
for(i = 0; i < 2; i++)
{
while (!(IFG2 & UCB0TXIFG)); // USCI_B0 TX buffer ready?
UCB0TXBUF = *pbuf; // Previous data to TX, RX
// while (!(IFG2 & UCB0RXIFG));
temp=UCB0RXBUF;
pbuf++;
lenght--;
}
} /* while */
SlaveSelectHIGH; //Stop SPI Mode
#endif
} //end of SPI mode
} /* WriteSingle */
/*
=======================================================================================================================
Function writes a specified number of registers from ;
a specified address upwards ;
=======================================================================================================================
*/
void WriteCont(unsigned char *pbuf, unsigned char lenght)
{
/*~~~~~~~~~~~~~~*/
/*~~~~~~~~~~~~~~*/
if ((SPIMODE)==0) //Parallel Mode
{ STARTcondition();
*pbuf = (0x20 | *pbuf); /* address, write, continous */
*pbuf = (0x3f &*pbuf); /* register address */
while(lenght > 0)
{
TRFWrite = *pbuf; /* send command */
clkON;
clkOFF;
pbuf++;
lenght--;
} /* while */
STOPcont();
} //end of Parallel Mode
if (SPIMODE)
{
#ifndef SPI_BITBANG
/*********************************/
/* Start of Hardware SPI Mode */
/*********************************/
SlaveSelectLOW; //Start SPI Mode
*pbuf = (0x20 | *pbuf); /* address, write, continous */
*pbuf = (0x3f &*pbuf); /* register address */
while(lenght > 0)
{
while (!(IFG2 & UCB0TXIFG)); // USCI_B0 TX buffer ready?
UCB0TXBUF = *pbuf; // Previous data to TX, RX
while (!(IFG2 & UCB0RXIFG));
temp=UCB0RXBUF;
pbuf++;
lenght--;
} /* while */
SlaveSelectHIGH; //Stop SPI Mode
#endif
} //end of SPI mode
} /* WriteCont */
/*
=======================================================================================================================
Function reads only one register ;
=======================================================================================================================
*/
void ReadSingle(unsigned char *pbuf, unsigned char lenght)
{
/*~~~~~~~~~~~~~~*/
/*~~~~~~~~~~~~~~*/
if ((SPIMODE)==0)
{
STARTcondition();
while(lenght > 0)
{
*pbuf = (0x40 | *pbuf); /* address, read, single */
*pbuf = (0x5f &*pbuf); /* register address */
TRFWrite = *pbuf; /* send command */
clkON;
clkOFF;
TRFDirIN; /* read register */
clkON;
__no_operation();
*pbuf = TRFRead;
clkOFF;
TRFWrite = 0x00;
TRFDirOUT;
pbuf++;
lenght--;
} /* while */
STOPcondition();
} //end of parallel mode
/**************************************************************/
if (SPIMODE) //SPI Mode
{
#ifndef SPI_BITBANG
没有合适的资源?快使用搜索试试~ 我知道了~
TRF7960_demo.zip_TRF7960_demo_trf7960
共304个文件
prefs:15个
c:11个
xml:10个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 154 浏览量
2022-09-14
17:31:04
上传
评论
收藏 414KB ZIP 举报
温馨提示
RFID demo software written using TIs code composer studio. I hope you ll like it :)
资源推荐
资源详情
资源评论
收起资源包目录
TRF7960_demo.zip_TRF7960_demo_trf7960 (304个子文件)
0009b64f4930001f1ed5aaa30f6d87f5 0B
0042b0384b30001f1ed5aaa30f6d87f5 4KB
004c1b1f4a30001f1ed5aaa30f6d87f5 2KB
004f11ae4930001f1ed5aaa30f6d87f5 0B
005a7bd84a30001f1ed5aaa30f6d87f5 2KB
006995c04830001f1ed5aaa30f6d87f5 0B
00c013ae4930001f1ed5aaa30f6d87f5 0B
00f2e72f4930001f1ed5aaa30f6d87f5 0B
00f82b5d4a30001f1ed5aaa30f6d87f5 8KB
0142b0384b30001f1ed5aaa30f6d87f5 267B
1021a6954a30001f1ed5aaa30f6d87f5 18KB
102cfa9f4a30001f1ed5aaa30f6d87f5 2KB
1037e32f4930001f1ed5aaa30f6d87f5 2KB
10ae90c04830001f1ed5aaa30f6d87f5 7KB
10bc1e9c4930001f1ed5aaa30f6d87f5 0B
10bfb34f4930001f1ed5aaa30f6d87f5 7KB
10f8ad384b30001f1ed5aaa30f6d87f5 9KB
1121a6954a30001f1ed5aaa30f6d87f5 188B
1137e32f4930001f1ed5aaa30f6d87f5 7KB
1221a6954a30001f1ed5aaa30f6d87f5 4KB
1321a6954a30001f1ed5aaa30f6d87f5 267B
1421a6954a30001f1ed5aaa30f6d87f5 2KB
1521a6954a30001f1ed5aaa30f6d87f5 8KB
20011a9c4930001f1ed5aaa30f6d87f5 279B
2004af4f4930001f1ed5aaa30f6d87f5 2KB
2009464f4930001f1ed5aaa30f6d87f5 2KB
200bdc2f4930001f1ed5aaa30f6d87f5 3KB
20223c914830001f1ed5aaa30f6d87f5 0B
205684c34930001f1ed5aaa30f6d87f5 3KB
2060781f4a30001f1ed5aaa30f6d87f5 0B
20648ec04830001f1ed5aaa30f6d87f5 279B
208289c04830001f1ed5aaa30f6d87f5 200B
2083f30d4a30001f1ed5aaa30f6d87f5 279B
208cd3d84a30001f1ed5aaa30f6d87f5 0B
2090179c4930001f1ed5aaa30f6d87f5 200B
20eb1b3c4a30001f1ed5aaa30f6d87f5 2KB
20ede02f4930001f1ed5aaa30f6d87f5 279B
20fdd5d84a30001f1ed5aaa30f6d87f5 0B
21011a9c4930001f1ed5aaa30f6d87f5 2KB
21223c914830001f1ed5aaa30f6d87f5 0B
215684c34930001f1ed5aaa30f6d87f5 279B
21648ec04830001f1ed5aaa30f6d87f5 2KB
218289c04830001f1ed5aaa30f6d87f5 3KB
2190179c4930001f1ed5aaa30f6d87f5 3KB
21fdd5d84a30001f1ed5aaa30f6d87f5 0B
22011a9c4930001f1ed5aaa30f6d87f5 7KB
3039f10d4a30001f1ed5aaa30f6d87f5 3KB
303cfead4930001f1ed5aaa30f6d87f5 7KB
304e414f4930001f1ed5aaa30f6d87f5 4KB
306737914830001f1ed5aaa30f6d87f5 0B
3067a54f4930001f1ed5aaa30f6d87f5 200B
309a59b84930001f1ed5aaa30f6d87f5 200B
309b7fc34930001f1ed5aaa30f6d87f5 7KB
30ad00ae4930001f1ed5aaa30f6d87f5 0B
30c1d92f4930001f1ed5aaa30f6d87f5 200B
30c8ee0d4a30001f1ed5aaa30f6d87f5 7KB
3167a54f4930001f1ed5aaa30f6d87f5 3KB
319a59b84930001f1ed5aaa30f6d87f5 3KB
3267a54f4930001f1ed5aaa30f6d87f5 279B
329a59b84930001f1ed5aaa30f6d87f5 279B
339a59b84930001f1ed5aaa30f6d87f5 2KB
349a59b84930001f1ed5aaa30f6d87f5 7KB
40086a1f4a30001f1ed5aaa30f6d87f5 0B
4010f7ad4930001f1ed5aaa30f6d87f5 279B
402c8e954a30001f1ed5aaa30f6d87f5 4KB
40796c1f4a30001f1ed5aaa30f6d87f5 0B
409b165d4a30001f1ed5aaa30f6d87f5 2KB
40b9115d4a30001f1ed5aaa30f6d87f5 4KB
40e59a384b30001f1ed5aaa30f6d87f5 2KB
4110f7ad4930001f1ed5aaa30f6d87f5 2KB
412c8e954a30001f1ed5aaa30f6d87f5 267B
5020e0254b30001f1ed5aaa30f6d87f5 0B
5055f2ad4930001f1ed5aaa30f6d87f5 200B
507189954a30001f1ed5aaa30f6d87f5 8KB
5079c0d84a30001f1ed5aaa30f6d87f5 0B
5155f2ad4930001f1ed5aaa30f6d87f5 3KB
601644b84930001f1ed5aaa30f6d87f5 3KB
60176ac34930001f1ed5aaa30f6d87f5 2KB
601b08e94a30001f1ed5aaa30f6d87f5 4KB
602574c04830001f1ed5aaa30f6d87f5 277B
6033029c4930001f1ed5aaa30f6d87f5 3KB
60436fc04830001f1ed5aaa30f6d87f5 7KB
604db9d84a30001f1ed5aaa30f6d87f5 18KB
6065db254b30001f1ed5aaa30f6d87f5 0B
60aa05e94a30001f1ed5aaa30f6d87f5 8KB
60b471c04830001f1ed5aaa30f6d87f5 3KB
60b5db0d4a30001f1ed5aaa30f6d87f5 2KB
60d6dd254b30001f1ed5aaa30f6d87f5 0B
60e84d874930001f1ed5aaa30f6d87f5 200B
60eb695d4a30001f1ed5aaa30f6d87f5 0B
611644b84930001f1ed5aaa30f6d87f5 279B
6133029c4930001f1ed5aaa30f6d87f5 279B
614db9d84a30001f1ed5aaa30f6d87f5 188B
61e84d874930001f1ed5aaa30f6d87f5 3KB
61eb695d4a30001f1ed5aaa30f6d87f5 0B
624db9d84a30001f1ed5aaa30f6d87f5 4KB
62e84d874930001f1ed5aaa30f6d87f5 279B
634db9d84a30001f1ed5aaa30f6d87f5 267B
63e84d874930001f1ed5aaa30f6d87f5 2KB
644db9d84a30001f1ed5aaa30f6d87f5 2KB
共 304 条
- 1
- 2
- 3
- 4
资源评论
Kinonoyomeo
- 粉丝: 77
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 适用于tensorflow-2.11.0 CUDA版本11.2的cuDNN8.1版本
- 5Y study学习平台2016计算机基础-综合测试(8)_哔哩哔哩_bilibili_2580252704.mp4
- (大赛作品)STM32实现的F072RB NUCLEO智能家居控制.zip
- STM32实现的数字示波器源码+数字信号处理教程、配套实例.zip
- 【cookie续续】【cookie续续】【cookie续续】
- 低功耗STM32实现的F411开发板(原理图+PCB源文件+官方例程+驱动等).zip
- 基于stm32实现的 nucleo-L476的智能灯(操作说明+源码).zip
- 基于STM32实现的 NUCLEO板设计彩色LED照明灯(纯cubeMX开发).zip
- 基于STM32实现的 的联合调试侦听设备解决方案(原理图、PCB源文件、调试工具、视频).zip
- 基于STM32实现的 人群定位、调速智能风扇设计(程序、设计报告、视频演示).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功