久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2666|回復: 1
打印 上一主題 下一主題
收起左側

關于AD7193的驅動 stm8s單片機SPI代碼編寫問題

[復制鏈接]
跳轉到指定樓層
樓主
ID:610433 發表于 2019-10-10 16:59 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
下了官方的驅動,但是spi初始化以及讀取自己寫的,出現了問題,關于spi不太懂他的步驟看一下我哪里寫錯了?

unsigned char SPI_Read7193(unsigned char slaveDeviceId,
                       unsigned char* data,
                       unsigned char bytesNumber)
{
  unsigned char byte = 0;
  if(slaveDeviceId == AD7193_SLAVE_ID)PMOD1_CS_LOW;

  for(byte = 0; byte < bytesNumber; byte++)
  {
    while(SPI_GetFlagStatus(SPI_FLAG_RXNE) == RESET);
    *data++ = SPI_ReceiveData();

  }
  if(slaveDeviceId == AD7193_SLAVE_ID)PMOD1_CS_HIGH;

  return bytesNumber;
}


unsigned char SPI_Write7193(unsigned char slaveDeviceId,
                        unsigned char* data,
                        unsigned char bytesNumber)
{
  unsigned char byte = 0;
  if(slaveDeviceId == AD7193_SLAVE_ID)PMOD1_CS_LOW;

  for(byte = 0; byte < bytesNumber; byte++)
  {
    while(SPI_GetFlagStatus(SPI_FLAG_TXE) == RESET);
    SPI_SendData(*data++);

  }
  if(slaveDeviceId == AD7193_SLAVE_ID)PMOD1_CS_HIGH;

  return bytesNumber;
}





這個是官方給的別的單片機的例子,我不太了解這個單片機和寄存器,你們可以參考一下


unsigned char SPI_Read(unsigned char slaveDeviceId,
                       unsigned char* data,
                       unsigned char bytesNumber)
{
    unsigned char byte = 0;

    if(slaveDeviceId == 1)
    {
        PMOD1_CS_LOW;
    }
    if(slaveDeviceId == 2)
    {  
        ST7579_CS_LOW;
    }
    for(byte = 0; byte < bytesNumber; byte++)
    {
        SIO10 = data[byte];
        __no_operation();
        __no_operation();
        while(SSR02 & 0x0040);
        data[byte] = SIO10;
    }
    if(slaveDeviceId == 1)
    {
        PMOD1_CS_HIGH;
    }
    if(slaveDeviceId == 2)
    {
        ST7579_CS_HIGH;
    }

    return bytesNumber;
}

/***************************************************************************//**
* @brief Writes data to SPI.
*
* @param slaveDeviceId - The ID of the selected slave device.
* @param data - Data represents the write buffer.
* @param bytesNumber - Number of bytes to write.
*
* @return Number of written bytes.
*******************************************************************************/
unsigned char SPI_Write(unsigned char slaveDeviceId,
                        unsigned char* data,
                        unsigned char bytesNumber)
{
    unsigned char byte = 0;
    unsigned char read = 0;

    if(slaveDeviceId == 1)
    {
        PMOD1_CS_LOW;
    }
    if(slaveDeviceId == 2)
    {        
        ST7579_CS_LOW;          // Assert CS low
    }
    for(byte = 0; byte < bytesNumber; byte++)
    {
        SIO10 = data[byte];
        __no_operation();
        __no_operation();
        while(SSR02 & 0x0040);
        read = SIO10;
    }
    if(slaveDeviceId == 1)
    {
        PMOD1_CS_HIGH;
    }
    if(slaveDeviceId == 2)
    {
        ST7579_CS_HIGH;         // Assert CS high      
    }

    return bytesNumber;
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:282850 發表于 2019-10-11 09:23 | 只看該作者
同系列的SPI都會不同,如MSP430的F149 與F2553程序差異大,你問題又沒說清,沒人能幫你
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲播放一区 | 精品美女视频在线观看免费软件 | 亚洲精品一区二区网址 | 国产精品小视频在线观看 | 欧美成人精品一区二区男人看 | 久久y| 亚洲视频中文字幕 | 国产激情综合五月久久 | 免费毛片网站 | 日韩在线一区二区三区 | 亚洲视频在线看 | 91精品国产美女在线观看 | 久久免费精品 | 久久亚洲天堂 | 99精品视频在线观看免费播放 | 中文字幕在线观看国产 | 久久久久久久久淑女av国产精品 | 雨宫琴音一区二区在线 | 精品国产乱码一区二区三 | 色资源在线视频 | 成人国产精品久久 | 天天久久 | 美女视频h | 91 中文字幕| 99热免费在线 | 国产精品99精品久久免费 | 国产91在线视频 | 草草网| 日韩中文字幕一区二区 | 欧美激情 一区 | 国产精品久久久久久久岛一牛影视 | 国产精品久久久久999 | 日韩福利电影 | 国产精品69av | 国产 欧美 日韩 一区 | 一区中文| 欧美一区二区三区在线视频 | 毛色毛片免费看 | 欧美综合国产精品久久丁香 | 成人一区二 | 天天影视网天天综合色在线播放 |