打印
[PIC®/AVR®/dsPIC®产品]

dispic33 IO口模模拟SPI

[复制链接]
1991|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pandabin|  楼主 | 2015-4-28 22:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题题描述:Debugger模式下读取数据正常,而Programmer后,接收不到数据
部分程序如下:
#define CLK            LATBbits.LATB12                //时钟
#define DIN         LATBbits.LATB13                //数据输出
#define DOUT        PORTBbits.RB14                //片选
#define CS      LATBbits.LATB15            //数据输入

/////////////////////////////////////////////////////////


/////////////////////////////////////////////////////////
///TLC2543 12位AD操作程序
//12 bit ,MSB first,unipolar
unsigned int TLC2543(unsigned char chan)
{
        char i;
        unsigned int result;
//////////////////////////////////////////
        CLK=0;
        CS=0;       //低电平有效,开始转换
        Delay_3n_nop(50);                                // 10us
        for(i=0;i<12;i++)
        {
                if(i<8)
                {      
                        if((chan<<i)&0x80)
            DIN=1;
            else
            DIN=0;
                }
                CLK=1;
                Delay_3n_nop(10);  //2u
                CLK=0;
                Delay_3n_nop(10);

        }
        CS=1;

//延时10U秒以上,等待转换结束
        Delay_3n_nop(200);                        // 40u
        result=0;
        CS=0;       //低电平有效,开始转换
        Delay_3n_nop(50);
        for(i=0;i<12;i++)
        {
        //        DOUT=1;
                CLK=1;
                Delay_3n_nop(10);
                result|=DOUT;
                if(i!=11)
                {
                   result<<=1;
                }
                CLK=0;
                Delay_3n_nop(10);
        }
        CS=1;
        return result;
}


AD1PCFGH = 0xffff;
        AD1PCFGL = 0xffff;
        TRISBbits.TRISB12 = 0;                        // 软件模拟SPI clk
        TRISBbits.TRISB13 = 0;                        //                 DIN
        TRISBbits.TRISB14 = 1;                        //                                 DOUT
        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

粉丝