日韩一区二区三区精品,欧美疯狂xxxxbbbb牲交,热99re久久免费视精品频,人妻互换 综合,欧美激情肉欲高潮视频

歷史上的今天

今天是:2025年08月08日(星期五)

2019年08月08日 | STM32 AD7792驅(qū)動調(diào)試總結(jié)

發(fā)布者:靜雅心靈 來源: eefocus關(guān)鍵字:STM32  AD7792  驅(qū)動調(diào)試 手機看文章 掃描二維碼
隨時隨地手機看文章

調(diào)了好久,終于通了。。為什么用了一周時間這么久?主要原因是我不知道隔離模塊有問題,導致一直是盲目的改代碼,今天沒辦法,直接把隔離模塊短路,一下子就讀出了ID號。

7792掛在SPI2上,PB12,PB13,PB14,PB15,可我用SPI調(diào)的時候一直讀出來是0XFF,以為是SPI2有問題,于是我直接拋棄SPI,用時序直接讀。很好用!??!

下面是我的代碼:

 

#define SCLOCK1   GPIO_SetBits(GPIOB,GPIO_Pin_13);
 #define SCLOCK0   GPIO_ResetBits(GPIOB,GPIO_Pin_13);

 #define CS1       GPIO_SetBits(GPIOB,GPIO_Pin_12);
 #define CS0       GPIO_ResetBits(GPIOB,GPIO_Pin_12);

 #define DIN1      GPIO_SetBits(GPIOB,GPIO_Pin_15);
 #define DIN0      GPIO_ResetBits(GPIOB,GPIO_Pin_15);

 #define DOUT1     GPIO_SetBits(GPIOB,GPIO_Pin_14);
 #define DOUT0     GPIO_ResetBits(GPIOB,GPIO_Pin_14);
void Delay(unsigned int Time)
{

    while(Time)
    {
        Time--;
    }
}
unsigned char DataRead[3];
void WriteToReg(unsigned char ByteData) // write ByteData to the register
{
    unsigned char temp;
    int i;    
    CS0;
    temp=0x80;
    for(i=0;i<8;i++)
    {
         if((temp & ByteData)==0)
        {        
              DIN0;
        }    
         else
        {
             DIN1;
         }
        SCLOCK0;
        Delay(10);
           SCLOCK1;
        Delay(10);
         temp=temp>>1;
    }
    CS1;
}


void ReadFromReg(unsigned char nByte) // nByte is the number of bytes which need to be read
{
    int i,j;
       unsigned char temp;
       DIN1;
     CS0;
    temp=0;
//    DOUT1;

    for(i=0; i    {
        for(j=0; j<8; j++)
        {
             SCLOCK0;
             if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_14)==0)
             {
                temp=temp<<1;
             }else
             {
                temp=temp<<1;
                 temp=temp+0x01;
            }
            Delay(10);
            SCLOCK1;
            Delay(10);
          }
          DataRead[i]=temp;
          temp=0;
    }
    CS1;
}
extern void SSD1305_ShowASC16(u8 x,u8 y,u8 len,unsigned char *str);
void task_7792(void* parameter)
{
    char str[20];
    short iData[3];
    int ResetTime;    
    /* PRECONFIGURE...*/
    ResetTime=32;

    SCLOCK1; 
     CS0;          //to keep DIN=1 for 32 sclock to reset the part
     DIN1;
     while(ResetTime--)
    {
        Delay(10);
        SCLOCK0;
        Delay(10);
         SCLOCK1;
    }
     CS1;    

    while(1)
    {
          WriteToReg(0x10); //write to Communication register.The next step is writing to Configuration register.
        WriteToReg(0x00); //set the Configuration bipolar mode.Gain=1.
        WriteToReg(0x80); //Configuration internal reference selected.     

        WriteToReg(0x08);//write to Communication register.The next step is writing to Mode register.
        WriteToReg(0x20);//set the mode register as single conversion mode.
        WriteToReg(0x00);//inter 64 kHZ clock.internal clock is not available at the clk pin.
        
        WriteToReg(0x40);//write to Communication register.The next step is to read from Status register.
        ReadFromReg(1);    
        while((DataRead[0]&0x80)==0x80)//wait for the end of convertion by polling the status register RDY bit
        {            
            WriteToReg(0x40); 
            ReadFromReg(1);    
        }
        WriteToReg(0x58);//write to Communication register.The next step is to read from Data register.
    //    WriteToReg(0x60) ;
        ReadFromReg(2);
        memcpy(&iData[0],&DataRead[0],2);    
        sprintf(str,"%d",iData[0]);
        SSD1305_ShowASC16(10,20,6,str) ;          
    //    printf("Data:%02BX %02BXrn",DataRead[0],DataRead[1]);     }
}

嗯。出來了。。。。下面 就是自己配置寄存器,看讀出來是哪個通道的值!


關(guān)鍵字:STM32  AD7792  驅(qū)動調(diào)試 引用地址:STM32 AD7792驅(qū)動調(diào)試總結(jié)

上一篇:關(guān)于stm32 hal 庫 iic 一直是 busy 問題
下一篇:[I2C應用實例]STM32+BH1750FVI光強檢測模塊

推薦閱讀

工業(yè)機器人技術(shù)特點 一般來說,工業(yè)機器人由3大部分6個子系統(tǒng)組成。3大部分是機械部分、傳感部分和控制部分。6個子系統(tǒng)可分為機械結(jié)構(gòu)系統(tǒng)、驅(qū)動系統(tǒng)、感知系統(tǒng)、機器人-環(huán)境交互系統(tǒng)、人機交互系統(tǒng)和控制系統(tǒng)。 根據(jù)上述結(jié)構(gòu)涉及到的技術(shù),總結(jié)出工業(yè)機器人技術(shù)主要有三大特點: 一是工業(yè)機器人集精密化、柔性化、智能化、應用開發(fā)等先進制造技術(shù)于...
AMD在具有百年歷史美國舊金山藝術(shù)宮正式發(fā)布了頗具有“暴力美學”第二代EPYC(霄龍)服務器處理器,這顆代號“Rome”的服務器芯片產(chǎn)品不僅是7nmX86服務器芯片的全球首發(fā),也是AMD在制程上首次超過英特爾,其在性能、架構(gòu)以及成本方面也帶來革命性的變革。 “這是全球性能最強的X86服務器芯片,沒有之一,我們已經(jīng)創(chuàng)造了80余項世界紀錄!我們將重塑現(xiàn)代數(shù)...
介紹一種簡潔、高效、靈活的ARM異常中斷處理方法。在ARM中,由于所有的中斷都使用同一個異常中斷入口地址,即0x00000018。因此需要在異常中斷處理程序中根據(jù)相應的中斷號調(diào)用對應的中斷服務函數(shù)。一般有兩種處理方式:1. 在匯編中保存現(xiàn)場,然后調(diào)用C語言編寫的中斷處理程序,任務處理完成之后,再返回到匯編中恢復現(xiàn)場,并返回到斷點。其中C語言編寫的中...
日前安世半導體(Nexperia)宣布再次榮膺“直接材料采購——移動解決方案”(Purchasing of direct materials – Mobility Solutions)類博世全球供應商獎。這也是安世半導體連續(xù)第二次獲得該獎。證明了該企業(yè)與全球領先的技術(shù)和服務供應商博世的長期良好合作關(guān)系。博世供應鏈管理主管 Arne Flemming 博士說: “我們頒發(fā)給博世全球供應商獎,并...

史海拾趣

問答坊 | AI 解惑

匯編語言入門教程

匯編語言入門教程…

查看全部問答∨

關(guān)于布線

2層,做到名片大小是沒問題的, 但必須調(diào)線。 給大家貼個例子, 基本完成的板子 名片大小,功能差不多, 多了lcd控制,cpu換at91sam7s64 咱這個,用兩個名片大小都沒關(guān)系,沒必要做這么小。 我這個有商業(yè)用途,才做這么小的。而且,將來可能 ...…

查看全部問答∨

windows usb driver

1,usb device包含兩個configurations, configuration 1是usb mass storage, configuration 2是一個自定義的function; 2, 默認會被windows識別為usb mass storage; 3, 現(xiàn)在需要切換到configuration2, 我發(fā)了set configuration 可以成功,但是似 ...…

查看全部問答∨

廣州誠招C程序員二名,并尋高手合作.

廣州單片機之家誠招C程序員兩名(有C++經(jīng)驗更佳):     目前主要從事游戲的設計工作,使用自有的e.Net(e時代的網(wǎng)絡語言,以C++基本語法為主)進行 視頻游戲的開發(fā),開發(fā)出的游戲在自有的從89C51到ARM到PC機各種硬件平臺上隨處可運行.其實 ...…

查看全部問答∨

MSP430單片機的雙機串口通訊

求有關(guān)MSP430單片機的雙機串口通訊的資料,最好能有程序,急~謝謝啦…

查看全部問答∨

關(guān)于ise

請問老師,怎么在ise中查看vhdl的程序包文件??…

查看全部問答∨

你對變壓器知識了解多少?來吧!有關(guān)變壓器的好資料在這里!

要學電源知識,要做電源產(chǎn)品,變壓器是必須要了解的,那你對變壓器知識了解多少?來吧!這里有個變壓器的好資料 …

查看全部問答∨

G2553的時鐘怎么配置啊。。。頭要炸了。。。

能不能上張圖,或者根據(jù)程序,講解一下。萬分感謝!!! DCO。。。B__CLK...…

查看全部問答∨
小廣播
設計資源 培訓 開發(fā)板 精華推薦

最新單片機文章

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發(fā)圈

 
機器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved