3093|5

7

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

TI SPI 总线 [复制链接]

TI  spi总线实用程序怎么写

最新回复

#define DAC_SCLK GPIO_PIN_3 #define DAC_SYNC GPIO_PIN_4 #define DAC_DIN  GPIO_PIN_2 #define OFF      0 void IO_Init(void) {         SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);         GPIOPinTypeGPIOOutput(GPIO_PORTA_BASE, GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4);         DAC_SCLK_0();         DAC_SYNC_0();     DAC_DIN_0(); } void DAC_SCLK_1(void) {         GPIOPinWrite(GPIO_PORTA_BASE,DAC_SCLK ,DAC_SCLK); } void DAC_SCLK_0(void) {         GPIOPinWrite(GPIO_PORTA_BASE,DAC_SCLK ,OFF); } void DAC_SYNC_1(void) {         GPIOPinWrite(GPIO_PORTA_BASE,DAC_SYNC,DAC_SYNC); } void DAC_SYNC_0(void) {         GPIOPinWrite(GPIO_PORTA_BASE,DAC_SYNC,OFF); } void DAC_DIN_1(void) {         GPIOPinWrite(GPIO_PORTA_BASE,DAC_DIN,DAC_DIN); } void DAC_DIN_0(void) {         GPIOPinWrite(GPIO_PORTA_BASE,DAC_DIN,OFF); } void Delay_DA8552(void) {         uint32 j;    for(j=0;j<5000;j++)    {    } } void DAC(int channel_A_B,double vol) {     unsigned int i=0,data=0,channel=channel_A_B;     data=(unsigned int)((vol/5.0)*65536);     DAC_SYNC_0();     DAC_SYNC_1();     Delay_DA8552();     DAC_SYNC_0();     for(i=0;i<8;i++){       if((channel&0x80)==0x80) DAC_DIN_1();         else      DAC_DIN_0();         channel<<=1;         DAC_SCLK_1();         Delay_DA8552();         DAC_SCLK_0();      }     for(i=0;i<16;i++){       if((data&0x8000)==0x8000) DAC_DIN_1();         else DAC_DIN_0();         data<<=1;         DAC_SCLK_1();         Delay_DA8552();         DAC_SCLK_0();       } }复制代码 从430转过来的用GPIO模拟SPI通讯,这个是给DAC的,其他通讯类似。  详情 回复 发表于 2015-7-23 19:19
 
点赞 关注

回复
举报

38

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
可以用GPIO来模拟SPI总线
 
 

回复

7

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
求代码啊!
 
 
 

回复

38

帖子

0

TA的资源

一粒金砂(中级)

4
 
  1. #define DAC_SCLK GPIO_PIN_3
  2. #define DAC_SYNC GPIO_PIN_4
  3. #define DAC_DIN  GPIO_PIN_2
  4. #define OFF      0

  5. void IO_Init(void)
  6. {
  7.         SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);
  8.         GPIOPinTypeGPIOOutput(GPIO_PORTA_BASE, GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4);

  9.         DAC_SCLK_0();
  10.         DAC_SYNC_0();
  11.     DAC_DIN_0();
  12. }

  13. void DAC_SCLK_1(void)
  14. {
  15.         GPIOPinWrite(GPIO_PORTA_BASE,DAC_SCLK ,DAC_SCLK);
  16. }

  17. void DAC_SCLK_0(void)
  18. {
  19.         GPIOPinWrite(GPIO_PORTA_BASE,DAC_SCLK ,OFF);
  20. }

  21. void DAC_SYNC_1(void)
  22. {
  23.         GPIOPinWrite(GPIO_PORTA_BASE,DAC_SYNC,DAC_SYNC);
  24. }

  25. void DAC_SYNC_0(void)
  26. {
  27.         GPIOPinWrite(GPIO_PORTA_BASE,DAC_SYNC,OFF);
  28. }


  29. void DAC_DIN_1(void)
  30. {
  31.         GPIOPinWrite(GPIO_PORTA_BASE,DAC_DIN,DAC_DIN);
  32. }

  33. void DAC_DIN_0(void)
  34. {
  35.         GPIOPinWrite(GPIO_PORTA_BASE,DAC_DIN,OFF);
  36. }

  37. void Delay_DA8552(void)
  38. {
  39.         uint32 j;
  40.    for(j=0;j<5000;j++)
  41.    {

  42.    }
  43. }

  44. void DAC(int channel_A_B,double vol)
  45. {
  46.     unsigned int i=0,data=0,channel=channel_A_B;
  47.     data=(unsigned int)((vol/5.0)*65536);

  48.     DAC_SYNC_0();
  49.     DAC_SYNC_1();
  50.     Delay_DA8552();
  51.     DAC_SYNC_0();

  52.     for(i=0;i<8;i++){
  53.       if((channel&0x80)==0x80) DAC_DIN_1();
  54.         else
  55.      DAC_DIN_0();
  56.         channel<<=1;
  57.         DAC_SCLK_1();
  58.         Delay_DA8552();
  59.         DAC_SCLK_0();
  60.      }

  61.     for(i=0;i<16;i++){
  62.       if((data&0x8000)==0x8000) DAC_DIN_1();
  63.         else DAC_DIN_0();
  64.         data<<=1;
  65.         DAC_SCLK_1();
  66.         Delay_DA8552();
  67.         DAC_SCLK_0();
  68.       }
  69. }
复制代码



从430转过来的用GPIO模拟SPI通讯,这个是给DAC的,其他通讯类似。
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(初级)

5
 
谢谢
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(初级)

6
 
SPI总线不是有四线吗?SCLK,MOSI,MISO,SS
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表