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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 10305|回復(fù): 9
打印 上一主題 下一主題
收起左側(cè)

求助!宏晶stc15單片機(jī)spi主從通訊問題,請(qǐng)進(jìn)來!萬謝!

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:87448 發(fā)表于 2015-10-4 01:35 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
大假小弟哪都沒去,在家調(diào)試了很久,確實(shí)很疲憊,半個(gè)月的努力沒見成效,求助萬能的礦石請(qǐng)同學(xué)們指教!
      主從單片機(jī)的項(xiàng)目都成了,但是總是發(fā)現(xiàn)從機(jī)結(jié)果偶爾不對(duì),很不可靠,寫了這兩段主,從程序,通過串口助手觀察發(fā)現(xiàn)總會(huì)掉碼,很多地方都試圖加了延時(shí),還是不見成效!
      主從通訊都已經(jīng)是128的分頻了,怎么還會(huì)這樣?主機(jī)144字節(jié)的數(shù)組占用的是內(nèi)部擴(kuò)展RAM,通過spi發(fā)送到從機(jī)內(nèi)部的擴(kuò)展RAM,144個(gè)字節(jié)就差不多10%掉了,這是怎么回事?萬分感謝!!!!!!!!


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

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:87448 發(fā)表于 2015-10-4 01:37 | 只看該作者
/芯片的工作頻率為22.1184MHz 主機(jī)源碼
#include<STC15F2K60S2.H>
#include <INTRINS.H>
#include<ABSACC.H>
#include<STDIO.H>
#include "AD_SPI.H"

#include "AD_UartInit.H"
       
#define  ulong unsigned long          // 4 byte
#define  uint unsigned int                   //2 byte                 0-65535
#define  uchar unsigned char                 // byte                 0-255
#define  nop8();  {_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();};
void Delay20us();
void Delay50ms();
uchar  *AD_array_point;
uchar xdata AD_ZERO[144]  _at_ 0x20;

uchar k,i,j;
void main()
{
     Delay50ms();
     AD_UartInit();
     AD_InitSpi();
     IE2 |= ESPI;
     EA = 1;
         
         while(1){
             for(j=0;j<144;j++)         //RAM初始化
      {
     AD_ZERO[j]=0;
      }
         
         /**********************/
         while(!RI);         //*****
         RI=0;
         
         
         for(k=0;k<144;k++)                 //72通道采樣
         {
         AD_ZERO[k]= k;
         
         }
         /********發(fā)送數(shù)組到從機(jī)***************/
         AD_array_point=AD_ZERO;          //定位調(diào)零數(shù)組
         for(k=0;k<144;k++)
         {
         SS=0;
         SPDAT=*AD_array_point;
         AD_array_point++;
         Delay20us();
         Delay20us();
         Delay20us();
         Delay20us();
         Delay20us();
         Delay20us();
         
         }
         /***********顯示發(fā)送到從機(jī)的數(shù)組*********************/
         AD_array_point=AD_ZERO;
         for(k=0;k<144;k++)
         {
          TI=1;
          printf("0X%bx\n",AD_ZERO[k]); //0928屏蔽
         
         }
         
    }
}



void Delay50ms()                //@22.1184MHz
{
        unsigned char i, j, k;

        _nop_();
        _nop_();
        i = 5;
        j = 52;
        k = 195;
        do
        {
                do
                {
                        while (--k);
                } while (--j);
        } while (--i);
}

void spi_isr() interrupt 9 using 1     //SPI中斷服務(wù)程序 9 (004BH)
{
          
        SPSTAT = SPIF | WCOL;       //清除SPI狀態(tài)位
        SS = 1;                  //拉高從機(jī)的SS
       
}
void Delay20us()                //@22.1184MHz
{
        unsigned char i;

        i = 108;
        while (--i);
}




回復(fù)

使用道具 舉報(bào)

板凳
ID:87448 發(fā)表于 2015-10-4 01:37 | 只看該作者
//從機(jī)源碼
#include <STC15F2K60S2.H>
#include <STDIO.H>
#include "AD_UartInit.H"


uchar j;
void main()
{
DA_Pointer_Array= DA_Array;
DA_InitSpi();
AD_UartInit();
SPI_receive=0;
IE2=IE2|ESPI;   //使能SPI中斷
EA=1;


while(1){
             
       for(j=0;j<144;j++)         //RAM初始化
       {
       DA_Array[j]=0;
       }          

          while(!RI);
          RI=0;
          for(j=0;j<144;j++)
          {
          TI=1;
          printf("0x%bx\n",DA_Array[j]);
          }
          DA_Pointer_Array= DA_Array;
        }
}

  void spi_isr() interrupt 9 using 1     //SPI中斷服務(wù)程序 9 (004BH)
{

        SPSTAT = SPIF | WCOL;       //清除SPI狀態(tài)位 0XC0
           *DA_Pointer_Array=SPDAT;
        DA_Pointer_Array++;
       
}


回復(fù)

使用道具 舉報(bào)

地板
ID:87448 發(fā)表于 2015-10-5 01:12 | 只看該作者
問題已經(jīng)找到
回復(fù)

使用道具 舉報(bào)

5#
ID:87448 發(fā)表于 2015-10-5 01:13 | 只看該作者
已經(jīng)完美
回復(fù)

使用道具 舉報(bào)

6#
ID:90789 發(fā)表于 2015-10-5 15:41 來自觸屏版 | 只看該作者
剛想請(qǐng)教
回復(fù)

使用道具 舉報(bào)

7#
ID:1 發(fā)表于 2015-10-6 14:59 來自觸屏版 | 只看該作者
zhou792008 發(fā)表于 2015-10-5 01:13
已經(jīng)完美

怎么解決的,樓主能分享一下嗎。期待
回復(fù)

使用道具 舉報(bào)

8#
ID:87448 發(fā)表于 2015-10-7 20:09 | 只看該作者
admin 發(fā)表于 2015-10-6 14:59
怎么解決的,樓主能分享一下嗎。期待


回復(fù)

使用道具 舉報(bào)

9#
ID:87448 發(fā)表于 2015-10-7 20:10 | 只看該作者
datasheet沒仔細(xì)看 結(jié)果15f從機(jī)本身就不正常!換了15w就解決了
回復(fù)

使用道具 舉報(bào)

10#
ID:385637 發(fā)表于 2020-7-18 10:12 | 只看該作者
那就是代碼沒問題,是STC芯片的問題嘍
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲欧洲日本国产 | 欧美成人高清视频 | 视频一区中文字幕 | 9191在线观看 | 久久久久久电影 | 午夜网 | 久久精品久久久久久 | 国产欧美日韩综合精品一 | 在线观看视频亚洲 | 欧美成视频 | 国产精品区一区二区三 | 成人一区二区三区在线观看 | 在线观看成人精品 | 在线视频国产一区 | 青青草av| 色男人天堂av | 一区二区免费视频 | 资源首页二三区 | 久久久久国产精品一区二区 | 亚州精品天堂中文字幕 | 亚洲一区二区三区高清 | 国产一区二区三区视频 | 日韩欧美大片在线观看 | 国产黄a一级 | 日韩在线成人 | 国产成人精品一区二 | 国产成人精品一区二 | 日本a∨视频 | 国产免费播放视频 | 欧美二区在线 | 久久9精品 | 影视先锋av资源噜噜 | 亚洲精品国产成人 | 久久大全 | av一区二区三区四区 | 亚洲精品在线观看网站 | 亚洲精品久久久一区二区三区 | 丝袜久久 | 久久久久久久久久久久久久久久久久久久 | 欧美一二三区 | 国产日韩一区二区三免费 |