Re: [問題] 串列輸入控制顯示器 (已追加IC情報)
※ 引述《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
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 3 篇):
ASM 近期熱門文章
PTT數位生活區 即時熱門文章