Re: [問題] 串列輸入控制顯示器 (已追加IC情報)

看板ASM (組合語言)作者 (羊皮狼)時間15年前 (2009/09/18 21:50), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/3 (看更多)
※ 引述《beminaru》之銘言: 根據你給的IC資料,可以看得出來是半工的SPI通訊。 一開始看你程式覺得奇怪的是 da_data(int a) 段 SPI通訊特點是藉由Clock高至低或低至高的時候拿取資料。 注意圖2-2-2,你的IC則是Clock需至少維持tDS時間的Low與tDH時間的High 這段時間內的資料才視為有效。 所以程式應該改成: void da_data(int a) // set input data (DA) { for (i = 1; i <= 8; i++) // data length = 8 bits { cpb = 0; delay(0); // 這裡先拉為Low if(a & 0x01) //這邊送出有效資料 da = 1; else da = 0; a >>= 1; cpb = 1; delay(0); // 拉為High 結束這一 bit } } 不知道你的MCU運作時間是多長,資料上要求是300ns 所以delay(0)的部分可有可無。 可以的話先用邏輯分析儀試驗這段是否能夠正常按照SPI模式傳訊。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.68.231.105
文章代碼(AID): #1Aiv0vYt (ASM)
文章代碼(AID): #1Aiv0vYt (ASM)