→ duffrose:在delay裡面作判斷的動作即可,要注意指令週期 12/11 10:19
※ 引述《icetofux (豆腐)》之銘言:
: 處理完資料輸出後,接著問題就很簡單了,我還需要一個clock output來讓接收端
: 讀取資料,依照硬體設計者的想法,傳送資料主要是靠一個data output及一個clock
: output來處理,當clock為上升緣時,則接收data output放出的資料,大致上像是這
: 樣:
: ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐
: clock ─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └──
: 0 0 1 1 0 0 1 1
: data ┌───────┐ ┌───────┐
: ────────┘ └───────┘ └─
: 上面靠著大家的幫
: 忙,已經把data output(PORT2.1)架構描繪出來了,clock output基本上也不難,
: 若要產生方波,只需要重複對clock output做clr->delay->sebt->delay重複動作即
: 可,假設我的clock output為PORT2.0,程式大致上是:
: CLOCK: CLR P2.0
: CALL DELAY
: SEBT P2.0
: CALL DELAY
: JMP CLOCK
: 即可產生從負緣開始,時間長2*DELAY的方波,然而程式整合上卻發現了一點小問題:
: 程式的執行是由上往下執行的,我要如何讓兩個完全不同動作的程式片段同時執行呢?
: 先呼叫CLOCK程式段的話,如果不結束CLOCK就不會向下執行DATA OUTPUT程式段,如果
: 結束了CLOCK,資料又因為沒有CLOCK而沒辦法被後端應用線路讀入,請問有辦法讓兩個
: 程式段"同時"進行嗎?
如果你要同時的話...
google一下〝FPPA〞...
他標榜是八核心...每個核心都等同於是一顆獨立的單晶片...
所以要同時進行沒有問題...
不過這個不好買...不像8051普及...
開發上可能還要花點時間...
如果可以容忍稍微的不同步...
那就把clock跟output混著寫吧...
一個output的工作週期大概多少先訂出來...
假設output一個bit的時間大約4個clock...
那就跑四個clock之後判斷一個output的狀態...
跑出來的波型會有那麼一點不同步...
不過寫的好的話應該可以在容忍範圍之內...
--
▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
國 立 聯 合 大 學
(理工/電資/管理/技術/客家)院所 招生中
National United University
───────────────────────────────────
首頁 http://www.nuu.edu.tw BBS telnet://uun.twbbs.org
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.133.140.180