我想寫一個函數發送一個16位字並將其存儲在另一個變量中。我想要做的就是接受這個詞,並且一次一個位地將數據傳輸(寫入)到新變量中。C:如何以遞歸方式逐位傳輸字節?
如果這可以遞歸地完成,這也會很棒。因此,例如我具有SendCommand(uint32_t addr,uint16_t data)函數,並且在傳輸了一位後,可以移位字節並且可以使用新數據再次調用該函數。
我的問題是:
- 我如何提取,每次寫入新的變量一個位?
- 什麼是可能的方式來確定單詞的結尾,並停止調用該函數?
注:MSB第一
編輯:
我這樣做的原因是因爲我對於將接受這個數據的設備編寫僞代碼。現在在我的代碼中,我模擬一個時鐘,並且爲該設備指定的格式在時鐘的每個下降沿寫入一個位。
爲什麼遞歸? – 2014-10-09 14:33:24
...爲什麼一點一滴?解釋你想達到的目標。一點一點傳輸實質上歸結爲包含移位操作和掩碼操作的循環, – 2014-10-09 14:37:20
我正在爲將接受此數據的設備編寫僞代碼。現在在我的代碼中,我模擬一個時鐘,並且爲該設備指定的格式在時鐘的每個下降沿寫入一個位。我將用這些更新編輯問題 – 2014-10-09 14:39:29