IO口上沒有接上拉電阻,通過245與CH376S連接。
數(shù)據線IO平時置為推挽輸出,讀數(shù)據的時候先置為浮空輸入,然后讀,讀完再切換到推挽輸出。
目前的現(xiàn)象是寫入命令、數(shù)據,然后讀到的返回數(shù)據和之前發(fā)送的數(shù)據是一樣的。
?
請問,
1)如果不改硬件的情況下,造成這樣的原因可能是什么?
2)有沒有類似的源碼,發(fā)給我一份個人信息保護,已隱藏
3)謝謝
IO口上沒有接上拉電阻,通過245與CH376S連接。
數(shù)據線IO平時置為推挽輸出,讀數(shù)據的時候先置為浮空輸入,然后讀,讀完再切換到推挽輸出。
目前的現(xiàn)象是寫入命令、數(shù)據,然后讀到的返回數(shù)據和之前發(fā)送的數(shù)據是一樣的。
?
請問,
1)如果不改硬件的情況下,造成這樣的原因可能是什么?
2)有沒有類似的源碼,發(fā)給我一份個人信息保護,已隱藏
3)謝謝
245是什么?A0 CS WR RD 初始化推挽輸出,PORT初始化普通輸入。大致流程如下:
{
??? CSLOW();
??? SetWR();
??? SetRD();
??? SetPortIn();
}
WriteCommand(u8 cmd)
{
??? A0set(1);
??? ClrWR();
??? SetPortOut();
??? SetData(cmd);
??? SetWR();
??? SetPortIn();
??? Delay_us(2);
}
void WriteData(u8 value)
{
??? A0set(0);
??? ClrWR();
??? SetPortOut();
??? SetData(value);
??? SetWR();
??? SetPortIn();?
??? Delay_us(1);
}
u8 ReadByte(void)
{
??? u8 temp;
??? Delay_us(1);
??? A0set(0);
??? ClrRD();
??? temp = GetData();
??? SetRD();
??? return temp;
}
HC245
我的數(shù)據口還有別的用處,所以平時是輸出狀態(tài),只有和376通訊讀數(shù)據時才置為輸入狀態(tài)一下