亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

一個關于spi驅動外設的問題。

[復制鏈接]
跳轉到指定樓層
樓主
ID:76986 發表于 2015-4-14 23:20 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
我現在要用51單片機驅動一個adc(adc5310),要把cs拉低,clk發送時鐘,data發生數據,數據在clk的上升沿取樣(原本是下降沿,現在在adc的clk前加了一個反相器),一共要發送16位數據,現在用I/O來模擬不行,用spi模塊也不行,為什么?下面是我寫的兩個驅動函數,有人能看出問題出在哪里嗎?
void writead5310()
{
signed char i;
   cs=1;
   sclk=0
Delay2us()
cs=0;
for(i=15;i>=1;i--)
{
switch(i)
{
case 1:Delay2us();sclk=0;din=0;Delay2us();sclk=1;Delay2us();sclk=0;din=0;Delay2us();sclk=1;break;
case 2:Delay2us();sclk=0;din=1;Delay2us();sclk=1;break;
case 3:Delay2us();sclk=0;din=1;Delay2us();sclk=1;break;
case 4:Delay2us();sclk=0;din=1;Delay2us();sclk=1;break;
case 5:Delay2us();sclk=0;din=1;Delay2us();sclk=1;break;
case 6:Delay2us();sclk=0;din=1;Delay2us();sclk=1;break;
case 7:Delay2us();sclk=0;din=1;Delay2us();sclk=1;break;
case 8:Delay2us();sclk=0;din=1;Delay2us();sclk=1;break;
case 9:Delay2us();sclk=0;din=1;Delay2us();sclk=1;break;
case 10:Delay2us();sclk=0;din=1;Delay2us();sclk=1;break;
case 11:Delay2us();sclk=0;din=1;Delay2us();sclk=1;break;
case 12:Delay2us();sclk=0;din=0;Delay2us();sclk=1;break;
case 13:Delay2us();sclk=0;din=0;Delay2us();sclk=1;break;
case 14:Delay2us();sclk=0;din=0;Delay2us();sclk=1;break;
case 15:din=0;Delay2us();sclk=1;break;
}
}
cs=1;
sclk=0;
}
  void SPI_SendByte(unsigned int dt)//網卡工作在SPI協議的從模式0:數據在時鐘的上升沿鎖定,下降沿輸出
{
unsigned char y;
   cs=1;
   sclk=0;
Delay2us();
cs=0;
for(y=16;y>0;y--)
{
  if(dt&0x8000)
  {
   
      din=1;

  }
  else
  {
   
      din=0;

  }
  sclk=1;
  dt <<= 1;
  sclk=0;
}
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表