[PIC®/AVR®/dsPIC®产品] dispic33 IO口模模拟SPI

[复制链接]
 楼主| pandabin 发表于 2015-4-28 22:23 | 显示全部楼层 |阅读模式
问题题描述:Debugger模式下读取数据正常,而Programmer后,接收不到数据
部分程序如下:
  1. #define CLK            LATBbits.LATB12                //时钟
  2. #define DIN         LATBbits.LATB13                //数据输出
  3. #define DOUT        PORTBbits.RB14                //片选
  4. #define CS      LATBbits.LATB15            //数据输入

  5. /////////////////////////////////////////////////////////


  6. /////////////////////////////////////////////////////////
  7. ///TLC2543 12位AD操作程序
  8. //12 bit ,MSB first,unipolar
  9. unsigned int TLC2543(unsigned char chan)
  10. {
  11.         char i;
  12.         unsigned int result;
  13. //////////////////////////////////////////
  14.         CLK=0;
  15.         CS=0;       //低电平有效,开始转换
  16.         Delay_3n_nop(50);                                // 10us
  17.         for(i=0;i<12;i++)
  18.         {
  19.                 if(i<8)
  20.                 {      
  21.                         if((chan<<i)&0x80)
  22.             DIN=1;
  23.             else
  24.             DIN=0;
  25.                 }
  26.                 CLK=1;
  27.                 Delay_3n_nop(10);  //2u
  28.                 CLK=0;
  29.                 Delay_3n_nop(10);

  30.         }
  31.         CS=1;

  32. //延时10U秒以上,等待转换结束
  33.         Delay_3n_nop(200);                        // 40u
  34.         result=0;
  35.         CS=0;       //低电平有效,开始转换
  36.         Delay_3n_nop(50);
  37.         for(i=0;i<12;i++)
  38.         {
  39.         //        DOUT=1;
  40.                 CLK=1;
  41.                 Delay_3n_nop(10);
  42.                 result|=DOUT;
  43.                 if(i!=11)
  44.                 {
  45.                    result<<=1;
  46.                 }
  47.                 CLK=0;
  48.                 Delay_3n_nop(10);
  49.         }
  50.         CS=1;
  51.         return result;
  52. }


  53. AD1PCFGH = 0xffff;
  54.         AD1PCFGL = 0xffff;
  55.         TRISBbits.TRISB12 = 0;                        // 软件模拟SPI clk
  56.         TRISBbits.TRISB13 = 0;                        //                 DIN
  57.         TRISBbits.TRISB14 = 1;                        //                                 DOUT
  58.         TRISBbits.TRISB15 = 0;                        //                                ~CS 低电平使能


MPLAB IDE 8.9 compile 30 kit3
 楼主| pandabin 发表于 2015-5-1 19:47 | 显示全部楼层
2:对于具有2个模数转换模块的器件,AD1PCFGL和AD2PCFGL都会影响与AN0-AN15复用的端口引脚的
配置。
引脚配置问题,AN1--AN15被AD1和AD2复用,所以要将AD1PCFGL和AD2PCFGL相应管脚都置一,关闭模拟功能
JY-DX-JY 发表于 2015-5-2 14:16 | 显示全部楼层
配置位对吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

14

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部