當前位置:編程學習大全網 - 編程軟體 - 怎麽樣在C語言中將並口數據轉成串口數據?

怎麽樣在C語言中將並口數據轉成串口數據?

單片機模擬類似壹個I2C主控端,使用兩根信號線,壹根SDA,壹根SCL,這種方法需要外設提供SCL時鐘信號,並且提供I2C通訊發起信號和反饋機制,也許不能滿足妳的需求。

壹個比較簡單的方法是:

1根CS線,外設控制,壹個下降沿時,允許單片機輸出P1口的狀態,(當然也可以用電平方式,實現連續發送),這個由妳定義,如果接在INT0,INT1等外部中斷口上更好,可以用中斷來實時發送

1根SDA線,串行數據發送線

1根SCL線,串行同步時鐘信號線

現在不考慮CS線的實現過程:電平方式可以通過循環查詢來實現,下降沿的話用中斷比較好實現。只考慮發送的過程

sbit SCL = P2^1;

sbit SDA = P2^0;

void sendP1(void)

{

unsigned char p1;

unsigned char i;

P1 = 0xFF; //讀之前全送1哦,為什麽?妳知道的

p1 = P1;

//SCL初始狀態為高電平1,高位先發

for(i=0;i<8;i++)

{

p1 <<= 1;

SDA = CY; //實踐證明這種方法簡單高效,不會發生什麽意外,即使是被中斷打斷了,也會恢復PSW的,不是嗎?

SCL = 0;

_nop_();

_nop_();

SCL = 1;

}

}

  • 上一篇:acc自適應巡航怎樣設置?
  • 下一篇:中文編程功能
  • copyright 2024編程學習大全網