数字电位器isl22414经常写不进值,有用过的么?

2020-02-09 09:34发布

我用的是PIC18单片机,时序也是按照22414上写的,写不进值和什么有关系?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
wing78
1楼-- · 2020-02-09 10:02
#include <p18cxxx.h>
#include <spi.h>
#include <delays.h>
#include<adc.h>
#include "amr.h"


#define   select_22414                        PORTDbits.RD7
#define   select_1340                        PORTDbits.RD3
#define   select_sd                                PORTDbits.RD0
#define          select_eeprom                        PORTCbits.RC1

void Spi_Init();
void R22414_Init();
void System_Init();



unsigned int k=0,k1=0,k0=0;
unsigned int k4=0;
unsigned char uu=0,i=0,uu1=0;

void main()
{
    ADCON1 = 0x0F ;  
        System_Init();
        Spi_Init();                                                                                                          
        R22414_Init();

        for(k=0;k<16;k++)
        {       
                uu=16*k;
                select_22414=0;
                WriteSPI(0xC0);
                WriteSPI(uu);
                uu1=ReadSPI();
                select_22414=1;
        Delay10KTCYx(200);
        }
        Delay10KTCYx(100);
        WriteSPI(0xC0);
        WriteSPI(233);  
        Delay10KTCYx(10);
}
void System_Init()
{
        TRISCbits.TRISC3 = 0;                 //选SPI接口器件
          TRISCbits.TRISC5 = 0;
          TRISCbits.TRISC4 = 1;
        TRISDbits.TRISD7 = 0;
        TRISDbits.TRISD3 = 0;
        TRISDbits.TRISD0 = 0;
        TRISCbits.TRISC1 = 0;
}
void Spi_Init()
{
        OpenSPI(SPI_FOSC_64, MODE_00, SMPMID); //配置SPI接口,注意MODE要选00,否则不通
}



void R22414_Init()
{
        uu=0;
        PORTDbits.RD3=1;
        PORTDbits.RD0=1;
        PORTCbits.RC1=1;
        select_22414=1;
Delay1KTCYx(30);
                select_22414=0;
                WriteSPI(0x60);
                WriteSPI(0xc0);
                Delay10KTCYx(200);
                uu=ReadSPI();
                uu=ReadSPI();
                select_22414=1;
                Delay10KTCYx(200);               

        select_22414=0;
        WriteSPI(0xC0);
        WriteSPI(0xAF);//初始值为66%
        uu=ReadSPI();
        select_22414=1;
        Delay10KTCYx(200);
}
wing78
2楼-- · 2020-02-09 10:55
这是我写的程序,不知道哪出了问题。谢谢了!
wing78
3楼-- · 2020-02-09 13:45
已解决,是那芯片比较~~~
gxy508
4楼-- · 2020-02-09 14:30
 精彩回答 2  元偷偷看……
my2009
5楼-- · 2020-02-09 18:43
mark

一周热门 更多>