这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » SPI SPI使用请教

共4条 1/1 1 跳转至

SPI SPI使用请教

院士
2006-09-17 18:14:16     打赏
SPI SPI使用请教



关键词: 使用     请教    

院士
2006-12-22 22:43:00     打赏
2楼
问 本人在写一个SPI接口的程序,看到一个比较不错的读写一体的函数:
unsigned char SpiReadWrite(unsigned char val) using 0
{
unsigned char i;
  ACC = val;
  for (i = 8; i > 0; i --)
  {
     CY = MISO;//取数据SO
    _rlca_();     //存数据ACC.0读数据ACC.7同时进行  ??????????????????
    MOSI = CY;//送数据SI
    SCK = 1;//上升沿打入数据
    _nop_();
    SCK  = 0;//下降沿读入数据(首次为假动作)
  }
  return ACC;
}
我想问下,其中打问号的  _rlca_();   是和_nop_();一样在函数库里有的吗?
如果是的,那它的头文件名叫什么?
如果不是, 那_rlca_();在这应该怎么写??
非常感谢!    1: 郁闷 。。。。郁闷一个理偶的都没有。。。
大哥大姐大虾们,走过的路过的已经过去的将要过去的都过来瞧瞧!
帮帮偶吧 2: 请chunyang斑竹进来下急!

菜鸟
2006-12-26 01:58:00     打赏
3楼
test

菜鸟
2007-01-24 17:06:00     打赏
4楼

_rlca_(); 在C语言库函数是没有的,为为了模拟汇编语言的循环移位指令而定义的宏,它们的原形如下:

/*------------------------------------------------------------------*/
#define _rrca_() CY = ACC & 0x01 //产生RRC A指令
#define _rlca_() CY = ACC & 0x80 //产生RLC A指令
/*------------------------------------------------------------------*/
#define _rrcr_(RX) CY = RX & 0x01; RX = ACC //产生RRC RX指令
#define _rlcr_(RX) CY = RX & 0x80; RX = ACC //产生RLC RX指令
/*------------------------------------------------------------------*/


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]